Embedded Software Engineer

Engineering Fremont, California


Description

Embedded Software Engineer

Our mission at Enphase Energy is to advance a sustainable future for all. 
 
Today, our intelligent microinverters, which turn sunlight into an affordable, safe, reliable, and scalable source of energy, work with virtually every solar panel made, and when paired with our award-winning smart battery technology, we engineer one of the industry's best-performing clean energy systems. To date, we have installed more than 36 million microinverters on more than 1.5 million homes across 130 countries.  
 
Like our customers, our innovative teams are also worldwide, making Enphase Energy a truly global company. We are one of the fastest growing and most dynamic energy companies in the world. Nimble and acutely focused on developing ground-breaking solar energy management technology, each of our teams have a shared goal of creating a carbon-free future. 
 
At Enphase we are also committed to diversity and inclusion. Developing cutting edge technology requires a workforce as diverse as the populations we wish to serve. We are a values-driven company that puts people and their power at the center of our shared energy future.  

Enphase is seeking an Embedded Software Engineer to be a member of our Storage Business Unit, where we work on the #1 selling battery in the US. This role is taking on ownership of various components of our energy storage system gateway, such as firmware update and system-level controls and management. This role has a direct impact to tens of thousands of batteries and we’re only continuing to grow! 

Responsibilities

  • Designing and implementing embedded software that is in control of updating or controlling the entire battery storage system. 
  • Developing unit tests and production level code. 
  • Work with cross functional teams to monitor, test and troubleshoot issues. 

 

Skills, Knowledge and Special Attributes 

  • BS/MS/PhD Electrical Engineering or Computer Science/Engineering 
  • Minimum of 2 years (post-academic) relevant experience 
  • Strong coding capability in C, C++, and a scripting language like Python or Ruby. 
  • Embedded Linux experience or at least an embedded RTOS such as FreeRTOS. 
  • Solid bench/troubleshooting skills in complex systems 
  • Experience in source control and documentation practices, such as Git and confluence. 
  • Experience in issue/bug-tracking systems such as Jira 
  • Document solutions and test new firmware designs. 
  • Self-motivated with the ability to work independently 

 

DesiredSkills 

  • Exposure to bootloaders and firmware updates. 
  • Exposure to ARM based microcontroller systems 
  • Experience with communication protocols, such as Zigbee, Bluetooth, BLE, Wifi, CAN and power line communication. 
  • Basic knowledge of solar, energy storage, or microgrid products. 
  • Basic EE skills