Software Engineer Jobs

10,000 jobs found — updated daily

Software Engineer I

Manitowoc•Greencastle, PA

About The Position

Work with a team of software, controls, and systems engineers to develop and support Manitowoc's Linux-based crane operator displays and user interfaces. These displays are the primary interaction point between the crane operator and the machine's control system. The role involves designing, developing, and testing user interface applications with Qt/QML and C++, integrating display software with crane control systems over Ethernet networks, and supporting software verification and validation.

Requirements

  • Bachelor's degree in Computer Science, Computer Engineering, Software Engineering, or a related field.
  • Coursework and/or experience using C++ through academic projects, internships, co-ops, personal projects, or professional work.
  • Understanding of object-oriented programming principles.
  • Strong problem-solving and debugging skills using tools such as GDB and Valgrind.
  • Familiarity with source control tools such as Git.
  • Interest in embedded systems, Linux, and user interface development.

Nice To Haves

  • Experience with Qt and/or QML.
  • Experience working in a Linux development environment.
  • Knowledge of Ethernet networking fundamentals.
  • Familiarity with MQTT or client/server software architectures.
  • Familiarity with embedded systems and real-time software concepts.
  • Familiarity with software development practices such as source control, code reviews, unit testing, and continuous integration.
  • Knowledge of CAN communications, J1939, or CANopen.
  • Experience with Python, Jenkins, or XML.
  • Internship, co-op, Formula SAE, robotics, senior design, or personal software development project experience.
  • Familiarity with databases such as SWL and SWLite.
  • Comfort using Linux command-line tools.
  • Knowledge of applying AI-assisted development tools for software design, code generation, verification, debugging, and documentation.
  • Experience working in a team with other developers and contributors.

Responsibilities

  • Design, develop, test, and maintain software for Linux-based operator display systems.
  • Develop graphical user interfaces using Qt and QML technologies.
  • Collaborate with controls, systems, and software engineers to implement new features and product improvements.
  • Support integration of display applications with distributed control systems using Ethernet and CAN-based communications.
  • Participate in software verification activities using simulation environments, test benches, and crane testing.
  • Assist in developing software requirements, test plans, and technical documentation.
  • Investigate software issues and support troubleshooting during development and production.
  • Communicate project status, technical findings, and recommendations to project teams.
  • Work safely and comply with company safety policies and training requirements.

Career Resources

Build a Resume for Software Engineer

The resume builder that gets results.

  • Get clear feedback so you look as qualified as you are
  • Align your resume with the job to get further in the process, faster
  • Take the guesswork out of resume writing

Explore Related Job Searches

© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service