Embedded Software Engineer (Power Electronics, Energy Storage)
Posted Updated
- As an Embedded Software Engineer, you will be the architect of the real-time firmware that drives our power conversion units
- You will live at the intersection of silicon and power, writing the low-level code that controls high-speed switching, manages thermal safety, and communicates with the broader site infrastructure
- You will be responsible for bringing new products from white-space R&D to global scale, ensuring our code is as resilient as the hardware it controls
- Real-Time Control Firmware: Design and implement bare-metal software applications for power electronics, focusing on high-resolution PWM generation, ADC synchronization, and complex timing logic
- Low-Level Architecture: Develop and optimize drivers for microcontroller peripherals (SPI, CAN, Ethernet) and architect memory-efficient, multi-core processing strategies for real-time targets
- Hardware-Software Synergy: Collaborate with power electronics controls engineers to translate controls theory into deterministic, high-performance code running on Cortex-R and Cortex-M architectures
- Modern Build & Test: Maintain robust software build procedures and scripts. You will write highly testable code and integrate it into a modern CI/CD pipeline to ensure every line of code is validated before it hits the lab
- System Optimization: Profile and optimize code across multi-core environments, ensuring maximum task efficiency and minimal latency in time-critical control loops
- Product Scaling: Leverage a proven track record to take embedded systems from initial prototype to mass-market production, maintaining high standards for code quality and reliability
- Bonus Qualifications: Experience developing bootloaders, implementing secure boot, or profiling code on real-time, multi-core targets
- Background: A BS or MS in Electrical Engineering, Computer Engineering, or Computer Science, combined with 2+ years of experience in firmware engineering and a proven track record of shipping new products at scale
- Communication Protocols: Practical experience with digital protocols such as I2C, UART, SPI, CAN/CAN-FD, and Ethernet. Familiarity with reverse-engineering CAN protocols or developing custom evaluation tools is a significant plus
- Embedded Mastery: Expert proficiency in Rust or C with deep experience debugging complex embedded systems using oscilloscopes, logic analyzers, and JTAG/SWD debuggers
- Silicon Expertise: Extensive experience with ARM Cortex-M and Cortex-R architectures, including low-level system architecture, multi-core memory optimization, and bare-metal task management
- Infrastructure & Automation: Knowledge of software build systems and the ability to maintain build scripts (e.g., Make, CMake). Experience with test automation and CI/CD is essential
- Power Electronics Literacy: A deep understanding of power-specific software requirements, specifically high-speed ADC sampling, high-resolution PWMs, and hardware timers
- Safety-Critical Development: A safety-centered mindset with experience implementing functional isolation and ensuring freedom from interference (FFI) in complex, multi-core software environments. Familiarity with UL certification standards for energy storage systems is a significant plus
