Firmware Developer

Remoting.Work 

📍 Sub-Saharan Africa, South Africa 🇿🇦

full-time
mid-level
remote
Posted —

Key Skills

C++RTOSI2CSPIUART

Industry

Consumer ElectronicsTelecommunications

Job Description

"

Job Overview: We are seeking a skilled Firmware Developer to design, develop, test, and maintain embedded firmware solutions for our hardware systems. The ideal candidate will have a strong understanding of embedded systems, low-level programming, and hardware-software integration. This role that requires self-discipline, attention to detail, and deep technical knowledge to deliver efficient and reliable firmware solutions.

Ideal Candidate: A highly analytical and detail-oriented professional with experience in embedded firmware development. You possess a solid understanding of microcontrollers, real-time operating systems, and hardware interfaces. You’re comfortable working independently and as part of a distributed engineering team, with a strong focus on code quality, performance, and system stability.

Key Responsibilities

  • Design and implement embedded firmware for microcontrollers and SoCs
  • Develop low-level drivers, protocols, and interfaces (I2C, SPI, UART, etc.)
  • Collaborate with hardware and software teams to define system requirements
  • Perform unit testing, integration testing, and debugging of embedded systems
  • Optimize firmware for performance, power consumption, and reliability
  • Maintain detailed documentation of firmware architecture and codebase
  • Conduct code reviews and adhere to coding standards and version control practices
  • Support production teams with firmware updates and troubleshooting

Qualifications & Skills

  • Bachelor’s degree in electrical engineering, Computer Engineering, or related field
  • 3+ years of experience in embedded firmware development
  • Proficiency in C/C++ for embedded systems
  • Experience with real-time operating systems (RTOS) and bare-metal programming
  • Familiarity with debugging tools such as JTAG, oscilloscopes, and logic analyzers
  • Strong understanding of hardware interfaces and communication protocols
  • Knowledge of version control systems (e.g., Git) and Agile development practices
  • Excellent problem-solving and analytical skills
  • Strong written and verbal communication skills

"