Our client is looking for an Embedded Engineer / Embedded Software Engineer to join their technology and engineering team in Cape Town. This is a permanent, in-office position within the intelligent transportation and embedded technology industry. The role will focus on embedded firmware development, C programming, microcontrollers, hardware integration, system design, development and testing.
The ideal candidate will be proactive, technically curious and comfortable taking ownership of projects in a fast-paced engineering environment.
The role involves working with teams across South Africa, the US and India.
Location:
Cape Town, Western Cape
Requirements:
- Relevant qualification in Electronic Engineering, Mechatronics, Computer Engineering, Software Engineering, Embedded Systems or a related technical field
- 2+ years' practical experience in embedded software, firmware or a related engineering environment
- Strong C programming experience
- Embedded systems and firmware development experience
- Microcontroller programming experience
- Experience with software development, debugging and testing
- Experience with firmware and hardware integration
- Ability to read and interpret PCB schematics, circuit diagrams and component datasheets
- Experience working with development environments and compilers
- Git/GitHub experience
- Strong analytical and problem-solving skills
- Good English communication skills
- Ability to work independently and take ownership of assigned projects and tasks
- Comfortable working in a fast-paced environment where priorities can change
- Willing to work fully in-office from 09:00 to 18:00
Advantageous:
- ESP and/or PIC microcontroller experience
- Robotics or robotics firmware experience
- Mechatronics experience
- Embedded Linux experience
- Altium or similar PCB design and schematic software
- VS Code experience
- Experience with YouTrack, Jira, ClickUp or similar ticketing/project management systems
- Hardware testing and troubleshooting experience
- Personal, university or DIY engineering projects involving electronics, robotics, microcontrollers or embedded software
Key Responsibilities:
- Design, develop and maintain embedded firmware and software using C
- Work across system design, development and testing of embedded projects
- Develop and implement new features and technical solutions
- Work with microcontrollers and physical hardware
- Integrate firmware with hardware and troubleshoot hardware/software integration issues
- Read and interpret PCB schematics, circuit diagrams, component datasheets and technical documentation
- Debug, test and validate embedded software and firmware
- Create technical design documentation
- Use Git/GitHub for version control and collaborative development
- Work with development environments, compilers and coding tools
- Research technical problems and develop practical solutions
- Maintain and improve existing firmware and code bases
- Take ownership of assigned projects and drive them through design, development and testing
- Collaborate with hardware and software engineers
- Communicate technical information and project progress clearly
- Work with engineering and development teams across South Africa, the US and India
- Manage multiple projects and adapt to changing priorities