The Software Developer is responsible for the enhancement and maintenance of software applications. These responsibilities include assisting with requirements gathering, coding, testing, and installing applications. This position will work with project management to ensure that project deadlines are met and that the work meets user requirements.
KEY RESPONSIBILITIES
Strong proficiency in Python or another programming language commonly used in data science.
Design and implement CI/CD pipelines tailored for ML applications and data pipelines.
In-depth knowledge of cloud platforms such as AWS , Azure , and experience with the services and experience in developing and managing infrastructure as code (IaC) using tools like Terraform , CloudFormation , or ARM templates.
Develop and manage containerized applications using Kubernetes , with experience in platforms like Azure, AWS, or OpenShift
Monitor model performance and health, setting up alerting and automated responses for incidents using frameworks like MLFlow , Kubeflow etc.
Implementing model and data versioning, drift analysis, continuous monitoring and rollbacks using Databricks -MLFlow or any other similar tools.
Strong problem-solving and troubleshooting skills, with the ability to identify and resolve infrastructure and performance issues.
Experience with version control systems, such as Git, and knowledge of CI/CD practices using GitOps tools.
Strong scripting experience using bash, shell or python.
Core Responsibilities:
Collaborate with data scientists, API engineers, and other stakeholders to understand requirements and ensure the availability, reliability, and seamless deployment of ML applications in production environments.
Develop and implement model monitoring and observability solutions to track model performance, detect drift, and ensure models meet accuracy and performance benchmarks in production.
Optimize and tune the performance of infrastructure and deployment workflows to ensure efficient scaling and high availability in production systems.
Troubleshoot and resolve issues related to infrastructure, deployment pipelines, and cloud services.
Continuously evaluate and recommend new tools, technologies, and frameworks to improve the efficiency and effectiveness of DevOps/MLOps processes.