Staff Engineer, Embedded Software

Engineering Bangalore, India


Description

About Enphase Energy
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!
  • Work Location: Hybrid Onsite (Requires working onsite 3 days a week, with plans to transition back to a full 5-day in-office schedule over time).
About the Role
Enphase is seeking a Staff Embedded Systems Engineer specializing in Linux Platform Architecture and Yocto Project to join our Application Development team. In this role, you will be the core expert responsible for architecting, building, and maintaining our custom Embedded Linux distributions on NXP i.MX processors.
You will bridge the gap between hardware and application software, ensuring a secure, high-performance, and reliable platform layer for our smart gateways, inverters, and home energy management systems. Working within our software engineering group, you will collaborate with global teams in California, Texas, India, and New Zealand to deliver robust Board Support Packages (BSPs) and system-level infrastructure.
What You Will Be Doing
  • Yocto Distribution Management: Custom-build and optimize Linux distributions using the Yocto Project, including writing custom recipes, layers, and managing configurations.
  • BSP & Hardware Bring-Up: Lead Board Support Package (BSP) development, bootloader configuration (U-Boot), and hardware bring-up on NXP i.MX application processors.
  • Kernel & Driver Customization: Develop, debug, and optimize Linux kernel configurations, device trees, and low-level device drivers for peripherals and communication interfaces.
  • System Optimization: Analyze and improve system boot time, memory footprint, security hardening, and overall system performance.
  • Security & Lifecycle: Implement secure boot mechanisms, cryptographic features, and robust over-the-air (OTA) system update frameworks.
  • Cross-Functional Collaboration: Partner with hardware design teams and application developers to expose hardware features smoothly via clean Linux system APIs.
What You Should Bring
  • Experience: 7+ years of professional experience in embedded systems architecture, specifically focusing on Linux platform development.
  • Yocto Expertise: Deep hands-on experience with the Yocto Project workflow, BitBake, and creating custom metadata layers.
  • Processor Experience: Proven track record of developing for NXP i.MX series processors (e.g., i.MX6, i.MX8).
  • Linux Internals: Strong understanding of Linux kernel architecture, device trees, memory management, and low-level debugging tools (JTAG, GDB, logic analyzers).
  • Programming Skills: High proficiency in C, C++, Python, and Shell scripting for system-level automated tasks.
  • Protocols: Practical experience handling low-level hardware interfaces like SPI, I2C, UART, CAN bus, and Ethernet.
  • Education: Bachelor’s or Master’s degree in Electrical Engineering, Computer Science, or a related field.