Purpose of Role
To implement DevOps technologies and processes, develop tooling to aid and supplement our off-the-shelf tools.
To train and mentor junior team members in technologies and practices used in day-to-day DevOps team work.
To train and mentor other business units in DevOps principles, practices and in-house tooling.
To design, implement and maintain platform infrastructure.
- Responsible for coaching / mentoring junior team members
- Involved in communicating effectively with the Product team to identify needs and evaluate alternative business solutions
- Involved in creating and reviewing technical requirements produced from requirements / stories created by Product team
- Involved in questioning and clarifying requirements with the Product team as necessary as development progresses
- Accountable for ensuring code reviews are carried out within the team.
- Involved in assisting support teams in bug fixing of released functionality.
- Developing tooling to supplement product capabilities.
- Developing tooling to supplement development team capabilities.
- Implementing and maintaining CI/CD processes, technologies and tools.
- Troubleshooting deployment incidents if they happen.
- Developing and maintaining technical documentation.
- Work across multiple engineering teams, breaking down silos and identifying common threads, issues and solutions to offer enhanced development practices
- Evangelise DevOps best practice to technical and non-technical teams alike; the DevOps culture does not stop with Engineers and Developers
- Share your knowledge of Lean/Agile practices and artifacts, encouraging collaboration and communication between individuals and teams
- Help the DevOps team in implementation of tooling and processes to achieve “Elite DevOps”
- Mentor and coach DevOps team members and delivery teams in tooling, technology and practices.
- Higher Education Qualification or equivalent (desirable)
- Degree or equivalent (desirable)
- Industry recognized software development qualification (desirable)
Culture & Experience
- The desire to work in a faced paced environment.
- Ability to coach junior team members and self-manage.
- Knowledge of software development life-cycles.
- Creative and capable of presenting ideas for systems improvements
- Excellent communication and stakeholder management skills
- Demonstrated experience applying good DevOps principles
- Experience delivering cloud-based CI/CD solutions
- Experience with Agile/Scrum development
- Good knowledge of API-driven, extensible, loosely coupled systems
- Good knowledge relating to automation, security, stability and scalability in private and public cloud environments.
- More than 5 years Software Engineering experience
It is essential that the individual has advanced applicable knowledge and skills in relation to some of the following –
- Build systems – Jenkins, Azure DevOps
- Automation technologies – Chef, Puppet, Ansible, Azure DevOps
- Source control and code management – GitHub, Bitbucket, Azure DevOps
- Public Cloud – Azure, AWS, GCP
- Containers – Docker, Kubernetes
- Automated testing – Selenium, Cucumber
- Operational monitoring - AppDynamics, New Relic, Splunk, ELK, Application Insights
- Application security and Vault technologies - Hashicorp Vault, AWS Certificate Manager, Azure Key Vault
- Scripting language – Python, Bash, Powershell
- Virtualization technologies – vSphere/VMWare, Hyper-V
- Operating systems – Windows, Linux