At 2am during an outage, the answer is almost always on somebody’s blog: half-formatted, three years old, addressing the exact thing on fire. Twenty years in, I’ve written my share of those posts too, mostly on internal wikis nobody else can read. This is where I’m writing the public ones.
I reviewed the code. They wanted it deployed.
Is the work sample an audition? A take-home exercise asked me to review a junior engineer’s pull request the way a senior infrastructure engineer would. So that is what I did. I found the problems, explained why each one mattered, fixed them, added local tests across the stack and the CI pipeline the repo never had, and wrote the whole thing up like a real review. I ran out of time before I deployed it. The deploy was the part that scored. I did not get the job. I made a tactical error, and given the same exercise again I would deploy first and decorate later. The interesting part is not that I lost a point. It’s that the exercise and I disagreed about what it was for, and the exercise had the only vote that counted. ...
Twenty years in infrastructure, and the work doesn't look the same anymore
For the past couple of months I’ve been asking myself whether twenty years of experience still counts for anything, and how I’m supposed to describe my work on LinkedIn if AI is doing all the work. The engineers who don’t use AI aren’t helping. The ones who refuse to aren’t either. “Ask your robot friend.” “Is this AI slop?” “Looks vibe coded.” Each one is a way of saying the work doesn’t count because of how it got done. The shade is loud. The doubt is mine. So this post is me writing my way to an answer. ...
Recovering Terraform State, Eight Years Later
Back in 2017 I wrote about recovering orphaned Terraform state with the import command. That post is still up because the situation is still the same: somebody created infra without managing state, somebody else has to bring it back under control, and you’re the somebody else. What’s changed is the tooling. Three things, mostly. ...
Python Abort on MacOS Catalina
Yes. I upgraded to Catalina on the first day. ¯\_(ツ)_/¯ Now I’m trying to run a Python program and it’s exiting with Abort trap: 6. The crash report indicates the specific problem is with an OpenSSL dylib file… ...
Recovering Terraform State
This was written in 2017 when terraform import was the only option. The toolkit looks different now; see Recovering Terraform State, Eight Years Later for what I’d do today. Here’s the scenario… you have documented the steps for creating new infrastructure using Terraform including ensuring that state files are dealt with properly (remote in AWS S3). However, at some point those directions aren’t followed and you now have infrastructure that is orphaned with no state. What do you do? ...
Yet Another Tech Blog?!
Does the internet need another tech blog? No, probably not. However, I frequently lament doing a poor job documenting all the things I’ve figured out how to do over the years. Thus, I plan to make an effort to document those things here for all who find my methods sane to freely copy. ...