About
Senior or Principal Embedded Systems Software Engineer
to lead embedded software architecture across CRC’s controller platform and embedded product portfolio. Level will be determined based on demonstrated architectural ownership and technical leadership experience. This role serves as the primary embedded software authority for current and next-generation products, defining reusable firmware infrastructure, development standards, and system structure across the organization. This position focuses on building scalable embedded software platforms that support multiple products. Company Description CRC is the leading innovator of safe energy efficient critical environment solutions. With intuitive user interface devices, open logic controllers, and closed loop technology we verify that every CRC system is actually delivering what it supposed to. Our products are designed to deliver a safe, efficient and better user experience than traditional systems. We offer products ranging from standalone user interfaces to complete turnkey system wide solutions. We have organized our products into user interface devices, system controllers, air delivery and peripheral sensors/devices. Our mission is to develop new products, incorporating the latest technologies to create a safe and efficient working environment. Our products improve the health, safety and efficiency of facilities worldwide. Key Responsibilities Embedded Software Architecture & Platform Development Own embedded software architecture across multiple product lines, including legacy and next-generation controller platforms Define reusable firmware infrastructure and abstraction boundaries across products Establish embedded software standards, structure, and development practices used across the engineering team Define system-level interfaces between firmware, hardware, and application layers Support both microcontroller-based and OS-based systems (e.g., FreeRTOS, Embedded Linux) Lead board bring-up for microcontroller and embedded platforms in collaboration with hardware engineering Develop high-reliability embedded C/C++ software for real-time control, sensing, and communications Debug complex system-level issues using oscilloscopes, logic analyzers, and protocol analysis tools Technical Leadership & Portfolio Ownership Serve as CRC’s primary technical authority for embedded software architecture decisions Define and evolve shared firmware infrastructure used across controller products Lead embedded software development from concept through production and sustainment Mentor and review work of junior and mid-level engineers Drive disciplined code review, release management, and configuration control practices Own and evolve CRC’s embedded software development lifecycle (SDLC) Partner closely with hardware, systems, manufacturing, and quality teams Manufacturing & Lifecycle Support Develop production programming tools, diagnostics, and test utilities Support sustaining engineering and field investigations Contribute to verification, validation, and product launch readiness Improve maintainability and reliability across firmware platforms over product lifecycles Required Skills & Experience Bachelor’s degree in Computer Engineering, Software Engineering, Computer Science, or similar 6+ years of embedded software or firmware development across multiple product cycles Demonstrated ownership of embedded software architecture across one or more products Expert-level proficiency in embedded C/C++ Strong understanding of microcontroller architecture, timing, memory, and interrupts Experience developing reusable embedded software infrastructure or shared platform components Hands-on experience with embedded communication protocols (I2C, SPI, UART, RS-485) Skilled with embedded debugging tools and lab equipment Comfortable working hands-on in lab environments (probing, soldering, test setups) Nice to Haves STM32 or similar MCU platforms Embedded Linux or custom Linux distribution experience RTOS scheduling and deterministic system design BACnet or building automation protocols HVAC controls or industrial automation experience Touchscreen UI development (Qt/QML) Lightweight embedded storage (e.g., SQLite) Experience improving internal development processes or SDLC
Languages
- English
Notice for Users
This job comes from a TieTalent partner platform. Click "Apply Now" to submit your application directly on their site.