About the job Software Engineering Consultant - Python & Matlab
Software Engineer & Technical Consultant
Location: Johannesburg (Hybrid)
Experience: 3+ Years in Software Development
Education: STEM Degree (Engineering, Computer Science, or Mathematics)
Bridge the gap between complex algorithms and enterprise software.
We are recruiting for a technical consulting firm that specialises in integrating advanced mathematical models into production environments.
While many companies build standard business applications, this team builds sophisticated decision-support tools, simulations, and analytical engines for the mining, finance, and aerospace sectors.
We are looking for a Software Engineer who wants to do more than write code. You will act as a consultant, working directly with clients to architect, build, and deploy technical solutions that solve critical operational challenges.
The Role: Engineering Meets Consulting
Architect Robust Solutions You will design software architectures that allow complex mathematical models to run reliably in enterprise environments. This involves making decisions on scalability, error handling, and system integration.
Full Cycle Development You will be responsible for the full Software Development Life Cycle (SDLC). This includes requirements gathering, UI/UX design, backend logic implementation, automated testing, and final deployment.
Enterprise Integration You will not just run models on a desktop. You will deploy them into cloud environments (Azure/AWS), integrate them with existing client databases (SQL), and wrap them in web or desktop interfaces for end-users.
Client-Facing Consultancy You will lead technical workshops with domain experts (such as engineers and actuaries) to understand their requirements. You must be able to explain complex software concepts to non-technical stakeholders and manage project expectations regarding scope and budget.
Technical Requirements
The Foundation A Bachelors degree in a STEM field is essential. Whether you studied Computer Science, Engineering (Electronic, Computer, Mechanical), or Mathematics, you must have a strong grasp of mathematics and linear algebra up to a 3rd-year level.
The Development Skills We require a minimum of 3 years of professional software development experience. You must demonstrate:
- Strong proficiency in Python or MATLAB.
- Experience with Object-Oriented Programming (OOP) and software design patterns.
- Solid understanding of version control (Git) and collaborative development workflows.
- Experience writing automated unit tests and maintaining code quality standards.
The Specialisations We are looking for candidates who have deep exposure to one or more of the following:
- Web Development: JavaScript, React, Angular, or similar frameworks for building dashboards and tools.
- Backend Engineering: API development, SQL database design, and server-side integration.
- Cloud & DevOps: Deploying solutions to Azure or AWS, using Docker or Kubernetes.
- General Purpose Languages: C#, C++, or Java.
The Culture and Environment
- Continuous Professional Development: The company actively funds external training and higher education (Masters/PhD). You will participate in regular code reviews and technical knowledge-sharing sessions.
- Hybrid Working: The role offers a mix of remote work and time in the office for collaboration.
- Mentorship: You will work in a flat structure where you can learn from senior architects while mentoring junior developers.
The Interview Process
The process is designed to evaluate both your engineering rigour and your consulting aptitude.
- Initial Discussion: An exploration your technical background and career interests.
- Take-Home Challenge: You will be given a specific problem to solve via code.
- Technical Review: You will present your solution to a panel. You will first demonstrate the business value as a consultant, then walk through the architecture and code structure as an engineer.
Apply now to start the process!