Software was my fallback plan after I decided to leave physics. I knew that I was going to have a lot to learn about writing code; I had no idea that there was so much to learn about teamwork and culture.
These are some of the resources that have helped me find deeper satisfaction in my working relationships.
Debugging Teams, Brian Fitzpatrick and Ben Collins-Sussman.
Companies use software to make their business processes more efficient. As the business changes (and they all do), processes need to change with it. Lone feats of wizardry are a liability to the organization when the wizard isn’t available to maintain them. Building business software as a team sport is the first step to making it a long-term asset. Debugging Teams will teach you the interpersonal skills to work well with others and put the success of your team first.
“Blameless Postmortems and a Just Culture”, John Allspaw.
The language of blame and fault undermines our ability to learn from failures. If your analysis of a problem ends with “Well, that guy messed up!”, you’re blinding yourself to the systemic cause that could well have tripped you up in the same circumstances. John Allspaw brought the software industry accident investigation techniques that emphasize learning over punishment, starting with his work at Flickr and Etsy. This classic post from the Etsy blog will teach your team how to learn from outages instead of just covering your ass.
“The Patient Change Agent”, John Cutler.
Nearly every software developer I’ve ever met is brimming with ideas for improving the code they work on, the processes their team follows, etc. That energy can make for vibrant teams that push each other to improve, but it can also go toxic if used badly.
Don’t expect that changing things will be easy or fun every step of the way. Your first job is to manage your efforts so you get to keep playing. No run-of-the-mill for-profit company deserves—or benefits—from your martyrdom. John Cutler provides a blueprint for be an agent for change without alienating your peers or undermining your well being.
“The Origins of Opera and the Future of Programming”, Jessica Kerr.
Art and music history provide examples of creative communities revolutionizing their arts. Jessica Kerr makes the case that the medium of software is especially well-suited to forming what Brian Eno calls a “scenius” (a communal genius). She describes how a team that organizes itself around a network of learning—between each other, their systems, and their users—become much more than the sum of their individual skills.
I am deeply inspired by her vision of how we can focus on increasing the generativity of our teams rather than our producitivity as individuals.