Senior Software Engineer - Machine Learning Platform
Senior engineer building and maintaining a machine learning platform: CI/CD pipelines for model deployment, APIs for training and inference, monitoring, and platform scalability. Hybrid role based in Bloemfontein using Python/Go/Java/C++, AWS/Azure/GCP, Docker/Kubernetes, and MLOps practices.
- Compensation
- Not disclosed
- Location
- Bloemfontein, South Africa
- Work setup
- Hybrid
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Ml / AI
- Posted
Skills
Must have
- Bachelor's degree in Computer Science, Software Engineering, or related field
- 5+ years of software development experience focused on backend systems or platforms
- Strong proficiency in at least one of Python, Go, Java, or C++
- Experience with cloud platforms (AWS, Azure, or GCP) and their services
- Familiarity with Docker and Kubernetes
- Understanding of machine learning concepts and workflows
- Experience with database technologies (SQL and NoSQL)
- Knowledge of CI/CD principles and tools (e.g., Jenkins, GitLab CI)
- Experience with distributed systems and microservices architecture
- Strong problem-solving and debugging skills
- Excellent communication and collaboration abilities
Nice to have
- Experience with MLOps tools and practices
- Familiarity with data pipeline tools (e.g., Airflow)
Full description
About the Role
Our client is a rapidly growing technology firm focused on building scalable and robust machine learning platforms. We are looking for a talented Senior Software Engineer to contribute to the development and enhancement of our core ML infrastructure. You will be instrumental in designing, building, and maintaining the software systems that enable our data scientists and ML engineers to develop, train, and deploy models efficiently. This role requires a strong software engineering background coupled with an understanding of ML workflows. The position offers a hybrid work model, allowing for collaboration and flexibility within our Bloemfontein office. Join a team passionate about empowering AI development through cutting-edge engineering.
Key Responsibilities
- Design, develop, and implement scalable and reliable software systems for our machine learning platform.
- Build and maintain CI/CD pipelines for ML model deployment and management.
- Develop APIs and services to support ML model training, experimentation, and inference.
- Collaborate with data scientists and ML engineers to understand their needs and provide robust software solutions.
- Optimize platform performance, scalability, and reliability.
- Implement monitoring, logging, and alerting for platform services.
- Write clean, maintainable, and well-tested code.
- Contribute to architectural decisions and technology selection for the ML platform.
- Troubleshoot and resolve software defects and performance issues.
- Stay current with best practices in software engineering and MLOps.
- Mentor junior engineers and contribute to team knowledge sharing.
- Ensure the security and compliance of the platform components.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- 5+ years of experience in software development, with a focus on building backend systems or platforms.
- Strong proficiency in at least one programming language such as Python, Go, Java, or C++.
- Experience with cloud platforms (AWS, Azure, or GCP) and their services.
- Familiarity with containerization technologies like Docker and orchestration tools like Kubernetes.
- Understanding of machine learning concepts and workflows.
- Experience with database technologies (SQL and NoSQL).
- Knowledge of CI/CD principles and tools (e.g., Jenkins, GitLab CI).
- Experience with distributed systems and microservices architecture.
- Strong problem-solving and debugging skills.
- Excellent communication and collaboration abilities.
- Experience with MLOps tools and practices is a significant advantage.