Software Engineer
Role details
Job location
Tech stack
Job description
Trane Technologies is currently seeking a Software Engineer who will be responsible for developing embedded HMI systems in Qt/C++ and Python, building custom Yocto Linux distributions, and managing our embedded cybersecurity program while ensuring all software development efforts are supported by thorough documentation, rigorous testing practices, and comprehensive risk analysis.
What you will do:
-
Qt/C++ | Embedded Linux along with the following:
-
Application Development
-
Design and develop high-performance Qt/C++ applications for embedded HMI systems on industrial touchscreen panels
-
Create responsive, touch-optimized user interfaces using Qt Quick/QML for real-time monitoring dashboards
-
Implement efficient data visualization components for temperature trends, alarms, and equipment status
-
Develop cross-platform applications targeting both embedded Linux devices and desktop environments
-
Optimize Qt applications for resource-constrained embedded systems (memory footprint, startup time, rendering performance)
-
Integrate Qt applications with backend services via REST APIs, WebSockets, and MQTT
-
Yocto Linux & Embedded Systems
-
Build and maintain custom Yocto Linux distributions for industrial embedded devices
-
Create and manage Yocto layers, recipes, and BSP configurations for target hardware platforms, + Implement and maintain industrial protocol communication (Modbus TCP, CANbus) using Python libraries
-
Create Python utilities for device configuration, firmware management, and diagnostics.
-
Embedded Cybersecurity
-
Manage the ongoing embedded cybersecurity program across the full product lifecycle
-
Conduct periodic security reviews, vulnerability assessments, and threat modeling exercises
-
Maintain and improve the organization's embedded security posture through continuous hardening efforts
-
Monitor and respond to emerging CVEs and security advisories relevant to embedded Linux and industrial systems
-
Document security architecture, hardening procedures, and incident response protocols
Requirements
-
Associate's Degree (AA) in technical engineering discipline. Bachelor's Degree (BS) in Computer Science, Software Engineering, or related technical discipline preferred.
-
Testing experience (TDD/BDD, unit tests, mocking frameworks) in embedded and/or regulated environments.
-
Proficiency using Python, Qt/C++, and React/TypeScript.
-
Basic knowledge of Yocto Linux and embedded cybersecurity frameworks.
Benefits & conditions
We offer competitive compensation and comprehensive benefits and programs. We are an equal opportunity employer; all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, pregnancy, age, marital status, disability, status as a protected veteran, or any legally protected status.