Point your AI agent at freehire and let it find you a job.

Get the CLI →

Software Engineer Mining Systems

NewBe an early applicant

Summary

A software engineer in Johannesburg building and supporting industrial software for mining systems and equipment — control, monitoring, diagnostics and data acquisition across the full SDLC. Involves software–hardware integration with PLCs, sensors and machine-control systems, likely in C++, C#, Python or Java.

A leading mining technology and engineering organisation is seeking a talented Software Engineer to join its specialist team developing and supporting advanced software solutions for mining systems and equipment .
This role is ideal for a software engineer who enjoys working at the intersection of software, automation, electronics and mining technology , and who wants to contribute to solutions that improve the safety, efficiency and productivity of mining operations.
The successful candidate will be involved in the full software development lifecycle, from requirements analysis and system design through to development, testing, commissioning and ongoing support.

Key Responsibilities

  • Design, develop, test and maintain software applications for mining systems and equipment .
  • Develop software for industrial, automated and embedded mining applications .
  • Translate engineering and operational requirements into robust software solutions.
  • Develop and maintain control, monitoring, diagnostic and data-acquisition software .
  • Integrate software with electronic, electrical, PLC, sensor and machine-control systems .
  • Interface with hardware, communication networks and third-party systems.
  • Develop software for real-time monitoring and control of mining equipment .
  • Implement communication protocols and interfaces between different system components.
  • Perform software debugging, fault finding and root-cause analysis .
  • Conduct unit, integration, system and functional testing.
  • Support system integration, commissioning and troubleshooting at customer and mining sites.
  • Analyse system performance and implement software improvements and optimisation.
  • Develop and maintain technical documentation, software specifications and test procedures.
  • Participate in code reviews, design reviews and software quality processes .
  • Collaborate closely with electronic, electrical, mechanical, control systems and mining engineers .
  • Work with project teams to ensure software deliverables meet technical, quality and project requirements.
  • Provide technical support for software deployed in operational mining environments.
  • Investigate field issues and implement corrective and preventative software solutions.
  • Contribute to the development of new mining automation, machine intelligence and digitalisation solutions .
  • Maintain version control, software configuration management and development standards.
  • Stay up to date with emerging technologies relevant to mining automation, industrial software and smart mining systems .

Minimum Requirements

  • Bachelors degree in Computer Science, Software Engineering, Electronic Engineering, Electrical Engineering, Mechatronic Engineering or a related field.
  • 35+ years' experience in software development, preferably within an engineering, industrial automation or mining environment.
  • Strong programming experience in one or more relevant languages such as C++, C#, Python, Java or similar .
  • Experience developing software for industrial, embedded or real-time systems would be highly advantageous.
  • Experience with software-hardware integration .
  • Strong understanding of software development methodologies and version-control systems.
  • Experience with debugging, testing and system integration.
  • Knowledge of industrial communication protocols and networking would be advantageous.
  • Exposure to PLC, SCADA, automation or control systems would be beneficial.
  • Mining industry experience is highly advantageous.
  • Willingness to travel to mining sites when required.
  • Valid driver's licence would be advantageous.

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available