Software Developer
Job Description:
We are hiring two Software Developers with strong end-to-end development skills to join a focused, fast-moving team. You'll design and build solutions across business, mining, and production systems, solving real operational challenges. The role includes hands-on development, system maintenance, and integration work. Expect a dynamic environment where your code directly improves efficiency and enables smarter mining. If you enjoy solving complex problems and building innovative systems, this is the space for you.
Minimum Qualifications / Experience / Competencies
· BSc Computer Science or similar tertiary qualification.
· Based in Cape Town or willing to relocate.
· At least 3 to 5 years’ worth of professional development experience.
· Strong object-oriented programming skills.
· Proven ability to leverage the Microsoft suite to build capabilities and functionalities.
· Proficiency in C# with at least 3 years solid exposure at an academic or professional level.
· Experience in Web Development (including front-end and back-end development) is required.
· Skilled in C#, ASP.NET MVC/.NET Core, Entity Framework (or similar ORM) for SQL Server, JavaScript frameworks (e.g., HTMX/React, Angular), HTML5, and building RESTful API’s.
· Advantageous: Razor pages, Entity Framework, Azure experience, GitLab and/or, Linux servers, VPS, Apache
The candidate must be medically fit in terms of the Mine Health and Safety Act.
Duties and responsibilities
· Full Stack Developer with proficiency in C# and T-SQL.
· Clear communication skills to be able to advise customers on possible right fit solutions.
· Agile, inviting scope changes, and helping customer reach a solution.
· Able to manage multiple projects and deliverables in a small team.
· Strong understanding of software development life cycle process.
· Experience in system architecture and integration.
· Understanding the business requirements, coding, testing and debugging before rolling out to the users.
· Identifying production and non-production application issues.
· Contributing to all phases of the development lifecycle.
· Liaising with customers in scoping requirements.
· Raising concerns with designs and identifying areas of improvement in the software delivery process.
· Supporting legacy systems while transitioning to newer technologies.
· Lead and mentor junior developers.
· Conduct Code reviews and identify potential issues.
Stay up to date with the latest technologies and coding practices.