The DevOps Engineer will play a key role in the Sophos development process by facilitating, managing, communicating and automating tasks for the deployment and configuration of continuous feature builds for multiple development teams. By leveraging knowledge and expertise in the deployment of SaaS applications and microservices hosted in the cloud, the DevOps engineer will streamline the process of quick and frequent automated builds, and help elevate the Sophos development process to the next level of agility. As a member of the Sophos DevOps team, you will work closely with software engineers, architects, product management and others to design and build the foundational toolset and capabilities that allow Sophos developers to quickly bring new features to market.
- Collaborate with multiple feature development teams to identify needs for building and deploying their applications.
- Deploy and configure daily iterative builds of applications and containers into Tomcat server and Kubernetes clusters for multiple feature development teams. Deploy and configure MongoDB test databases with test data.
- Develop and implement automation for deployment and configuration tasks.
- Identify cloud infrastructure needs for deployment environments and manage cost.
- Troubleshoot failed builds and deployments. Determine and fix environment and configuration issues. Analyze logs and communicate potential code issues to development teams.
- Facilitate, manage and communicate information related to environments - their current state, deployed versions and availability to developers, QA engineers and team members.
- Own and execute Bitbucket, Artifactory and Jenkins-based software configuration and release activities in central Git repositories and Jenkins builds, branching, tagging, building, releasing.
- Support services and applications 24/7 by participating in an on-call rotation.
Experience & Skills
- BS in Computer Science or equivalent
- Strong knowledge with scripting languages, preferably python and groovy
- Experience with build tools like Gradle, Maven, Npm
- Experience supporting production grade systems including Linux administration, deployment, high availability & durability, practical logging & monitoring, and cost optimization in a public cloud, preferably AWS
- Hands on experience with Terraform
- Knowledge of AWS services including EC2, ECS, EKS, Fargate, IAM, CloudWatch, SQS, SNS, S3 is preferrable.
- Kubernetes and container orchestration experience a big plus
- Experience with Blue/Green deployments is preferred
- Experience with CI/CD tools and automation methodologies, specifically Jenkins
- Strong working knowledge of Docker and the container ecosystem
- Excellent operational knowledge of Linux operating systems
- Administration and automation skills with developer tools like Bitbucket, Artifactory
- Some experience with CI/CD automation for DevSecOps tools like Sonar, Blackduck