Intermediate to Senior Embedded Software Developer (Permanent) Embedded Software Engineer
Wirk
About the role
About
We are looking for an Intermediate to Senior Embedded Software Developer to design, develop, test, and maintain software and firmware for vehicle communication interfaces and diagnostic devices. This role focuses on embedded systems used in automotive and vehicle diagnostics applications, including communication with ECUs, vehicle networks, and related hardware platforms.
The ideal candidate is comfortable working across low-level firmware, embedded software architecture, device communication protocols, hardware interaction, and product troubleshooting. This person should be capable of contributing both independently and collaboratively, with a strong emphasis on reliability, performance, and maintainability in real-world vehicle environments.
Responsibilities
- Design, develop, and maintain embedded software and firmware for vehicle communication and diagnostic products.
- Implement and optimize software for microcontroller- and processor‑based systems.
- Develop features for vehicle communication interfaces supporting automotive and heavy vehicle protocols.
- Build and maintain diagnostic communication stacks, device drivers, bootloaders, and middleware components.
- Interface embedded devices with vehicle networks such as CAN, CAN FD, LIN, K‑Line, J1708/J1587, J1939, UDS, OBD‑II, and related standards as applicable.
- Develop software for communication over USB, Bluetooth, Wi‑Fi, Ethernet, UART, SPI, and I2C 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 behavior, 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 or vehicle‑based testing.
Core Technical Focus Areas:
- Embedded C/C++ software development
- Real‑time and bare‑metal firmware development
- Automotive and vehicle diagnostics communication
- Embedded device interfacing and hardware interaction
- Protocol analysis, debugging, and performance optimization
- Firmware testing, verification, and production readiness
Basic Qualifications
- Bachelor’s degree in Electronic Engineering, 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.
- Good understanding of serial communication and low‑level hardware interfaces.
- Experience with debugging tools such as oscilloscopes, logic analyzers, protocol analyzers, 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.
Preferred Experience:
- Experience in automotive, commercial vehicle, telematics, or diagnostic device development.
- Practical experience with vehicle communication protocols such as: CAN / CAN FD LIN UDS OBD‑II J1939 ISO‑TP K‑Line
- Experience with RTOS‑based systems.
- Familiarity with hardware schematics and board‑level debugging during device commissioning.
- Experience with test automation and embedded validation frameworks.
- Experience with Python or scripting for test tools, diagnostic tooling, or manufacturing support.
- Familiarity with Linux‑based embedded systems is advantageous.
- 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 to support
For senior candidates, the role additionally includes:
- Leading technical design of embedded features and subsystems
- Making architectural decisions for firmware and communication stack design
- Mentoring less experienced developers
- Driving debugging and root‑cause analysis of complex field and integration issues
- Improving engineering standards, testing strategy, and maintainability
- Contributing to roadmap planning and technical risk management
Additional Nice‑to‑have Skills:
- Experience with automotive standards and compliance environments
- Knowledge of secure boot, secure firmware update, or embedded cybersecurity practices
- Knowledge of the Rust programming language
- Exposure to CI/CD pipelines for embedded systems
- Experience with protocol decoding tools and diagnostic test environments
- Familiarity with vehicle ECU behavior and real‑world workshop or service diagnostic use cases
Work Environment, Benefits and Perks
- Be part of a global digital transformation journey in manufacturing.
- Work with cutting‑edge technology and meaningful projects.
- Join a team that values principled entrepreneurship, collaboration, and respect.
- Opportunity to travel, grow your skills, and shape your own career path.
S4 is an Employment Equity employer who gives preference to suitable candidates who add to the diversity of the Company. All applicants meeting the requirements will be considered, but preference will be given to members of the designated groups (previously disadvantaged groups).
Skills
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