Company Generac Power Systems
Name Senior Software Development Engineer
Req # 64093
Employment Type Full Time
Shift 1st
Generac Clean Energy Solutions (GCES) is on a mission to drive down global carbon emissions through the manufacture and sale of renewable energy production and storage technologies. GCES is seeking a senior engineer to contribute to the design, implementation, and maintenance of the system that orchestrates automated control of all equipment that features in their renewable energy production and storage solutions deployed to residential sites.
This critical, highly visible system services a wide variety of stakeholders, both internal and external to GCES, and ensures that conflicts among stakeholder expectations are resolved in a transparent manner that never jeopardizes site integrity or customer safety.
The role is ideal for candidates who are interested in:
- Reducing global carbon emissions,
- Contributing to the development and growth of distributed power generation networks fueled by renewable energy sources, and
- Working with a wide variety of modern and emerging technologies.
The successful candidate will:
- Thrive in a collaborative, dynamic environment.
- Voraciously seek new knowledge and skills.
- Endlessly strive to improve upon the status quo.
- Optimize for customers, not developers.
- Obsess over quality; and
- Continually endeavor to cultivate high peer morale.
- Lead the design of new control system components.
- Contribute to the development of the firmware-based portion of the control system, written in Rust.
- Implement system/end-to-end tests to exercise changes.
- Contribute to the maintenance and expansion of the continuous integration pipeline for the firmware-based portion of the control system.
- Represent the control system in interactions with internal and external stakeholders.
- Play a leading role in establishing the priority of features.
- Participate in sprints and associated meetings.
- Review and critique peer contributions through pull requests.
- Mentor junior peers.
- Bachelor's degree in computer science, software engineering or a related discipline, or able to showcase engineering excellence through professional contributions.
- Experience leading design and implementation of software applications in a professional context. Familiarity with edge device firmware application implementation using Rust, MQTT, and Protocol buffers is a bonus.
- Experience writing automated unit and system/end-to-end tests in a professional context.
- Familiarity with continuous integration and related technologies (e.g. CircleCI).
- Experience mentoring peers.