Sr. Firmware Engineer

Generac 

📍 Pune City, India 🇮🇳

full-time
senior
Posted —

Key Skills

firmwareCC++RTOSCAN

Industry

Consumer ElectronicsEnergy

Job Description

This role entails ownership of firmware implementation, validation, and ongoing fleet improvements. The candidate will show outstanding technical and organizational skills and be passionate about advancing reliable, connected home energy solutions.

Key Responsibilities

  • Develop control firmware for home interconnect and control devices
  • Contribute to firmware and system architecture across controls, communications, and device connectivity, partnering closely with electronics and hardware teams.
  • Develop, enhance and debug new and existing real-time firmware in C and C++. Deliver high-quality code in a real-time embedded environment.
  • Investigate field issues on connected devices using Generac’s platform and field-investigation tools to collect and analyze data, reproduce problems, determine root cause, and deliver firmware updates that resolve them across the fleet
  • Drive firmware development for performance, scalability, robustness, and tight integration with the hardware.
  • Hands-on hardware bring-up, build and execute component validation to deliver robust, functional code.

Qualifications

  • BS in Engineering, Computer Science, Mathematics, Physics or proof of exceptional skills in related fields with practical firmware engineering experience.
  • At least 5 years of relevant firmware engineering experience
  • Experience developing firmware for connected or networked embedded products, including remote diagnostics, telemetry, and over-the-air firmware updates
  • Capable of delivering top quality C/C++ code in a real time embedded environment.
  • Excellent software fundamentals including architectural design, algorithm development, data structures, code modularity, and maintainability.
  • Multithreaded and RTOS experience. Experience with communication interfaces on embedded systems such as RS-485, CAN, SPI, I2C, and cellular/wireless connectivity is desired.
  • Experience with test driven development experience using unit testing, software in the loop, or hardware in the loop methodologies. Our developers participate significantly in firmware testing, so a validation mindset is required.
  • Familiar with software testing libraries including Unity and CMock.
  • Familiar with electrical test tools like scopes, meters, and power supplies.
  • Desired to have experience with low-level peripherals (ADC, PWM, timers, GPIO) and time-critical control code Power electronics or power conversion experience (inverters, DC-DC, power management) is a plus but not required.
  • Desired to have experience in the development of embedded software compliant to formal safety certification processes such as UL1998 or similar
  • Desired to have Python or Rust experience for supporting tools and data analysis
  • 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.