Principal Embedded Systems Software Engineer
We’re looking for a Principal Embedded Systems Software Engineer who can contribute to firmware development, hardware integration, and sustaining activities across multiple platforms in the HVAC industry. This role focuses on writing reliable code in C/C++, learning our products and architectures, and supporting new feature development and debugging. If you’re motivated to grow your embedded expertise in a hands-on environment, we’d love to hear from you.
Position pays $110K - 150K depending on experience!
Key Responsibilities
- Own firmware architecture across multiple embedded product lines, including legacy and new platforms
- Define and document system-level architecture, interfaces, and design assumptions
- Establish firmware patterns, structure, and standards used across the team
- Develop high-reliablity embedded C/C++ firmware for real-time control, sensor processing and communications
- Support both bare-metal and OS-based systems (e.g., Free RTOS, Embedded Linux)
- Collaborate closely with hardware engineering during schematic review, bring-up, and integration
- Debug complex system-level issues using scopes, logic analyzers, and protocol analysis tools
Related Skills and Experience
Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science, or similar
Typically 6+ years of embedded firmware development experience across multiple product cycles
Demonstrated ownership of embedded system architecture and technical direction
***Expert proficiency in C/C++ for embedded systems
Stong understanding of microcontroller architecture, timing, memory and interrupts
Hands on experience with embedded commmunication protocols (I2C, SPI, UART, RS-485)
Skilled with embedded debugging tools and lab equipment
Comfortable with hands on lab work (probing, solding, test setups)
Nice to Have
- STM32 or similar MCU Platforms
- Embedded Linux or custom Linux distribution experience
- RTOS scheduling and deterministic system design
- HVAC controls or industiral automation experience
- BACnet or building automation protocols
- Touchscreen UI development (Qt/QML)
- Lightweight embedded storage (e.g. SQLite)
- Experience improving internal development processes or SDLC
ID:qnkTyx