Senior Consultant – Software Engineering
Opti-Num solutions have been innovating in the South African technology sector for almost 30 years. We collaborate with our clients, applying our innovative thinking and class-leading tools to develop meaningful solutions that allow our clients to make impactful, evidence-based, business decisions.
We’re looking for an individual who can join our awesome team of data scientists and engineers to help design, develop, and deploy ground-breaking solutions for our clients. Your first project would be in support of one of our clients in the finance industry, designing and developing cutting edge financial models and algorithms, and the software infrastructure to support the running and governance of these models.
What we’re offering
- Cross industry exposure – consult with, get advice from, and share your projects with colleagues from a wide range of industries, including telecommunications, mining, process engineering, automotive, property, and financial industries. We have a culture that encourages knowledge transfer through project shares and code and design reviews at all levels.
- Endless learning opportunities – from coding dojos, a data science club, and internal training courses, to funding for external courses and further studies.
- Flexible hybrid working conditions – we support working remotely, but our well-equipped offices with a great atmosphere are available for those days when you wake up in the mood for office environment.
- Mentorship – receive mentorship and guidance from our team leads and senior management, while at the same time, have the opportunity to mentor junior and graduate engineers on the team.
What we’re looking for
- Ability to engage with clients – the most exciting technical challenges that our clients come to us for help with need deep engaging conversations as we uncover the problem and discover the business requirements together.
- Strong software engineering skills – we need you to have experience applying software architecture and design patterns, a good understanding of automated unit testing, and hands on experience using Git to collaborate with a team. You would also need to be able to support and coach others on best practices (both colleagues and clients), and support with integration and deployment into the client’s production systems.
- Driven and self-managing – with reasonable support, you should be able to manage your own time and objectives. You should be able to monitor your own project success by evaluating implementation progress against milestones and budget usage and manage scope creep and change control.
- An eye for detail – you need to be someone who likes to dig into the “Why?”. When you see an interesting or unusual result, we’d like you to be someone who notices, and stops and thinks about it. The most exciting work we do comes from noticing something in the data that doesn’t make sense at first.
- Programming experience – we’re looking for a minimum of 3 years industry experience writing object-oriented code in MATLAB, Python, or a similar language. Experience with SQL is a huge plus.
- Education – Bachelor’s degree in a STEM field. The work we do requires a strong grasp of linear algebra, so a strong focus on mathematics is essential, preferably up to a 3rd year level. We’re looking for qualifications such as mechanical, electrical, chemical or computer engineering, physics, computer science, mathematics, computational and applied maths, statistics, actuarial sciences, financial engineering, or financial mathematics. A Master’s degree or interest in pursuing a Master’s degree is great (we can help you with this).
Apply for this Position
- To apply for this position, complete our online application form. You will need your CV and/or other supporting documentation in PDF or DOCX format. Please reference SCSE in your application.
If your application passes our initial screening, you will enter our interview process, which usually consists of two interviews, both conducted remotely. The first interview is conversational, and we will ask questions around your interests, skills, and experience. Following this, you may be given a take-home task, which will involve coding a small problem which you would have to present back to us during the second interview, first as if we were clients wanting to see insights, and then as if we were colleagues in the form of a code review.