Software Engineer (Machine Learning)
Cape Town, Western Cape, ZA
Who are we?
Sanlam was established as a life insurance company in South Africa but has since transformed into a diversified financial services group that operates across the African continent, India, Malaysia and selected developed markets, with listings on the Johannesburg, A2X and Namibian Securities Stock exchanges. In 2018 the Group celebrated its centenary as well as 20 years since demutualisation and listing in South Africa and Namibia. Sanlam is one of the largest internationally active insurance groups in the world with a presence in 27 countries and has the biggest non-banking financial services footprint on the African continent.
The Group's four business clusters (Sanlam Life and Savings, Sanlam Investment Group, Sanlam Allianz and Santam) house the Group's business operations. The Group Office provides strategic direction and support to the four clusters, assisting them in realising their strategies and meeting their business objectives. The Group Office is responsible for governance and for the Group's centralised functions, which include: Group Tecnhnology, Finance, Actuarial, Risk and Balance Sheet Management, Strategy, Human Capital, Brand, Marketing and Corporate Affairs. The Group Office ensures cohesive management across the organisation.
Build a successful career with us
We're all about building strong, lasting relationships with our employees. We know that you have hopes for your future — your career, your personal development and of achieving great things. We pride ourselves in helping our employees to realise their worth. Through its five business clusters — Sanlam Fintech, Sanlam Life and Savings, Sanlam Investment Group, Sanlam Allianz, Santam, as well as MiWay and the Group Office — the group provides many opportunities for growth and development.
Position Overview
SFTx is a newly established digital first business unit within the Sanlam Group on a mission to democratize financial advice and solutions for everyone across the African continent. We exist to pioneer inclusive financial confidence helping people build strong foundations to bridge the gap in generational wealth. Our culture is that of agility and constant deployment, we believe in learning fast, learning cheap and learning forward. Our aim is to provide a work environment where knowledge workers can accelerate the development of their ideas and bring innovation to market, at the same time provide compelling career and development proposition that will enable them to realize their dreams.
A Software Engineer (ML) is an independent contributor who takes ownership of ML-driven and data-intensive features from concept to production, whilst mentoring junior engineers and actively improving team practices. This role requires the ability to work autonomously, solve problems across the codebase and data/ML stack, and collaborate effectively with cross-functional teams. SEs in this track deliver complete features and models independently whilst demonstrating growing influence beyond individual tasks to impact the broader team.
Reporting to a Tech Lead, this role requires solid technical expertise, proven ability to deliver end-to-end solutions across data and ML systems, and emerging leadership skills in mentoring and process improvement. You will work closely with Product Management and Design teams to understand business context, collaborate with engineering peers to deliver high-quality solutions, and actively participate in improving development, testing, and operational practices across the team.
What will you do?
Feature Ownership & Delivery
- Take full ownership of new features and ML/data products, delivering them from concept to production independently.
- Work independently to create solutions without constant direction or supervision.
- Design and implement moderately complex systems, including ML pipelines and data workflows, with understanding of trade-offs.
- Solve problems in any part of the codebase, including data and ML components, demonstrating breadth of technical capability.
- Balance feature delivery with long-term code quality and technical considerations.
- Proactively identify and address small pieces of technical debt within work scope.
Code Quality & Technical Excellence
- Focus on operational and code excellence during code reviews and feature development.
- Contribute to coding standards and ensure code efficiency and reusability.
- Write robust, well-tested code that meets team quality standards.
- Participate actively in code reviews, providing constructive feedback to peers.
- Apply understanding of design principles and software engineering best practices.
- Work with multiple frameworks and explore libraries as needed for solutions, including ML frameworks such as scikit-learn, TensorFlow, or PyTorch.
ML Engineering
- Apply understanding of the ML model lifecycle: training, evaluation, deployment, and monitoring.
- Design and maintain data pipeline orchestration and workflow management.
- Apply data versioning, feature stores, and ML metadata management practices.
- Build and maintain model serving patterns and APIs for ML systems.
- Articulate the pros and cons of relevant data structures and algorithms for time and space complexity, including trade-offs as scope evolves.
Operational Excellence
- Participate actively in on-call rotations and handle incidents effectively.
- Implement robust monitoring, logging, and alerting for owned features, services, and ML systems.
- Respond to production issues promptly and escalate appropriately when necessary.
- Contribute to incident postmortems and help prevent recurrence of issues.
- Understand operational practices — scalability, robustness, fault tolerance, load balancing, and health checking — and apply them to ensure system and model reliability.
Cross-functional Collaboration
- Work effectively with Product Management and Design teams to understand business context and requirements and shape solutions.
- Effectively collaborate with engineering team members to bring out the best in others.
- Communicate complex technical ideas clearly and facilitate team discussions.
- Participate in technical discussions and contribute to team decision-making.
Team Improvement & Mentorship
- Proactively improve the team's development, testing, and operational practices.
- Begin mentoring junior engineers and provide constructive feedback.
- Take ownership of tasks and demonstrate leadership in feature delivery.
- Demonstrate growing influence beyond individual tasks to impact the broader team.
- Start scaling through others by guiding team members and delivering through them.
Qualification and Experience
- Relevant degree or diploma in Computer Science, IT, or related field (or equivalent practical experience).
- Typically 5+ years of software engineering experience.
- Proficient in multiple programming languages with understanding of language-specific best practices.
- Comfortable with complex algorithms and optimised data structures.
- Experience with distributed systems, APIs, databases, and scalable architecture.
- Understanding of cloud-based infrastructure and operational practices (monitoring, metrics, fault tolerance).
- Exposure to ML frameworks (scikit-learn, TensorFlow, PyTorch, or similar).
- Knowledge of cloud services such as AWS VPC, Auto Scaling, serverless computing, storage (EBS, S3), containers, and DNS is preferred, though not a prerequisite.
What will make you successful in this role?
- Independent Contribution: Proven ability to work independently on moderately complex problems, make sound technical decisions, and deliver complete features and ML/data solutions without constant supervision.
- Problem-solving Skills: Efficient at debugging and troubleshooting moderately complex issues across code and data/ML systems. Can analyse problems systematically and develop effective solutions with minimal guidance.
- Collaboration & Communication: Strong communication skills to facilitate team discussions, work effectively across functions, and explain technical concepts clearly. Builds positive working relationships with Product, Design, and Engineering colleagues.
- Business Awareness: Understanding of business context and how technical and ML work supports product goals. Aware of business model and contributes to product decisions with technical perspective.
- Mentorship Capability: Beginning to develop coaching skills through mentoring junior engineers. Provides constructive feedback during code reviews and helps others grow their capabilities.
Knowledge and Skills
Personal Attributes
Core Competencies
Turnaround time
The shortlisting process will only start once the application due date has been reached. The time taken to complete this process will depend on how far you progress and the availability of managers.
Our commitment to transformation
The Sanlam Group is committed to achieving transformation and embraces diversity. This commitment is what drives us to achieve a diverse, inclusive and equitable workplace as we believe that these are key components to ensuring a thriving and sustainable business in South Africa. The Group's Employment Equity plan and targets will be considered as part of the selection process.