ER
Firmware/Embedded Software Engineer
E&D Recruiters
South Africa · On-site Full-time Senior Today
About the role
Requirements
- Bachelor's or Master's degree in Electronic Engineering, Computer Engineering, or related discipline
- 5+ years in embedded software development
- Strong proficiency in C, particularly bare-metal embedded programming
- Thorough understanding of microcontrollers, digital/analogue circuits, and low-level hardware interaction
- Experience with real-time operating systems (RTOS) and concepts
- Experience with hierarchical state machines
- Proficient with 8-bit, 16-bit, and 32-bit microcontrollers
- Experience with unit and system testing
Tools & Platforms
- Embedded IDEs: STM32CubeIDE, MPLAB, or similar
- Communication protocols: SPI, IC, UART, CAN, USB, Ethernet
- Debugging tools: oscilloscopes, logic analyzers, protocol analyzers
- PCB design software: Altium Designer (to support hardware collaboration)
- Version control: Git
- Microsoft Office suite (Word, Excel, PowerPoint)
Responsibilities
- Develop and optimize firmware for 8-bit, 16-bit, and 32-bit microcontrollers and embedded platforms (MIPS, ARM, STM32)
- Implement and manage RTOS or bare-metal solutions
- Design and maintain device drivers and middleware for communication interfaces (SPI, IC, UART, CAN, USB, Ethernet)
- Conduct integration testing and qualification of firmware with hardware systems
- Collaborate closely with hardware engineers for seamless firmware-hardware integration
- Write technical documentation including firmware specifications, test descriptions, interface definitions, user manuals, and integration guides
- Contribute to process improvements through automation and coding standards
Skills
ARMCCANC++DebuggingDevice driversDigital circuitsEthernetGitHardwareI2CMicrocontrollersMPLABRTOSSPISTM32STM32CubeIDETestingUARTUSB
Don't send a generic resume
Paste this job description into Mimi and get a resume tailored to exactly what the hiring team is looking for.
Get started free