We are looking for an Intermediate to Senior Embedded Software Developer to design, develop, test and maintain software and firmware for embedded systems and connected devices.
The ideal candidate is comfortable working across low-level firmware, embedded software architecture, device communication protocols and hardware interaction. This person should be capable of contributing both independently and collaboratively, with a strong emphasis on reliability, performance and maintainability in real-world deployment environments.
Responsibility:
-
Design, develop and maintain embedded software and firmware for connected hardware products.
-
Implement and optimise software for microcontroller and processor-based systems.
-
Build and maintain device drivers, bootloaders, middleware components and communication stacks.
-
Develop features for wired and wireless communication interfaces appropriate to the product domain.
-
Interface embedded devices with peripherals and external systems using protocols such as UART, SPI, I2C, USB, Ethernet, Bluetooth and Wi-Fi where required by product design.
-
Work closely with the relevant teams to commission new devices and support product development from prototype through to production.
-
Debug and resolve issues related to embedded software, firmware, communication timing, protocol behaviour and hardware-software integration.
-
Contribute to software architecture, code quality and engineering best practices.
-
Create and maintain technical documentation including design notes, interface specifications, test procedures and release documentation.
-
Participate in code reviews, root-cause investigations and continuous improvement of the development process.
-
Support validation and field issue analysis using logs, traces and bench-based testing.
Core Technical Focus Areas:
-
Embedded C/C++ software development
-
Real-time and bare-metal firmware development
-
Embedded device interfacing and hardware interaction
-
Serial and wireless communication protocol implementation
-
Protocol analysis, debugging and performance optimisation
-
Firmware testing, verification and production readiness
Basic Qualification:
-
Bachelor's degree in Electrical Engineering, Mechatronics, Computer Science or a related technical field, or equivalent practical experience.
-
Solid experience in embedded software or firmware development.
-
Strong proficiency in C and/or C++ for embedded systems.
-
Experience developing software for microcontrollers and embedded hardware platforms.
-
Experience with debugging tools such as oscilloscopes, logic analysers, protocol analysers, JTAG/SWD debuggers and similar tools.
-
Experience with version control systems such as Git.
-
Strong problem-solving skills and a practical hands-on engineering mindset.
-
Ability to work independently while collaborating effectively in a cross-functional product team.
Additional:
Preferred Experience:
-
Experience in industrial, IoT, consumer electronics, telematics, or other embedded application domains.
-
Experience with RTOS-based systems.
-
Experience developing firmware update mechanisms or secure device communication.
-
Familiarity with hardware schematics and board-level debugging during device commissioning.
-
Experience with test automation and embedded validation frameworks.
-
Familiarity with Linux-based embedded systems is advantageous.
Expected Competencies:
-
Strong analytical and troubleshooting ability.
-
Good understanding of embedded software architecture and modular design.
-
Ability to balance speed of delivery with robustness and code quality.
-
Strong ownership of technical deliverables.
-
Good written and verbal communication skills.
-
Ability to mentor junior developers and contribute to technical direction at senior level.
-
Practical understanding of product lifecycle considerations from development through to support.
Work Environment:
-
Industry-related remuneration depending on experience.
-
Medical Aid.
-
Pension fund with employer matching.
-
Flexible work hours with hybrid working options and many more benefits.
-
Opportunities for professional development and career growth.
-
Dynamic and collaborative work environment within a globally diverse team.