Software Engineer I
Core
Design, develop, integrate, debug, and test embedded software for proprietary electronic control systems in hydronic and water heating products.
Role type
Junior embedded software engineer (C++/Linux)
Builds
Smart and connected, sustainable water solutions for residential and commercial settings
Domain
Industrial IoT / Water Heating / Embedded Systems
Deliverable
production ML models | product features
Required skills
C++20, Qt 6, ARM-based embedded Linux, CMake, Yocto, Git/GitHub, industrial protocols (Modbus, BACnet, CAN, Ethernet), unit testing (Qt Test/GoogleTest), hardware/software integration
Preferred skills
C++17, Jenkins CI/CD, AI-assisted development tools, Doxygen, clang-format
Technologies
C++20, Qt 6, ARM Linux, CMake, Yocto, Jenkins, Git, Modbus, BACnet, CAN, Ethernet, Qt Test, GoogleTest
Responsibilities
Develop and maintain C++20/Qt 6 applications for embedded Linux controllers; Implement features and resolve defects across firmware stack; Integrate device communication over industrial protocols; Build and cross-compile firmware; Write unit tests and documentation; Contribute to CI/CD pipelines; Collaborate cross-functionally on NPD projects
Seniority
Junior, hands-on IC