Principal Engineer Linux Platform
Principal Engineer Linux Platform
Research and Development
Department (Cost Center)
IN - Bangalore
# of Openings
Travel Required (Yes/No)
Our mission at Enphase Energy is to advance a sustainable future for all.
About the Role
Enphase Energy is one of the fastest growing and most dynamic Energy Systems Companies in the world. Today, our integrated hardware and software solutions empower people to make, store, use, sell, and share their own energy. We are accelerating the shift away from fossil fuels and toward the clean electrification of our homes, businesses, and communities. Enphase has already installed more than 34 million microinverters, which are helping power approximately 1.5 million households across 130 countries.
We are continuing to grow around the world. Enphase was listed on the S&P 500 for the first time in January 2021, featuring a market capitalization of more than $20 billion.
CTO team at Enphase nurtures forward looking technologies and works closely with business units to consume them for upcoming product development. We are now extending our CTO organization in Bangalore by building ~20-member team. This team will consist of technology leaders with deep hands-on experience and passion for technology.
Enphase is looking for an experienced Embedded Software Engineer that will focus on our embedded Linux platform. This position is on our CTO team. In this role you will be researching state of the art options, assessing their merits, assembling proofs of concept and mentoring other members of the team. You will help shape the software platform architecture for our embedded platforms, tools, and practices to maximize performance, efficiency and reuse. A great candidate for this position strong technical background with excellent development and communications skills.
· Architect, design and develop embedded Linux platforms including the development tools, build environments, board support packages (BSP) and embedded applications
· Build and maintain custom Linux-based embedded distributions for ARM based SoCs including custom OS configurations
· Specify and implement embedded software development best practices, tools, continuous integration/continuous delivery solutions
· Analyze complex embedded hardware and software architecture and development issues, assess their impact, present alternatives, and recommend preferred solutions
· Track the evolution of, and maintain distribution environments, as well as integrating build, configuration and deployment automation
BE Electronics/Communication/Computer Science/Electrical Engineering + 8 years relevant experience or
· MS Computer Science/Communication/Electrical/Electronics + 6 years relevant experience
· A minimum of 3 years prior experience defining and developing embedded Linux platforms and development environments including substantial experience with Yocto projects and uboot.
· A minimum of 3 years prior experience developing embedded platforms based on Linux running on ARM (or similar) based SoCs from boot and application development
· Strong familiarity with Linux system internals and operating environment including knowledge of OS platform security
· Experience with Docker Engine configuration, optimization, packaging, and deployment.
· Experience with embedded software tools including but not limited to: compilers, vendor-specific configuration and development environments, unit testing, code coverage and automation tools, linting tools, static and dynamic code analysis tools, and diagnostic and debug tools
· Proven experience doing hands-on design, development and debugging embedded C/C++ programming
· Knowledge of communications protocols (e.g. USB, I2C, SPI, UART, etc.)
· Knowledge of networking (e.g. TCP/IP), wireless, and Ethernet protocols
· Prior experience with other embedded operating systems including RTOS and bare metal platforms
· Ability to understand PCB schematics and general hardware knowledge to enable bringing up and debugging new PCBs
· Experience with OP-TEE running on ARM TrustZone