Job Summary
The Senior Embedded C Developer plays a crucial role in the development and delivery of high-quality firmware solutions. This position emphasizes the importance of coding excellence, troubleshooting, and collaboration with both clients and internal teams to ensure successful project outcomes. The developer will contribute to maintaining existing features and implementing enhancements while adhering to the organization's time, quality, and cost standards.
Key Responsibilities
Key Responsibilities
- Develop and maintain firmware using C/C++ for embedded systems.
- Design and implement low-level software for microcontrollers, processors, and peripherals.
- Debug and troubleshoot firmware, hardware, and system-level issues.
- Integrate firmware with hardware components such as sensors, memory, storage, networking, and communication interfaces.
- Perform code reviews, unit testing, and system validation.
- Analyze system performance and optimize firmware for reliability and efficiency.
- Collaborate with cross-functional teams including hardware, software, and manufacturing engineers.
- Create and maintain technical documentation.
Skill Requirements
Required Skills
- Strong programming skills in C/C++.
- Understanding of embedded systems architecture.
- Experience with debugging tools such as JTAG, oscilloscopes, and logic analyzers.
- Knowledge of communication protocols such as I2C, SPI, UART, USB, PCIe, or Ethernet.
- Familiarity with Linux or Real-Time Operating Systems (RTOS).
- Basic understanding of hardware schematics and board bring-up.
Other Requirements
Preferred Skills
- Experience with embedded Linux, Yocto, or device drivers.
- Knowledge of UEFI, BIOS, BMC/OpenBMC, or bootloader development.
- Scripting experience with Python or Shell scripting.
- Understanding of software development lifecycle and version control tools such as Git.