Software Engineer I

The Manitowoc Company•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 focuses on designing, developing, and testing user interface applications using Qt/QML and C++, integrating display software with crane control systems over Ethernet networks, and supporting software verification and validation activities. The position also involves collaborating on new features and product improvements, participating in testing across simulation environments, test benches, and crane testing, helping prepare software requirements and technical documentation, and investigating software issues during development and production. The employee is expected to communicate project status and technical findings and comply with company safety policies and training requirements.

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, including use of 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 SQL and SQLite.
  • Comfort using Linux command-line tools.
  • Knowledge of applying AI-assisted development tools for software design, code generation, verification, debugging, and documentation.
  • Experience working on 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.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service