Logo
Generac Power Systems, Inc.

Senior Staff Firmware Engineer V

Generac Power Systems, Inc., Reno, NV


We are Generac, a leading energy technology company committed to powering a smarter world.

Over the 60 plus years of Generac's history, we've been dedicated to energy innovation. From creating the home standby generator market category, to our current evolution into an energy technology solutions company, we continue to push new boundaries.

Generac Clean Energy is looking for a motivated Firmware Engineer with curiosity to help create next generation energy storage products. The successful applicant will join a team of highly knowledgeable and collaborative engineers. You will have the opportunity to solve challenging problems that unlock residential PV and energy storage systems at mass scale.

The position is available in our Reno, NV OR our North Billerica, MA office.


Essential Duties & Responsibilities:
  • Design and implement algorithms and state machines to control the operation of an energy-storage system under real-time constraints.
  • Develop, enhance and debug new and existing real-time firmware in C. Deliver high-quality, robust code in a real-time embedded environment.
  • Design safety rated firmware to meet UL1998 or related standards.
  • Apply industry best practices to deliver simple, high-quality firmware that is well tested, documented and meets requirements.
  • Write automated tests and integrate them into a continuous integration environment.
  • Perform hands-on board bring-up, system integration and performance validation work.
  • Coach junior engineers and interns, perform code reviews and help improve the development process.
  • Participate in functional safety architecture and processes including FMEA driven development for adherence and validation to meet functional safety standards.

Minimal Qualifications:
  • BS in Electrical Engineering, Computer Science, or related field; MS preferred.
  • 8+ years of engineering experience with demonstrated expertise in firmware development and device communication. Prior experience in power electronics, or battery product development is a plus.
  • Knowledge of C programming language, embedded systems, RTOS and microcontroller HW and protocols (such as SPI communication, DMA). Familiarity with Python, pytest and git is highly desirable.
  • Expert level experience electrical test equipment like oscilloscopes, meters, power supplies, grid simulators.
  • Experience with CANbus, DBC file management and CANbus tools like cantools, PCAN Explorer, Vector Canalyzer or CANApe is desired.
  • Excellent software fundamentals including architectural design, algorithm development, data structures, code modularity, and maintainability.


Physical Demands: While performing the duties of this job, the employee is regularly required to talk and hear; and use hands to manipulate objects or controls. The employee is regularly required to stand and walk. On occasion the incumbent may be required to stoop, bend or reach above the shoulders. The employee must occasionally lift up to 25 - 50 pounds. Specific conditions of this job are typical of frequent and continuous computer-based work requiring periods of sitting, close vision and ability to adjust focus. Occasional travel.

"We are an equal opportunity employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability status, protected veteran status, or any other characteristic protected by law."