But tools and processes are absolutely not the only thing. Even if I have amazing tools and QA systems and the best deploy tools and well-testing code, I’m still going to make mistakes sometimes. And what happens when I make a mistake is really critical.

Etsy and Google and Stripe (where I work) all have blameless postmortems. This means that if you make a change and that change breaks something, people talk about what happened by focusing on the change and the facts, not on blaming you. (“what about that change caused a problem?” instead of “how did Julia break it?”)

I also realized that this goes much further than programming, and Marc linked me to this amazing site about restorative justice, which you should also go read.

So if you blame people for breaking things, they’ll be more scared to make changes in the future, and you’ll end up with worse programs. Huh.