Develop/integrate/interface with the various components that comprise our product suite to generate better solutions.
Design and develop firmware/software solutions such as planning and simulation tools for efficient production.
Solicit business requirements from customers and develop system to technical specifications.
Develop tests (according to best practise) throughout the product development lifecycle.
Keep abreast of global technological developments in the software engineering space in order to provide direction for software development projects.
Support business strategy by aligning Software development activities with current system's 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.
Skills required:
Essential: A Degree in Computer Science, Engineering or equivalent.
5 years’ experience programming in a professional capacity. Software development experience using C++.
Any combination of the following Experiences an advantage: Experience working with or developing CI/CD pipelines. (highly advantageous).
Software development experience using Golang, QT and QML. (highly advantageous).
Mobile application development at commercial level, Android/ IOS. (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.
Web application development at commercial level, with [JavaScript, HTML5, Angular, NodeJS].
Experience using testing tools e.g. Selenium, Squish, Postman. 3D graphics rendering with OpenGL, (Linux and Windows).