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 doDesign and implement embedded firmware on an RTOS and/or bare-metal environment for smart EV Charger functions using C++/CWork with the marketing, hardware, and systems teams to specify the requirements and behavior of new productsDesign and implement algorithms and state machines for Functional Safety & MetrologyQuickly learn about and adapt existing code and architectures into custom applicationsCarry design tasks from concept to implementationWork with cross functional teams to test and troubleshoot issuesSelf-motivated individual with the ability to work under minimal supervisionWho you are and what you bringBE/B.Tech/M.S/M.Tech/PhD in Electronics / Computer Science / Electrical EngineeringMinimum 7 to 12 years of hands-on experience in firmware development and debugging in ARM based microcontrollersGood understanding of C++/C programming, data structures,design patterns, oops, RTOS concepts and microcontroller internalsFamiliarity with evaluating CPU versus hardware processing requirements and trade-offs for cost-effective designsGood written and verbal communication skillsAbility to contribute to firmware architecture definition and design trade-off analysisExperience designing custom communication protocols and data modelsUnderstanding of diagnostics, logging, and event-driven systemsUnderstanding of Hard Real-Time bare-metal developmentFamiliarity 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 fundamentalsExposure 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 experienceZephyr development experienceKnowledge of relevant worldwide standards and regulations for EVSE equipment – UL 2594, UL 2231, UL 1998, SAE J1772, OCPP, CCS, ISO 15118