What are the responsibilities and job description for the Lead Embedded Systems Software Engineer position at CRC?
Job Overview
We are seeking a Lead Embedded Systems Software Engineer to architect, develop, and deliver software for mission-critical embedded products in the HVAC industry. This role leads technical direction, drives system-level design, mentors other engineers, and ensures our firmware is robust, maintainable, and scalable. You will work closely with hardware, systems, and manufacturing teams to bring new platforms to life and support existing products through their full lifecycle.
Key Responsibilities
System & Software Development
- Define and document system-level architecture, requirements, and design specifications
- Lead board bring-up efforts for new microcontroller or embedded Linux platforms
- Implement high-reliability C/C firmware for real-time control, sensor processing, and communication stacks
- Develop software for both bare-metal and OS-based environments (e.g., FreeRTOS, Linux)
- Debug complex issues using scopes, logic analyzers, protocol analyzers, and other hardware tools
- Work closely with hardware engineers during schematic reviews, bring-up, and integration
Leadership & Project Ownership
- Lead features or full product software development from concept through production
- Mentor and support junior engineers; guide coding practices and reviews
- Manage and refine the software backlog to ensure disciplined prioritization
- Help shape internal processes for releases, configuration control, and testing
- Collaborate with cross-functional team
Manufacturing & Lifecycle Support
- Develop production programming tools, diagnostics, and test utilities
- Support sustaining engineering, field investigations, and product improvements
- Contribute to verification, validation, and cross-functional launch readiness
Related Skills and Experience
- Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science, or a similar field
- 4 years of embedded software experience across multiple product cycles
- Proven ability to lead technical execution on embedded projects
- Expert-level proficiency in embedded C/C
- Strong understanding of microcontroller architecture, timing, memory, and interrupts
- Hands-on experience with communication protocols (I2C, SPI, UART, RS-485 preferred)
- Skilled with debugging tools and lab equipment
- Basic comfort with hands-on rework (soldering, probing, test setups)
Nice to Haves
- Experience with STM32 or similar MCU platforms
- Embedded Linux or custom distribution experience
- Familiarity with RTOS scheduling and deterministic design
- Experience with HVAC controls logic and applications
- Experience with BACnet or building automation protocols
- UI development experience (Qt/QML preferred)
- Knowledge of SQLite or lightweight embedded storage
- Prior mentorship or team-lead experience
- History of improving internal processes or SDLC practices