Develop new and improve exisiting software products to contribute towardsthe teams internal process improvement.

  • Develop/integrate/interface with the various components that comprise company product suite to generate better solutions.
  • Design and develop firmware/software solutions such as planning and simulation tools.
  • Solicit business requirements from customers and develop system technical specifications.
  • Develop tests (according to best practise) throughout the product development lifecycle.
  • Keep abreast of global technological developments in the mining and software engineering space in order to provide direction for software development projects.
  • Support business strategy by aligning Software development activities with long-term objectives, customer needs, technology development.
  • Assist in the installation and commissioning of new software systems at client sites; interfacing with and ensuring the satisfaction of clients in this process.

  • Degree in Computer Science, Engineering or equivalent.

  • Minimum 5 years’ experience programming in a professional capacity.
  • Software development experience using C++.
  • Experience working with or developing CI / CD pipelines would be highly advantageous.
  • Experience using software design principles / methodologies e.g. SOLID, TDD, BDD, OO etc.
  • Project management methodologies e.g. AGILE, SCRUM, Kanban etc.
  • Experience using UX principles to develop user interfaces.
  • Software development experience using Golang, QT and QML would be highly advantageous.
  • Mobile application development at commercial level, Android/ IOS highly advantageous.
  • Web application development at commercial level, with [JavaScript, HTML5, Angular, and NodeJS].
  • Experience using testing tools e.g. Selenium, Squish, and Postman.
  • 3D graphics rendering with OpenGL, (Linux and Windows).

Desired Skills:

  • C++
  • Agile
  • Scrum
  • Programming
  • UX

Desired Qualification Level:

  • Degree

Learn more/Apply for this position