Senior IT Consultant (m/f/n)
AWS - Amazon Web Services with Infrastructure as Code (IaC)
The service is requested as part of our initiative to architect, design and deploy already existing and new AWS Services with Infrastructure as Code (IaC). The project has the purpose to build cloud infrastructure as code, to support infrastructure and business use cases. The value of this project is to build/run qualified environments for the infrastructure and business in the cloud, to enable them to reduce their costs and shorten the time to market.
Background to the assignment
We're using Kanban as method to do agile project management and the tasks have to follow a defined workflow, with the following ceremonies:
- Standups, 15 mins 5 days a week at 2:00 pm CET. During the daily standup, all team members provide an update on the tasks they have worked on the previous day. After that, the contractor works iteratively on his tasks.
- Weekly planning session, 1-2 hours at 3:00 pm CET. The Product Owner and the Development Team are defining what is the current task status, what challenges occurred and what are tasks for the next release. After that, the contractor works iteratively on his tasks.
Related to the project description above and for strategic reasons we decided to have that developed by external partners, as it does not have suitable resources and expertise for this internally. Because of this, the contractor holds a unique position and provides significantly different services than the internal staff.
Concrete, detailed description of services
The performance of the contractor has the goal to:
- To design and coordinate AWS cloud architecture, based on the stories/tasks identified in our regular planning sessions, which includes:
- Establishing best practices for utilizing and deploying the various AWS services and features.
- Coordinating defined activities from the Kanban Board to deliver on the vision of the AWS architecture design.
- Executing code reviews/feedback (Bitbucket), to follow our existing coding guidelines for blueprints and stacks, to meet the requirements of the AWS Architecture design. Code will be delivered from our coding team.
- Provide architectural consultancy for Use Cases from the Business to align with best practices defined by the team. Use Case are defined, tracked and processed in release cycles, through our Kanban Board.
- Independent development of terraform modules (BI term: Blueprints and Stacks) to deploy infrastructure in the cloud for AWS, by using the following languages:
- HashiCorp Language (HCL)
- Cinc Auditor (Inspec)
- AWS CLI
- AWS SDKs
- AWS Cloudformation
- Required ToDo's:
Development requirements are defined in our development framework (documented in confluence) and by using development templates (BI Skeleton).
Use case specific requirements (inputs for the developed code) are defined upfront, together with the use case owner.
- Independent development of terraform modules (BI blueprints)
- Combine multiple terraform modules (BI stack), with defined inputs and outputs, as a description of the use case in code
- Write valid test cases for BI blueprints and stacks, by using BIs test driven development framework.
- Release, versioning and commit code into Bitbucket or Git (Continuous integration and continuous deployment CI/CD).
- Doing code review of your peers for software quality assurance and provide valid feedback.
- Deploy stacks via our Jenkins Pipeline.
- Track the progress of the development in our KANBAN agile project management framework.
- Independent troubleshooting and error handling of the developed code and deployment.
- Independent execution of spikes and design sessions for new use cases
- Documentation of investigations, tests, results and design in Confluence. Documents are tracked and versioned in confluence, as well reviewed by the respective BI person.
- Independent scheduling/tracking of workloads, by using our tools:
- Microsoft 365 & MS Teams
- Atlassian Stack (Jira, Confluence, Bitbucket)
- Independent professional training of our coding team regarding our development infrastructure and coding guidelines. All training material (documents, presentations, videos etc.) is stored in Confluence and reviewed by a respective BI person, as well the training sessions itself. This includes:
- Incorporate existing/provided information and own experience into the training material. Also keeping already existing training material up-to-date.
- Plan review cycles of the training material with the responsible topic lead (BI person).
- Independent planning, scheduling and execution of the training for the pre-defined target audience.
Possible timelines to be kept
The timelines are to be adhered to by the contractor during the performance of the service, are defined during the project and documented/visualized in our Kanban Board.