Software & Controls Engineer – Embedded Systems for Mining Machinery
SupportFinity · Johannesburg
Job description
About the role
Our client, a leading manufacturer of mobile mining machinery, is looking for a Software & Controls Engineer to design, develop, integrate, test and maintain embedded software and control systems for underground mining machines. The role focuses on embedded C/C++, C#, structured text, CAN bus diagnostics and bootloaders while requiring solid electrical systems knowledge.
Key responsibilities
- Collaborate with product management and cross‑functional engineering teams to translate machine‑level needs into software and controls requirements.
- Architect, implement and review embedded software/firmware for new features, diagnostics, algorithms, I/O handling and safety functions (primarily in C/C++).
- Develop control strategies and algorithms; define performance criteria; create validation plans (SIL/HIL) and execute tests to verify requirements.
- Perform hands‑on hardware bring‑up, board support/configuration, interface definition, system debugging and code optimisation.
- Configure and integrate communication protocols such as CAN/CANopen/J1939, RS‑232/422/485 and TCP/IP/Ethernet.
- Create and maintain technical documentation including requirements, architecture/design specifications, test plans, release notes and user/service guides.
- Ensure interface compatibility across machine iterations through close collaboration with mechanical, electrical and hydraulic design engineers.
- Apply safety regulations and standards (ISO/ANSI/CSA/IEC) relevant to the customer geography.
- Support commissioning, troubleshooting and remote/field diagnostics, providing guidance to technicians and stakeholders.
- Mentor junior team members and lead design reviews while contributing to continuous improvement initiatives.
- Travel to test sites and customer locations as required.
Required profile
- Bachelor of Engineering in Computer & Electronics or Mechatronics (required).
- 3‑5 years of experience in embedded software/firmware and control systems for mobile machinery or industrial equipment.
- Experience with control architecture design and real‑time embedded systems (RTOS advantageous).
Required skills
- Proficiency in embedded C/C++ and/or C#; exposure to Python and Structured Text.
- Practical knowledge of DC electrical systems, wiring practices, sensors/actuators and power management.
- Familiarity with communication protocols: CAN, CANopen, J1939, RS‑232, RS‑422, RS‑485, TCP/IP and Ethernet.
- Experience with version control using Git.
- Ability to design, model, simulate and analyse control systems using MATLAB/Simulink or similar tools.
- Strong debugging skills with oscilloscopes, logic analysers and ability to interpret schematics and datasheets.
- Knowledge of ISO/ANSI/CSA/IEC electrical and functional safety principles for mobile machinery.
- Familiarity with BOM structures and DFMEA processes.
- Ability to develop HIL/SIL test harnesses and author unit, integration and automated regression tests.
Questions fréquentes
Why are you reporting this job?
Explore further
Salaries, guides and searches in South Africa.
Salaries by job title
Apply in 30 seconds
Enter your email to apply. An account will be created automatically.
By continuing, you accept our terms of use.
Already have an account? Login
Published 10 hours ago
Expires 1 month from now
7 views · 0 interested
Boost your chances
Upload your CV — we will match you with relevant openings.
Analyzing your CV...
SupportFinity
Johannesburg
Related job offers
-
Maintenance Manager
Pollock and Associates Johannesburg -
Product Manager – Automotive Components
Pollock and Associates Johannesburg -
Senior Underground Mine Planner - Lead Regional Planning
Barrick Gold Corporation Johannesburg -
Senior Project Manager – Space Payloads (Somerset West, SA)
simera-sense Somerset West -
Senior Electro-Optical Characterization Scientist
simera-sense Somerset West