DevOps Engineer
Description
【About the Role】
As a DevOps Engineer, you will build and maintain the delivery systems that help our teams test, release, deploy, and upgrade machine learning products reliably.
You will develop CI/CD pipelines that support automated testing, integration validation, software packaging, and release management across multiple products and customer environments. You will also design upgrade scripts and operational processes that allow production services to be updated safely and consistently at customer sites.
You will work closely with machine learning engineers, QA engineers, deployment teams, and product stakeholders to improve release quality, reduce operational risk, and make software delivery more repeatable and efficient.
maintainable solutions.
【Responsibilities】
- Design, build, and maintain CI/CD pipelines that support automated tests, integration tests, software builds, packaging, and release workflows.
- Develop reliable release and production upgrade processes that ensure the correct software versions and configurations are delivered to the appropriate environments, with clear versioning, artifact management, rollback planning, and release documentation.
- Collaborate with engineering and QA teams to integrate their tests and validation procedures into automated delivery pipelines.
- Investigate and resolve issues involving builds, deployment environments, release failures, and production upgrades.
- Follow and promote good engineering practices through automation, code reviews, testing, documentation, and continuous improvement of delivery processes.
【Key Qualifications】
- Strong programming and software engineering fundamentals, with proficiency in Python, shell scripting, or other relevant automation languages.
- Experience designing and maintaining CI/CD pipelines using GitLab CI or a similar platform, with Git-based development workflows and collaborative software-development practices.
- Experience developing deployment scripts, upgrade procedures, and operational automation for production services.
- Familiarity with Linux systems, command-line tools, process management, file permissions, networking, and troubleshooting deployment environments.
- Strong problem-solving, communication, and collaboration skills, with an interest in improving reliability and efficiency across the software-delivery lifecycle.
【Preferred, but Not Required】
- Experience managing software releases across multiple products, customers, or deployment environments.
- Experience working with production environments that have restricted connectivity, controlled upgrade processes, or strict release requirements.
- Familiarity with containerized build and deployment workflows, artifact repositories, package registries, and dependency management using technologies such as Docker.
- Familiarity with infrastructure automation, configuration management, or tools used to create repeatable deployment environments.
- Experience designing rollback, recovery, and failure-handling procedures for production upgrades.
- Familiarity with machine learning systems and the testing, packaging, and deployment of their supporting services.
You do not need to match every preferred qualification. We value strong automation fundamentals, careful release practices, and the ability to turn complex deployment processes into reliable and repeatable workflows. We are hiring for both mid-level and senior-level engineering positions, and the scope and expectations of the role will be considered based on your experience and seniority during the interview process.