Staff Software Engineer - Data Platforms
Apply locations Denver, CO - USA time type Full time posted on Posted 2 Days Ago job requisition id JR2948
Below, you will find a complete breakdown of everything required of potential candidates, as well as how to apply Good luck.
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.
What to Expect
Generac is building the next generation of home energy systems. Our products include solar systems and battery backup, standby generators, smart thermostats, smart breaker boxes, and EV chargers.
We integrate all our products together to provide intelligent energy management and savings for our customers. Our products are enabling the renewable energy rollout, increasing energy grid performance and reliability, saving our customers money, and keeping the lights on in homes even when the grid is down.
Our approach takes full-stack to the extreme with tight collaboration between teams on every layer from firmware to web and mobile apps.
Our stack includes C, Rust, Java, Go, React, MQTT, Terraform, and a wide range of AWS tech.
We’re looking for a Staff Software Engineer to work on our cloud IoT and data platform.
We solve scalability and consistency problems, design and implement databases and data warehouses, build data pipelines, and create APIs to expose device data and device controls.
We also build integrations with other departments and partners. The core of our stack is built on Clickhouse, Flink, SpringBoot, Redis, Kinesis, and AWS IoT Core.
Some newer services use Go or Python.
What You’ll Do
- As a Staff SW Eng, you will significantly shape the technical direction of the project.
- Gather requirements, network with stakeholders across Generac, and define solutions.
- Interface with product management teams, firmware teams, embedded software teams, mobile / web app teams as needed.
- Document your assumptions and requirements, present your proposals, iterate, achieve buy-in from stakeholders and collaborators, and set correct expectations for your work.
- Design, validate, implement, and test web services and pipelines on AWS using Java, Go, Python.
- Build rigorous, fully automated test suites at all levels of the stack.
- Own your projects from start to finish; be your own project manager.
- Proactively assist and mentor junior engineers.
- Contribute to our culture of pragmatic excellence.
What You’ll Bring
- Bachelor’s degree or higher in an Engineering, Computer Science field, or equivalent experience.
- 7+ years of software engineering experience.
- 3+ years of experience with AWS.
- 3+ years of experience in Java.
- 3+ years of experience in at least one of : Go, Typescript, Python.
- 3+ years of experience in IaC tools such as Terraform, Cloudformation, CDK.
- Proven record of excellent end-to-end testing practice. At the end of a project, you sleep well at night knowing that your assumptions are verified, and your solutions are proven.
- Rigorous approach to rollouts and deployments. Your deployments are low stress because you load tested at 10x of current production scale and use techniques such as feature flags to roll out with confidence.
- An eagerness to understand how your work fits into a larger, cross-disciplinary system. You want to understand the systems and teams you interface with.
- Excellent written and verbal communication and problem-solving skills.
- A strong drive for learning and mentorship. You seek out feedback and improvement. You proactively mentor and advise more Jr engineers.
We are an equal opportunity employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability status, protected veteran status, or any other characteristic protected by law.
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.
J-18808-Ljbffr