module.root
$ terraform apply
Terraform will perform the following actions:
+resource "engineer" "craig_sinnott" {
+role ="Cloud Engineer"
+region="eu-west-2"
+focus =["aws", "terraform", "ci/cd"]
+status="available for work"
}
Plan: 1 to add, 0 to change, 0 to destroy.
Craig
Sinnott
I build and run AWS infrastructure that teams can reason about — defined in code, versioned, and boring on purpose.
module.about
Infrastructure you can read before you run it.
I work across AWS and Terraform, turning click-ops estates into reviewable infrastructure. Most of my work sits where reliability meets cost: right-sizing what already exists, then making the next change safe to ship.
Plan before apply
Every change is reviewable before it exists. No surprise resources, no drift left unexplained.
Cost is a design constraint
Architecture that ignores the bill isn't finished. I size for the load that exists, not the load someone hopes for.
Boring where it counts
Novel infrastructure is a liability at 3am. I save the interesting choices for problems that actually need them.
Write it down
A decision that only lives in someone's head is a single point of failure. Runbooks and ADRs are part of the delivery.
stack
What I work with
Day to day, in production — not a list of everything I've ever opened.
- AWS
- EC2 · S3 · RDS
- VPC · Route 53
- IAM
- Lambda
- Terraform
- CloudFormation
- Ansible
- GitHub Actions
- Docker
- Git
- CloudWatch
- Cost Explorer
- Python
- Bash
- HCL
- YAML
module.projects
Selected work
AWS Certified Cloud Practitioner
Foundational
AWS Certified Solutions Architect — Associate
Associate