
I’m a DevOps engineer based in Calgary, Alberta. I’ve spent the past seven-plus years designing, building, and occasionally setting fire to production infrastructure — the kind that keeps companies running at 2 AM when the alerts fire.
What I work on
Cloud architecture, infrastructure automation, and CI/CD. In practice that means:
- AWS — EC2, S3, Lambda, EKS, CodeBuild/CodeDeploy, CloudFormation, Route 53. Migrated a 50,000-page documentation site from a $450/month WordPress stack to S3 + CloudFront for $18/month, and moved a 5M-event/day analytics pipeline from a $8,247/month always-on architecture to a serverless one running at $847.
- Kubernetes — EKS clusters from a few nodes to hundreds, with Helm, Karpenter, Prometheus, and the usual on-call rotation that comes with it.
- Jenkins — pipelines, JCasC, agent fleets on EC2 and Kubernetes, and the version migrations nobody volunteers for.
- Linux & shell tools — bash, sed, awk, grep, the GNU coreutils. The kind of work where you process 2TB of logs a month and learn very fast which patterns actually scale.
- Go — small operational tools that replaced bash scripts when they crossed the “needs tests and arguments” threshold. A task runner, a session manager, a config tool.
Why I write here
Most online tutorials skip the failure modes. They show you the happy path, hand you a working snippet, and leave you stranded the first time it breaks at 2:13 AM in production.
