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:Enphase is seeking a Staff Firmware Engineer, to join the System Business Unit at Enphase designing and developing firmware for new generation of energy (battery) storage, smart switch to provide complete energy management solution for residential and small commercial applications. You will be working 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 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 Bachelors with 8+ years/ Masters with 6+ 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 Good written and verbal communication skills Experience designing custom communication protocols and data models 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 desired.