Embedded Software Engineer required in Johannesburg.
The Embedded Software Engineer is responsible for assisting with the analysis, design, configuration, and implementation of embedded software solutions for public transport systems, as well as supporting broader ICT solutions including servers, networks, and software platforms.
The role requires a strong foundation in embedded Linux systems combined with a solid understanding of general ICT principles. The Embedded Software Engineer works collaboratively within cross-functional teams to deliver secure, reliable, and scalable technical solutions while supporting integration, testing, documentation, and ongoing system optimisation.
Salary: R750 000 – R900 000 Annually.
Duties and Responsibilities:
- Requirements Analysis & Solution Design
- Analyse and translate customer and prospect public transport application requirements into detailed technical specifications and system architectures.
- Collaborate with internal teams to design, develop, and customise embedded software solutions that meet operational and performance requirements.
- Embedded Software Development
- Implement, configure, and maintain embedded Linux-based solutions for public transport applications.
- Ensure high levels of system availability, performance, security, and reliability.
- ICT Systems Integration
- Apply general ICT knowledge to design, configure, and implement integrated solutions involving servers, networks, databases, and software platforms.
- Develop and manage integration gateways to ensure seamless interoperability between embedded systems, external applications, and network infrastructure.
- Testing & Validation
- Conduct comprehensive system testing, including internal testing, integration testing, and user acceptance testing (UAT).
- Ensure final solutions meet defined specifications, quality standards, and customer expectations.
- Troubleshooting & Maintenance
- Diagnose and resolve system issues across embedded software and ICT infrastructure.
- Identify root causes of application or system failures and implement corrective actions to prevent recurrence.
- Documentation & Knowledge Transfer
- Prepare and maintain technical documentation including system designs, test procedures, configuration guides, and user manuals.
- Participate in skills transfer initiatives to share system knowledge with clients and third-party partners.
- Collaboration & Continuous Improvement
- Collaborate with local and international teams on configuration control, quality assurance, system integration, and documentation.
- Stay current with emerging technologies and industry best practices, applying new knowledge to improve system performance and scalability.
Role Requirements:
Qualifications & Experience
- Bachelor’s degree in Computer Science, Information Technology, Information Systems, or a related field from an accredited institution.
- Minimum of 7 years’ hands-on experience in the design, development, configuration, and testing of embedded systems or software applications.
- Proven experience working with embedded Linux systems.
- Knowledge of networking protocols, server configuration, and general ICT principles.
- Basic proficiency in at least one programming language such as C, C++, Python, or similar, with the ability to learn additional languages as required.
- Experience in the public transport sector will be advantageous but is not mandatory.
Technical Skills:
- Embedded Linux systems implementation and support.
- General ICT systems knowledge including servers, networks, and databases.
- Integration and gateway development.
- System testing, validation, and troubleshooting.
- Technical documentation and configuration management.
Behavioural Competencies:
- Self-motivated and proactive, with the ability to work independently.
- Strong problem-solving and diagnostic skills.
- Adaptable and technically agile, with the ability to switch between technologies as required.
- Customer-focused mindset with a solution-oriented approach.
- Strong collaboration and communication skills, both written and verbal.
- High attention to detail and commitment to quality.
- Professional and mature approach to work, balancing internal standards with client-specific requirements.