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.
- Familiarity with data pipeline tools (e.g., Airflow) is a plus.
Benefits
- Competitive salary and potential for performance-based bonuses.
- Hybrid work model balancing office and remote work.
- Comprehensive health and wellness benefits.
- Generous paid time off and company holidays.
- Opportunities for professional development, training, and conference attendance.
- Exposure to a challenging and innovative ML platform development environment.
- Collaborative team culture in **Bloemfontein**.
- Stock options or equity in a fast-growing company.
- Modern office facilities and amenities.
- Team social events and activities.