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 mannerSignificant 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 approachesExperience with CI / CD tools such as JenkinsExperience with Git and GitOps in a Continuous Delivery pipelineExperience with containerized workloads in a Continuous Delivery pipeline.Programming / Scripting in an IaC Framework
Experience of LinuxExperience with API development and use in IaCExperience with JSON / YAMLExperience 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 JIRAExperience with scripting such as Python / Powershell / BASH / PowerShellBasic administrator knowledge of Unix systems.Provisioning and Configuration Tools
Experience automating with AnsibleExperience with writing declarative code and understand why it is beneficial in an IaC approachExperience with Terraform and understand how it can be used to provision targets in IaCSecrets and certificates management :
Experience with Password / Secrets Management e.g. VaultService Catalogues and IaC
Experience with integrating Service Catalogues (e.g. ServiceNow) into an IaC frameworkCloud infrastructure
Experience with public cloud provider as Microsoft Azure, AWS or GCPExperience with on-prem private cloud as VMware vSphere, Tanzu, OpenShift