Staff Engineer - Embedded Software

RehlkoKohler, WI
Hybrid

About The Position

Our work is guided by our purpose: creating an energy-resilient world for a better future. This purpose embodies the legacy we bring, with more than 100 years as the global leader in energy resilience, delivering solutions critical to sustain and improve life. Our teams have the opportunity to provide a critical resource – energy – that ensures safety, security, and independence for people around the world. Our team members are focused on pushing boundaries, continuing to innovate in an ever-changing landscape, and keeping up with the pace required to create solutions for today’s world demands. Our product range includes engines, generators, power conversion, UPS systems, EV components and electrification solutions, microgrid controls and management, and clean energy solutions that serve a broad spectrum of OEM, residential, industrial, and commercial customers. At Rehlko, you have the freedom to identify, create, and deliver solutions – large and small – that help people and communities thrive in the moments that matter. At Rehlko, our team members are the essential energy that powers our organization’s success. We are committed to fostering a safe and sustainable work environment where safety is everyone’s responsibility. We empower every team member to actively participate in our Zero Is Possible safety culture by encouraging open communication, proactively reporting hazards, following protocols, and suggesting improvements. Join us in creating an energy resilient world for a better future! We are seeking a highly motivated Embedded Software Engineer to join our engineering team focused on developing robust, efficient, and scalable software solutions for embedded controls systems. This role involves working closely with hardware engineers, software engineers, and product teams to deliver high-quality software for residential and power products. This role follows a hybrid schedule, with 2–3 days per week onsite in Kohler, Wisconsin.

Requirements

  • Bachelor of Science degree in Electrical and Computer Engineering or Computer Engineering Required, Master’s Degree is preferred
  • 6+ years of work experience dependent on educational background
  • Experience owning elements of developing embedded software using layered architectures and embedded operating systems
  • Proficiency in C and C++ languages including syntax, generally accepted code structure, and object-oriented programming
  • Hands-on experience with industry-standard communications protocols including RS-485 (Modbus), SAE J1939 CAN, Ethernet and USB
  • Experience designing software for test including unit-testing, regression testing, board-bring up, and end of line production test.
  • Applicants must be authorized to work in the US without requiring sponsorship now or in the future.

Nice To Haves

  • Familiarity with CAN analysis tools like Vector CANalyzer, CANape and CANoe
  • Familiarity with Keil debuggers and emulators for ARM based processors
  • Familiarity with wireless certification requirements for WiFi, Bluetooth, and ISM and experience navigating the certification process.
  • Familiarity with MATLAB/Simulink model-based code development and integration
  • Strong communication skills across diverse audiences
  • High level of motivation and ability to collaborate effectively in a team and independently to achieve results

Responsibilities

  • Design, develop, and maintain embedded software for microcontroller-based systems, including C and C++ for QNX, Keil RTX, ZephyrOS and similar operating systems.
  • Collaborate with cross-functional teams to define software requirements and system architecture.
  • Oversee unit testing, integration testing, and system validation to ensure software reliability and performance.
  • Develop networking implementations and application code for wireless processors facilitating Wi-Fi, Bluetooth, ISM, and LTE communication.
  • Lead code reviews and contribute to continuous improvement of development processes.
  • Support hardware troubleshooting during product development and testing.
  • Document software design, architecture, and implementation details.
  • Use industry-standard software diagnostic tools like emulators, debuggers and oscilloscopes to debug and verify controller software at a unit level. This includes occasional development of custom diagnostic software for specialized features or functions
  • Technically lead breaking down software scopes of work and developing project timelines and budgets
  • Mentor less experienced team members in core embedded software development

Benefits

  • Competitive compensation and benefits
  • Work-life flexibility
  • Recognition and rewards
  • Development and career opportunities
  • A safe and inclusive workplace
  • health, vision, dental, 401(k) with Rehlko matching
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service