Company Generac Power Systems
Name Staff Software Development Engineer-Platform
Req # 64048
Employment Type Full Time
Shift 1st
At Generac, we don't simply wait for opportunities to come to us. Our teams consistently seek out new and innovative advances in our industry, driving our great success and company growth. We are a leader in the power generation industry that is successfully breaking ground in the Clean Energy segment.
This growth equals rapid career advancement opportunities for those who want to be challenged and enjoy a fast-paced, high-performance culture. Join us, as we inspire change for a better world, positively impact our people and the community, influence and achieve positive results that support growth, and innovate the industry.
- Design solutions for complex or critical problems in the IoT and Connectivity areas by working directly with stakeholders, product managers, UX/UI, and other technical leads.
- Produce well written technical design documentation/diagrams for internal and external stakeholders. Responsible for creating/maintaining technical documents.
- Provide technical expertise and support for assigned projects as needed.
- Work across teams within the department and across departments to solve complex technical problems or design solutions.
- Drive, review, and participate in defining system requirements for future products and features.
- Lead team(s) to deliver solutions that meet or exceed business needs by having a deep understanding of the business need and/or user problem.
- Stay abreast of industry of industry standards, actively research & review evolving technology, review and recommend usage of technology for Generac solutions.
- Mentor engineering staff on emerging industry trends, technical standards, and design/coding best practices.
- Subject matter expert in specific technology, establish, and own best practices in that technology.
- Bachelor's Degree in Engineering, Computer Science, or equivalent technical degree.
- 7 years of experience in commercial software development in a software engineering role.
- 3 years of experience leading and/or mentoring junior team members.
- Experience working with IoT based solutions and devices.
- Experience using C#, Java, JavaScript, and/or other commercial software languages.
- Experience with code repositories such as Git, Subverison, etc.
- Experience with CI/CD principles and automated pipelines.
- Experience designing and implementing event-based and/or micro-services architectures.
- Experience implementing performant APIs for internal and external consumption.
- Experience designing, implementing, and operating cloud-based systems in Azure, AWS, or Google Cloud.
- Experience designing data models and leveraging different data storage technologies such as SQL, NoSQL, big data stores, etc.
- Experience with networking protocols such as HTTP, TCP, MQTT, etc.
- Experience with hardware and interfaces such as Bluetooth, Wi-Fi, etc.
- Experience with secure coding and best practices.
- Experience with authentication standards such as OAuth2 and/or OpenID Connect.
- Ability to perform detail-oriented work with a high degree of accuracy.
- Excellent understanding of development activities and tasks.
- Excellent verbal, written, and interpersonal skills.
- Excellent attention to detail, critical thinking, and problem-solving skills.
- Excellent time management skills, able to meet deadlines, and manage time effectively.