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