Senior 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!
Must be available to work on-site at our Bangalore office five days per week.
About the Role
As a Senior Firmware Engineer in the System Business unit, you will be part of a cutting-edge team that focuses on designing and developing firmware for the new generation of energy (battery) storage, smart switch to provide a complete energy management solution for residential and small commercial applications.
You will be working from Enphase office in Bangalore and interface closely with cross-functional teams across multiple sites.
What You Will Do
- Design and implement embedded firmware on an RTOS and/or bare-metal environment for energy storage and energy management products using C++/C.
- Design and implement algorithms and state machines for battery management products
- Quickly learn about and adapt existing code and architectures into custom applications
- Carry design tasks from concept to implementation
- Work with cross-functional teams to test and troubleshoot issues
- Self-motivated individual with the ability to work under minimal supervision
Who You Are and What You Bring
- BE/B.Tech/M.S/M.Tech/PhD in Electronics / Computer Science / Electrical Engineering
- Bachelors with 5+ years/ Masters with 3+ years of hands-on experience in firmware development and debugging in ARM based microcontrollers
- Experience in developing firmware for products from concept to production
- Good understanding of C++/C programming, data structures, design patterns, oops, RTOS concepts and microcontroller internals
- Good written and verbal communication skills
- Understanding of diagnostics, logging, and event-driven systems
- Understanding of Hard Real-Time bare-metal development
- Experience in working on large embedded systems with communication interfaces desired
- Familiarity with functional safety analysis, or control theory (such as PLLs, PID, distributed control, stability analysis) desired
- Familiarity with development tools such as Git, Keil, GCC, JTAG, Make, etc
- Ability to test code and hardware both with and without external test equipment such as oscilloscopes, power meters, etc
- Ability to document engineering requirements, document solutions, and test new firmware designs
- Familiarity with functional safety analysis and strong electrical engineering fundamentals
- STM32 Cortex-M family development experience
- Mbed OS, Zephyr development experience is nice to have