About the job
The Senior DevOps Engineer is responsible for establishing and employing continuous integration (CI) practices and tools. They will be able to use configuration management and infrastructure automation tools in creating continuous delivery (CD) systems. A successful engineer will be able to employ industry continuous delivery patterns and work collaboratively with other team members to achieve successful continuous delivery solutions. They will also have experience in programming and scripting in a high-level language such as PowerShell script, Ruby, Python, Java, C# or other language to script installation, configuration, and provisioning. They will be writing scripts to build code, docker images and deploy and orchestrate containers (Docker and Kubernetes). They will be providing continuous delivery solutions in cloud as well as on-prem environments.
Under the direction and guidance of the team lead, the essential functions include:
• Create development and test environments and introduce development practices to bridge the gap between build development, test, and production environments.
• Ensures smooth operation of build and deployment pipelines to support engineering development cycle.
• Responsible for compliance automation to help ensure that infrastructure is protected from malicious intrusions and other security issues. • Build, enhance and maintain CI/CD infrastructure.
• Recommend and implement improvements in CI/CD infrastructure for improved productivity and cost effectiveness.
• Continuously improve CI/CD pipeline(s) to facilitate engineering teams.
• Evaluate and adopt infrastructure and configuration management/automation tools (e.g., Chef/Puppet, Terraform etc.), with goal to move towards Infrastructure and configuration as Code.
• Mentor DevOps engineers for learning DevOps practices and product knowledge as defined by the Team Lead. Evaluate team members’ work, including design, code, and other deliverables.
• Act as subject matter expert in DevOps tech and process for the leaders and managers.
• Advocate automation and EaC (everything as code).
• Write and maintain deployment scripts.
• Lead deployment activities for Elixir Technologies and customer managed environments in collaboration with relevant IT/Operations teams.
• Build continuous delivery pipelines across all applications and all change events.
• Create artifacts that can be deployed on-demand to bare-metal, VMs, or containers without any rewriting or refactoring.
• Continuously improve deployment scripts to facilitate internal teams and customers.
• Help transition towards immutable deployment model and zero down time deployment.
• In collaboration with development teams, continuously improve source code build and compilation process, including upgrading compilers, build tools and libraries/SDKs.
• Ensure that automated tests are linked with CI pipeline to ensure the quality of commits.
• Continuously strive to automate any manual steps in routine build and deployment activities.
• Enable engineering team to generate and deploy builds/artifacts on demand without requiring assistance from DevOps team or lengthy manual steps.
• Embrace and sustain a work environment that supports Elixir’s core values: Community, Learning Culture, Integrity, and Pioneering.
• Strong communication (oral and written) skills
• Strong people and interpersonal skills
• Strong organizational and project management skills
• Strong time management skills
• Proven ability to work collaboratively and mentor engineers.
• Strong analytical and reasoning skills with an ability to visualize processes and outcomes.
Required education and experience
• Bachelor’s degree in Computer Science, Computer Engineering, or related technical discipline.
• 4+ years of experience in different DevOps roles.
• Practical knowledge of shell scripting and at least one scripting language (Python/PowerShell).
• Deep understanding of Service-Oriented Architectures, Micro Services and Distributed System.
• Experience in managing/maintaining “infrastructure as code” and “configuration as code.”
• Managing system resources using Terraform and/or other configuration management tools such as Ansible, Puppet (or other such tools).
• Understanding of basic network components and skilled in troubleshooting networking problems.
• Experience of working on distributed multiple layered enterprise applications.
• Sound understanding of containers and k8s and Experience of K8s management platforms like Amazon EKS, OpenShift, Rancher etc.
• Good knowledge of monitoring tools (like Kibana/Grafana).
• Skilled in using IaaS, PaaS platforms like AWS, Azure and/or GKE.
• Experience of cloud-based DevOps services (AWS or Azure).
• Prior experience of building and maintaining CI/CD pipelines.
• Experience in CI/CD tools like Jenkins and AWS Code pipeline.
• Experienced in using various source code compilation and build tools like Make, CMake, MSBuild, Ant Maven, Gradle etc.
Preferred education and experience
• Masters’ degree in Computer Science, Computer Engineering, or related technical discipline.
• Exceptional code building and programming skills.
• Experience in porting/upgrading source code build/compilation on different compiler and library/SDK versions and platforms.
• Experience in managing and building source code repositories for distributed enterprise applications involving multiple languages and build tools.
• DevOps and Cloud Solution Architect certification(s) will be a plus. For example, AWS Certified DevOps Engineer, Hashicorp Terraform Associate etc
To apply for this job please visit www.linkedin.com.