AprilAire

Senior Principal Engineer - Embedded Systems

Sun Prairie, WI, US

13 days ago
Save Job

Summary

Overview

We are currently looking for a Senior Princpal Engineer - Embedded Systems. In this role, your responsibilities will include research and proof of concept development around emerging technologies and components, thus growing as a subject matter expert. You will be responsible for researching and implementing industry best-practices for firmware development processes, creating and tracking KPIs, and providing technical and project oversight for key embedded systems projects. Further responsibilities include analyze product requirements for implementation feasibility, develop software architecture and code the same, and mentor junior engineers.

Responsibilities

  • Design embedded system firmware using SDLC (software design life cycle) principles and advocate for design decisions that are in the best interest of the company and product success.
  • Write firmware using Object-oriented programming techniques in C and C++ by developing new code, using existing company libraries, and integrating third-party code.
  • Develop GUI (Graphical User interface) software for embedded systems.
  • Coach and mentor less experienced engineers and technicians.
  • Designing with RTOS, including, but not limited to, FreeRTOS (preferred), eLinux, µc-OS.
  • Develop and document communication interfaces to Zigbee and Wifi modules.
  • Maintain embedded software, including adding features and fixing bugs, in existing products.
  • Contribute to and document firmware architecture in a collaborative environment.
  • Create and maintain CI/CD pipelines for automated builds, static analysis, and unit test frameworks.
  • Expand existing and write new unit tests.
  • Design, perform, and document product verification tests.
  • Contribute to formal code reviews and pull requests.
  • Develop communication drivers for TCP/IP, RS485 Modbus, SPI etc.
  • Investigate and resolve issues that come out of the Product Approval group.
  • Collaborate with QA resources to produce robust and stable firmware releases.
  • Perform feasibility studies for new products and recommend solutions.
  • Follow technology trends for new developments in technologies used in our products.

Qualifications

The position requires a Bachelor’s degree in computer science, computer engineering, electrical engineering or a related field. In addition this role requires eight (8) years at minimum of progressive experience working with product development.

As part of the eight (8) years of progressive experience working with product development, the individual must have:

  • Six years of strong hands-on coding experience using C/C++ languages in an embedded development environment.
  • Six years of experience in embedded software design and architecture
  • Six years of experience mentoring a team of 3 or more firmware engineers.
  • Five years of experience using Git (Bitbucket), Jira and Confluence
  • Three years of experience using: FreeRTOS, Embedded Linux, MODBUS, SPI, I2C, UART and MQTT
  • Two years of experience using embedded graphic libraries
  • Three years of project management experience
  • Three years of quality assurance practices and processes
  • Two years of experience using python and/or bash scripting
  • Two years of experience working on IoT product development
  • Two years of experience working with geographically isolated and multi-disciplinary teams
  • One year experience with docker technology and setting up CI-CD pipelines
  • One year experience in HVAC related product development.

LinkedIn Tag

None

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job