Firmware Engineer

The Firmware Engineer I develops software and firmwares source code in C/C++, Embedded C, and other languages. Designs, develops, tests, debugs, and implements embedded software and systems. Being a Firmware Engineer I utilizes version control, simulation, debugging, and other development tools. Understanding of common communication interfaces like SPI, I2C, USB, UART, and others. In addition, Firmware Engineer I collaborates cross functionally with hardware engineers. Provides engineering support for testing, deployment, and updates. Requires a bachelor’s degree in computer science, electrical engineering, or related field. Typically reports to a manager or head of a unit/department. Being a Firmware Engineer I work is closely managed. Works on projects/matters of limited complexity in a support role. Working as a Firmware Engineer I typically requires 0-2 years of related experience.

Firmware Engineer Job Description Template

Our company is looking for a Firmware Engineer to join our team.

Responsibilities:

  • Evaluateproduct returns/failures to determine root cause and correctiveactions;
  • Firmware design and development of micro-controller-based products;
  • Contribute to product success through consistent on-time delivery of high quality, functioning firmware code;
  • Collaborate and communicate with coworkers and development partners regarding firmware design status, project progress, and issue resolution;
  • Circuit specification;
  • Translate customer feedback into product design decisions, features, and functionality;
  • Firmware implementation;
  • Further welcome skills are a background in electrical engineering and another engineering discipline (Mechanical, Chemical, Bio, etc.);
  • Mockup verification;
  • Candidate should have experience with standard RTOS such ads FreeRTOS, ThreadX and such;
  • Analyze, design, program, debug, and modify firmware using high-level languages (C, C++, Python) and assembly code;
  • Contribute to and maintain design and user documentation;
  • System architecture and specifications;
  • Test and validate embedded systems.

Requirements:

  • Life Critical Safety Systems Development;
  • Experience with hardware and basic electrical engineering (schematic design, PCB layout, test equipment, etc.);
  • Deep understanding of Linux, the device tree and U-Boot;
  • 2+ years of experience in firmware development;
  • Experience with low level interfaces such as I2C, SPI, CAN, RS232;
  • Knowledge of any ARM architecture or similar;
  • Preference given to familiarity with Windows Batch/Powershell;
  • Experience managing the full lifecycle of a project (design, develop, integrate, test, and ship) is a desired;
  • Bash shell scripting;
  • Manage outside consultant support resources;
  • Candidates must have strong programming skills in C/C++, and be able to write highly portable and platform agnostic code;
  • Candidates must know and be comfortable with using at least one scripting language;
  • Willingness to work at the METER Group HQ office located at Pullman, WA;
  • Willingness to trace bugs to their source, wherever in the system that may end up being;
  • Understanding of wireless technologies (BLE, ZigBee, Thread, LPWAN).