Software Technical Lead
Listed on 2026-10-18
-
Software Development
DevOps, Embedded Systems/ Firmware/ IoT, Software Engineer, Unix/Linux
You will work as part of the Engineering team, reporting directly to the Engineering Manager and partnering closely with software, electronic, hardware, mechanical, production, quality, field support, and product management teams. In this role, you will act as the technical leader for a team developing collision avoidance, proximity detection, and driver monitoring solutions used in mining and heavy industrial environments. You will collaborate across disciplines to ensure software reliability, safety, performance, and successful product delivery while mentoring engineers and driving engineering best practices.
Howwill you make a difference?
As a member of the Digital Mine Engineering team, you will be responsible for providing technical leadership across the software and firmware stack supporting safety‑critical mining solutions. You will define technical direction, own architectural decisions, manage the software backlog, and contribute directly to software development activities. The role combines hands‑on engineering with technical leadership, ensuring the delivery of reliable, scalable, and maintainable software products.
You will serve as the primary escalation point for complex software challenges, provide mentorship to the engineering team, and help drive continuous improvement in development processes, tooling, and software quality standards. Your contributions will directly support products designed to improve safety, operational performance, and reliability in demanding industrial environments.
- Bachelor's degree in Computer Engineering, Electronic Engineering, Computer Science, or a related discipline. Equivalent experience will be considered for exceptional candidates.
- Minimum of 7 years of professional software development experience.
- Minimum of 2 years of experience in a Technical Lead, Principal Engineer, Senior Engineer, or similar technical leadership role.
- Must be resident in South Africa and legally authorized to work in South Africa.
- Strong hands‑on programming experience in both Python and C++.
- Experience developing software or firmware that interfaces directly with hardware devices, sensors, and peripherals.
- Experience working with Linux on ARM‑based platforms, including cross‑compilation and deployment.
- Experience debugging hardware‑software integration issues using tools such as oscilloscopes, logic analyzers, or protocol analyzers.
- Experience designing and maintaining CI/CD pipelines, automated build processes, software quality checks, and release management workflows.
- Strong knowledge of Git and modern software development practices.
- Hands‑on experience with machine vision and deep learning frameworks such as OpenCV, PyTorch, Tensor Flow/Tensor Flow Lite, and ONNX.
- Understanding of machine vision model lifecycle management including dataset creation, model training, evaluation, and deployment.
- Strong system troubleshooting, problem‑solving, and root cause analysis skills.
- Excellent written and verbal communication skills.
- Experience with Git Lab CI/CD.
- Familiarity with Jira and Confluence.
- Experience working within Agile or Scrum development environments.
- Knowledge of edge AI deployment, model optimization, and embedded inference.
- Experience with Yocto, Buildroot, or similar embedded Linux build systems.
- Experience with CAN Bus, RS232/485, TCP/IP, MQTT, or related communication protocols.
- Experience with IoT, telemetry, telematics, GPS, Bluetooth, or Wi‑Fi technologies.
- Familiarity with functional safety standards such as IEC 61508 or ISO 26262.
- Experience with in mining, heavy industrial, automotive, or other safety‑critical industries.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).