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).