Sr Staff Firmware Engineer - EVSE

Software Engineering Bangalore, India


Enphase Energy is a global energy technology company and leading provider of solar, battery, and electric vehicle charging products. Founded in 2006, Enphase transformed the solar industry with our revolutionary microinverter technology, which turns sunlight into a safe, reliable, resilient, and scalable source of energy to power our lives. Today, the Enphase Energy System helps people make, use, save, and sell their own power. Enphase is also one of the fastest growing and innovative clean energy companies in the world, with approximately 68 million products installed across more than 145 countries.  
We are building teams that are designing, developing, and manufacturing next-generation energy technologies and our work environment is fast-paced, fun and full of exciting new projects.  
If you are passionate about advancing a more sustainable future, this is the perfect time to join Enphase!  
About the role  
This position is within our EVSE Engineering group, where you will work in a small team to develop firmware for the new Enphase IQ EVSE product line, a series of smart EV Charging products which will integrate with energy generation, energy storage and energy management products to enable a whole new facet of the Clean Energy revolution. You will be working in a multi-site team and expected to interface across multiple functions.   

What you will do

  • Design and implement embedded firmware on an RTOS and/or bare-metal environment for smart EV Charger functions using C++/C
  • Work with the marketing, hardware, and systems teams to specify the requirements and behavior of new products
  • Design and implement algorithms and state machines for Functional Safety & Metrology
  • 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
  • Minimum 7 to 12 years of hands-on experience in firmware development and debugging in ARM based microcontrollers
  • Good understanding of  C++/C programming, data structures,design patterns, oops, RTOS concepts and microcontroller internals
  • Familiarity with evaluating CPU versus hardware processing requirements and trade-offs for cost-effective designs
  • Good written and verbal communication skills
  • Ability to contribute to firmware architecture definition and design trade-off analysis
  • Experience designing custom communication protocols and data models
  • Understanding of diagnostics, logging, and event-driven systems
  • Understanding of Hard Real-Time bare-metal development
  • 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
  • Exposure to metering algorithms and understanding of AC power flow.
  • Experience in IoT Gateways and cloud communication (OCPP knowledge a bonus)
  • STM32 Cortex-M family development experience
  • Zephyr development experience
  • Knowledge of relevant worldwide standards and regulations for EVSE equipment – UL 2594, UL 2231, UL 1998, SAE J1772, OCPP, CCS, ISO 15118