DeveloperJobs.io
← Back to all jobs

Job Description

As a Software Engineer I, you will build and support Linux-based crane operator displays for The Manitowoc Company. The role focuses on designing and testing Qt/QML and C++ applications, integrating them with crane control systems across Ethernet and CAN-based communications, and participating in verification and validation activities.

Role Responsibilities

  • Design, develop, test, and maintain software for Linux-based operator display systems.
  • Create graphical user interfaces using Qt and QML.
  • Work 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 with software requirements, test plans, and technical documentation.
  • Investigate software issues and support troubleshooting during both development and production.
  • Communicate project status, technical findings, and recommendations to project teams.
  • Follow safety requirements and comply with company safety policies and training obligations.

Required Qualifications

  • 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.

Technologies and Tools

The position involves working with Linux, Qt, QML, and C++, as well as Ethernet, CAN, and related communication concepts. Relevant tools and platforms include GDB, Valgrind, Git, J1939, CANopen, MQTT, Python, Jenkins, XML, SWL, SWLite, and Linux Command Line tools. Additional practices and workflows may include AI-assisted development tools, unit testing, continuous integration, and code reviews.

Preferred Qualifications

  • 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.
  • Knowledge of 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, and XML.
  • Internship, co-op, Formula SAE, robotics, senior design, or personal software development projects.
  • Familiarity with databases such as SWL and SWLite.
  • Comfortable using Linux Command Line tools.
  • Knowledge about applying AI-assisted development tools for software design, code generation, verification, debugging, and documentation.
  • Experience working in a team with other developers and contributors.

Location and Work Arrangement

Shady Grove, PA (onsite)

Similar Jobs