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 Energy Technologies is dedicated to delivering revolutionary Home Energy Management Systems (HEMS) for our residential customers to improve comfort, cost savings, and energy durability. Generac is looking for a motivated Firmware Engineer with insatiable curiosity to help create next generation energy management solutions.
This role entails ownership of common networking components that utilize Thread, Wi-Fi, PLC and other networking technologies to enable local and resilient communications between Generac devices installed at a customer site. You will work across organizations to drive the decision-making process on messaging standards, provisioning flows, security, and validation of these mechanisms. Additionally, you and your team will develop reference implementations for Linux, FreeRTOS, Android and iOS that will be available for partner teams to integrate and participate on this device-to-device network.
Responsibilities
Interface with hardware/firmware teams within Generac to create a specification for PHY-independent private local communications.Leverage and extend existing work for D2D and Common Platform to seamlessly integrate your new work.Create a flexible API so common and device-specific functionality may be exposed in a paradigmatically consistent manner while allowing for fully custom integrations as needed.Code, debug, validate and certify shared components for embedded Linux and FreeRTOS devices. Support developers doing the same for iOS and Android.Support other Generac teams in the implementation of these components as well as the validation and certification of their solutions.Establish performance and scalability metrics that meet product requirements and demonstrate adherence of the solution.Validate solution for use over Wi-Fi, CANbus, Ethernet, PLC, Thread (2.4GHz and sub-gigahertz) and Bluetooth Low Energy.Document use cases and best practices for implementors using this platform.Qualifications
BS in Engineering, Computer Science, Mathematics, Physics, or proof of exceptional skills in related fields with practical software/firmware engineering experience.At least 8 years of relevant work experienceExperience working in agile software development teams.Excellent understanding of multithreaded Linux development environments.Experience developing FreeRTOS-based solutions.Experience creating communications software: P2P, client/server, IP, TCP, UDP, MQTT, BLE, Matter, Wi-Fi, etc., and a firm understanding of the complexities involved.Experienced in delivering top-quality C/C++ code in a real-time embedded environments as well as cooperatively multi-tasked general-purpose environments.Experience with test-driven development using unit testing, automated integration testing and test plan development.Preferred Qualification
Excellent software fundamentals, including architectural design, algorithm development, data structures, code modularity, documentation, and maintainability.Familiarity with electrical test tools typical of embedded development such as oscilloscopes, meters, and power supplies.Python experience for supporting tools and data analysis is a plus.Remain engaged, proactive, and positive when taking on challenging tasks, owning assignments, and taking accountability for personal and overall team success.Ability to collaborate and communicate complex technical concepts.Proficient in standard source control tools like Git.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.”