An IaC Engineer is responsible for creating automated pipelines to provision and configure infrastructure using software development practices such as CI/CD, automated testing and GitOps. This person has both strong DevSecOps skills as well as a good understanding of the infrastructure that is to be provisioned. This role is responsible for building the IaC framework for a customer and is also responsible for enabling the customer to extend and scale the framework in the future, through mentoring and pairing.
This role will also be involved to introducing automation to other teams, allowing the IaC framework to integrate with these teams, fostering an automation community of practice at the customer and fostering an agile mentality within operations teams.
Responsibilities
- Enabling operations teams in both coding practices and on the usage of the IAC framework
- Enabling the customer's automation architecture
- Automating customer infrastructure and services
- Integrating automation with customer ITSM processes
- Gathering requirements from automation use cases to improve the IAC automation framework
Required Skills And Experience
General:
- Good interpersonal skills and cultural awareness
- Proactive, self-starter and ability to work within deadlines
- Ability to work in an agile environment in sprints and in an iterative manner
- Significant hands-on experience, automating the provisioning and configuration of large-scale infrastructure
- Ability to work well within and across teams to deliver high-quality solutions
- Strong communication skills and an ability to enable others through coaching and pairing
CI/CD Concepts and Tools
- Experience using CI/CD techniques in DevOps and IaC approaches
- Experience with CI/CD tools such as Jenkins
- Experience with Git and GitOps in a Continuous Delivery pipeline
- Experience with containerized workloads in a Continuous Delivery pipeline
Programming/Scripting in an IaC Framework
- Experience of Linux
- Experience with API development and use in IaC
- Experience with JSON/YAML
- Experience with Test-Driven Development (TDD) and understand how it can be used to improve quality
- Experience with Agile Software Development methodologies and Agile project management tools such as JIRA
- Experience with scripting such as Python /Powershell /BASH/PowerShell
- Basic administrator knowledge of Unix systems
Provisioning and Configuration Tools
- Experience automating with Ansible
- Experience with writing declarative code and understand why it is beneficial in an IaC approach
- Experience with Terraform and understand how it can be used to provision targets in IaC
Secrets and certificates management:
- Experience with Password/Secrets Management e.g. Vault
Service Catalogues and IaC
- Experience with integrating Service Catalogues (e.g. ServiceNow) into an IaC framework
Cloud infrastructure
- Experience with public cloud provider as Microsoft Azure, AWS or GCP
- Experience with on-prem private cloud as VMware vSphere, Tanzu, OpenShift