Machine Learning Engineer (Junior)
About Discovery
Discovery’s core purpose is to make people healthier and to enhance and protect their lives. We seek out and invest in exceptional individuals who understand and support our core purpose, and whose own values align with those of Discovery. Our fast-paced and dynamic environment enables smart, self-driven people to be their best. As global thought leaders, Discovery is passionate about innovating in order to not only achieve financial success, but to ignite positive and meaningful change within our society.
About Discovery Bank
Discovery Bank is a bank like no other – a shared-value bank, designed with our clients in mind. We’re all about sharing the value that clients create when they manage their money well, back with them through exceptional interest rates and rewards. Our Vitality Money programme measures how well clients manage their finances, informs them of what it means to be financially healthy, and empowers them with the knowledge to get enhanced rewards for managing their money well. If you’re adaptable, a problem-solver, always questioning the way things are done, passionate about doing what is right, and obsessed with providing a quality service experience, we have a job for you where you can be your best in an environment that’s safe and nurturing.
Job Purpose
We are seeking a talented and enthusiastic Machine Learning Engineer to join our Machine Learning Operations team. As a Machine Learning Engineer, you will be responsible for designing, building, testing, deploying, and monitoring machine learning and analytics applications and processes. This position offers the opportunity to work with cutting-edge technologies and contribute to the automation of machine learning and AI use cases. You will work closely with data scientists, actuaries, data engineers, and other software engineers to contribute to architecting the bank's modern Machine Learning ecosystem.
Key Outcomes may include but are not limited to:
Machine Learning Automation and Software Engineering:
- Design, build, and deploy machine learning and analytics automation processes.
- Refactor existing code bases to enhance efficiency, robustness (in terms of testing, code quality), scalability and automation of machine learning workflows.
Cloud-Native Development:
- Utilize Databricks and Azure as a primary platform for data engineering and machine learning use cases.
- Work within the Azure ecosystem, leveraging services such as Azure Functions, CosmosDB, API Gatway, Azure Machine Learning, etc. to build intelligent data applications.
DevOps, Version Control, and Software Engineering:
- Build out CI/CD pipelines to improve development and deployment practices. Hands-on experience with Git and DevOps tools such as Jenkins and Azure DevOps is required.
- Build robust testing and monitoring capabilities for machine learning and AI use cases.
- Knowledge of Terraform is advantageous.
- Experience building APIs to serve machine learning models.
- Apply software engineering best practices to develop robust, scalable, and maintainable code.
- Create microservice applications using Docker and container orchestration tools like OpenShift.
- Collaborate with cross-functional teams to deliver high-quality solutions software solutions for machine learning and data use cases.
- Create and maintain documentation of processes, technologies, and code bases.
Machine Learning Frameworks:
- Familiarity with machine learning frameworks/packages such as MLFlow, PyTorch, Tensorflow, etc is beneficial for the productionization of machine learning use cases.
Collaboration:
- Collaborate closely with data scientists, actuaries, data engineers, and other data software engineers to understand and address their data needs.
- Contribute actively to the architecting of our bank's modern Machine Learning data ecosystem.
Education and Experience:
- At least 1-3 years’ working experience as a Software Engineer.
- Bachelor’s degree in engineering or a related field. Other qualifications will be considered if accompanied by sufficient experience in software engineering.
Technical skills or knowledge:
- 2-years’ experience using Python, SQL.
- Exposure to Linux shell scripting advantageous.
- Experience with Spark is advantageous.
- Experience and interest in software architecture.
- Knowledge of cloud compute services.
- Familiarity with serverless computing and cloud-native development.
- Keen interest in systems design and software architecture.
- Knowledge of machine learning frameworks/packages (e.g MLFlow, Spark ML, Sklearn etc).
- Understanding of CI/CD concepts and API development, implementation experience advantageous.
- Strong critical thinking, problem-solving and collaboration skills.
- Ability to collaborate with cross-functional tech teams as well as business/product teams.
- Excellent communication skills.
- Commitment to excellence and high-quality delivery.
- Passion for personal development and growth, with a high learning potential.
EMPLOYMENT EQUITY
The Company’s approved Employment Equity Plan and Targets will be considered as part of the recruitment process. As an Equal Opportunities employer, we actively encourage and welcome people with various disabilities to apply.