Staff Firmware Engineer
Enphase Energy is a global energy technology company and a leading provider of solar, battery, and electric vehicle charging products. Founded in 2006, our innovative microinverter technology revolutionized solar power, making it a safer, more reliable, and scalable energy source. Today, the Enphase Energy System enables users to make, use, save, and sell their own power. Enphase is also one of the most successful and innovative clean energy companies in the world, with more than 80 million products shipped across 160 countries.
Join our dynamic teams designing and developing next-gen energy technologies and help drive a sustainable future!
About The Role
The Enphase Modeling and Controls team, part of the Office of the CTO, defines prototypes, and supports next-generation control solutions for Enphase inverter products. The team is an integrated group of highly specialized power electronics and controls engineers that is fast-moving, working closely with multi-disciplinary teams across the organization, and looking for motivated individuals that can contribute and collaborate closely with the team to deliver innovative solutions. As a member of the Modeling and Controls team, you will solve some of the most exciting problems in the distributed energy space and help shape the control algorithms that govern the dynamic performance of our inverter products.
The Enphase Modeling and Controls team is seeking a Staff Firmware Engineer to develop, integrate, and validate firmware for next generation inverter products and improve current designs.
What You Will Do
- Design and implement firmware, primarily in C and C++, for real-time operation and control
- Apply unit testing, software simulations, hardware-in-the-loop testing, and prototype testing to ensure firmware meets functionality and performance requirements
- Hands-on bring up of inverter hardware and power electronics systems with embedded firmware
- Optimize product solutions with firmware/hardware control co-design
- Collaborate with cross-functional teams to test and troubleshoot prototype designs
- Mentor junior staff
Who You Are and What You Bring
- BS/MS/PhD Computer Science, Computer Engineering, Electrical Engineering, or a closely related discipline
- BS and 8+ years / MS and 6+ years / PhD and 3+ years’ experience in a similar (non-academic) role as an embedded software or firmware engineer
- Expert level C, C++, and Assembly software fundamentals, including substantial algorithm development, code modularity, code maintainability, and data structures proficiency
- Significant real-time operating systems and multithreaded experience
- Expertise in both bare metal and small real-time operating systems
- Able to understand and implement digital signal processing concepts
- Familiarity with ARM Cortex-M4/M7 architectures
- Ability to troubleshoot firmware-related issues within complex systems and drive solutions
- Experience testing code and hardware both with and without external test equipment such as oscilloscopes, protocol analyzers, etc.
- Knowledge of microcontroller peripherals such as ADC, GPIO, PWM, and SPI
- Familiarity with development tools such as GCC, GDB, VS Code, GNU Make, CMake, etc.
- Experience with CI/CD pipelines and containerized build environments using tools such as Docker, Bitbucket Pipelines, or GitHub Actions
- Experience with version control tools such as GIT, Subversion, Mercurial, etc.
- Ability to take ownership of development tasks and drive them to completion in a timely manner and with high quality to support team success
Additional Desired Skills
- Zephyr development experience
- Familiarity with control loops and PID controllers
- Experience adopting AI-assisted development tools and workflows, including LLM-integrated coding environments
- Experience with industrial communications protocols such as Controller Area Network (CAN)
- Desktop and embedded Linux experience
- Familiarity with AC grid simulators and programmable loads
Travel
- Occasional travel domestically
Work location
- Austin, TX
Candidates must be authorized to work in the US.
The base pay range for this position is $110,000 to $151,000. This salary range may be modified in the future. The successful candidate’s starting pay will be determined based on job-related skills, experience, education or training, work location, and market conditions. This position is also eligible for bonus, equity, and benefits.
SST