Principal Engineer – Embedded Firmware

Engineering Fremont, California


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 looking for an experienced FW development Engineer to design, develop, and optimize the firmware stack for our proprietary narrow‑band Power Line Communication (PLC) modems. You will own features across the PHY/MAC interface and MAC layer, collaborate with cross‑functional teams to translate system requirements into reliable firmware, and drive performance improvements in real‑world conditions. This role is ideal for an engineer who thrives at the intersection of embedded systems, communications stacks, and system integration.
 
What you will do
  • Design, implement, and optimize firmware for narrow‑band PLC modems to ensure robust, high‑reliability communication across diverse operating conditions.
  • Develop firmware in both bare‑metal and RTOS environments, optimizing timing, memory, and processor efficiency.
  • Collaborate with hardware engineers, system architects, signal‑processing/algorithm teams, and application‑layer firmware developers to translate system requirements into production‑quality implementations.
  • Analyze and optimize MAC‑layer behavior, including throughput, latency, retry logic, reliability, and application‑specific performance metrics.
  • Document designs, interfaces, and decisions to support knowledge sharing and maintain comprehensive project records.
  • Support system bring‑up and integration, troubleshoot hardware–software interactions, and provide technical support throughout development, validation, and product introduction.
  • Contribute to software quality through unit tests, integration tests, code reviews, and continuous improvement of tools and processes.
Who you are and what you bring
  • Bachelors or an advanced degree in Electrical Engineering, Computer Engineering, Computer Science or a related field
  • 15+ years of experience in a similar job function
  • Strong proficiency in embedded C/C++ for microcontrollers (e.g., ARM Cortex‑M).
  • Experience developing firmware in bare‑metal environments and with RTOS architectures (interrupts, scheduling, DMA, low‑latency and memory-constrained design).
  • Hands-on experience with communication stacks (wired or wireless), including MAC‑layer concepts (queueing, access control, retries, timing, performance metrics).
  • Solid understanding of throughput, latency, reliability trade‑offs and how MAC‑layer algorithms influence real‑world system performance.
  • Strong HW/SW integration and debug skills using logic analyzers, oscilloscopes, protocol analyzers, and embedded debugging tools.
  • Demonstrated data‑driven problem‑solving, experiment design, and metrics-based performance evaluation.
  • Excellent written and verbal communication with strong documentation discipline.
Nice to have attributes
  • Experience with narrow‑band PLC ecosystems such as G3‑PLC, PRIME, or IEEE 1901.2; understanding of channel conditions (noise, impedance variation, notching).
  • Familiarity with PHY/MAC interfaces and system‑level concepts (FSK/PSK/QAM/OFDM basics, link quality metrics) sufficient to interpret traces and collaborate with algorithm developers.
  • Scripting/analysis tools (Python, MATLAB) for log parsing, metrics tracking, and test automation.
  • Experience building/maintaining communication testbeds and/or channel emulation.
  • Exposure to security and reliability topics (secure boot, OTA update, watchdog/fault handling)
The base pay range for this position is 160,000K to 226,000K. This salary range may be modified in the future. The successful candidate’s starting pay will be determined based on relevant skills, experience, education or training, work location, and market conditions. This position is also eligible for generous stock, bonus, and benefits.