Company Generac Power Systems
Name Senior Firmware Engineer
Req # 63224
Employment Type Full Time
Shift 1st
We are a team of hardworking builders and doers who share a passion for innovation and a desire to outpace others in our field. We push boundaries and seek opportunities for our products and people to evolve. As an inclusive workplace, we keep equity and respect at the forefront and empower employees to speak up, take accountability, and bring their best energy to work every day. At Generac, we collaborate, share successes, and promote a drive to win while respecting others and supporting growth.
The Senior Firmware Engineer - Product Electronics and Controls (PEC) is responsible for providing firmware for embedded controls systems used in new product development, new or enhancements to system features, and existing product firmware support where needed. The PEC engineer will be specifically involved in helping the design and development of new controls or algorithms, and system testing both in the lab and on real products.
- Provide new product development support, specific to microprocessors/microcontrollers in the Industrial, Commercial, Residential and/or Retail generator or Power Tool product area.
- Designs, validates, and brings new products to market - specific responsibilities include designing and developing application software/firmware for embedded controllers in C, defining interface requirements, and creating firmware for communication interfaces and/or system algorithms.
- Design of new control algorithms and performing Applications Engineering.
- Develop new firmware or software modules and maintain supporting documentation.
- Create, design and develop test specifications for new systems and firmware/software.
- Conducts and evaluates test specification including testing firmware/hardware.
- Take part in Design for Manufacturability and Design for Test Activities.
- Collaborates with internal product development departments, and other core engineering teams such including engines, transfer switch's, alternators, and others as needed to specify interfaces and/or algorithms needed in controls for interface.
- Utilizes simulation tools as appropriate.
- Creates and/or modifies design documentation.
- Help troubleshoot designs,
- Participate in design reviews.
- Mentors less experienced engineers.
- Other duties as assigned; anticipate less than 10%.
- Bachelor of Science in Electrical Engineering, Computer Engineering, Computer Science, or directly related Engineering discipline.
- 5 years of experience with embedded programming using languages such as C, C++, C#.
- Experience in RTOS, state machine, and algorithm design using the "C" language.
- Experience of microprocessor hardware interfacing techniques (e.g. IIC, EEprom, CANBUS, etc.)
- Experience in new product design and development.
- Experience with controls and control algorithms.
- Ability to perform detail-orientated work with a high degree of accuracy.
- Ability to translate technical information to all audiences.
- Expert level understanding and knowledge engineering principles.
- Able to solve intermediate engineering problems, good decision-making skills.
- Expert level knowledge of communication protocols/hardware interface.
- Expert ability to write test firmware to test hardware designs.
- Advanced ability to use FMEA/DFMEA tools.