Senior Engineer - Embedded Software

Engineering Bangalore, India


Description

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!
About the role 
Enphase is seeking Embedded Software Engineers to join our engineering and technology teams.  These engineers will be responsible for firmware development for Enphase’s microgrid products, including inverters and gateway products.  This engineer will create intellectual property and demonstrate it with prototype designs.  This engineer will transition work from conception to engineering to production, while collaborating with teams in California, Texas, India, and New Zealand.
This position is within our Software Engineering group, where you will work with a small team to develop fully functional prototypes to demonstrate new advanced operation and control for autonomous grid connection, management and regulation. You will be working in a multi-site team and expected to interface across multiple functions.
 
What you will be doing
  • Design and implement embedded software for microcontroller systems running with Linux or a real-time OS.
  • Ability to debug and troubleshoot issues in complex systems.
  • Ability to take full responsibility and carry a design task from concept to implementation.
  • Ability to document engineering requirements, document solutions, and test new firmware designs.
  • Working with cross functional teams to test and troubleshoot issues.
  • Solid understanding of the Software Development Life Cycle including Agile methodology
  • Self-motivated individual with the ability to work under minimal supervision
 
Who you are and what you bring
  • BE/BTech/MS/MTech in electrical engineering, computer engineering, or computer science - with minimum
  • Minimum 5 years of experience in embedded software development
  • Embedded software development for systems with Linux OS or multi-threaded RTOS.
  • Exposure to ARM based microcontroller systems desired.
  • Experience in hands-on design, development and debugging
  • Strong understanding of C/C++ programming concepts, and operating systems concepts.
  • Strong understanding of data structures and algorithms.
  • Desire to perform test-driven development and develop compilation-time unit-tests.
  • Experience in scripting languages like Python, Ruby, Lua, etc.
  • Familiarity with development tools such as GCC, GDB, Eclipse, GNU Make, etc.
  • Experience in Git, Jira and Confluence desired.
  • Integration of communication protocols, such as Zigbee, Bluetooth, BLE, WiFi, and power line communication
  • Basic knowledge of Solar, energy storage, and microgrid products
  • Basic EE skills