Preface
Early on in my career, my goal was to become a staff engineer. I loved programming. I loved the high I got each time I figured something out, the thrill of progress each time I merged a pull request (PR). I loved shipping things. I loved it when people used things I’d built.
But four years out of grad school, navigating multiple reorgs and enduring dysfunctional teams that didn’t ship, I left that job. I realized that it didn’t matter if my job sounded good if I didn’t feel good about it, and that growth and learning were not synonymous with getting promoted. I took a break and tried to reconnect with that love of programming again. Worked on my personal projects and finally wrote an algorithm and optimized it for space and time outside the context of an interview.1
It turned out that the most easily monetizable skills were actually the soft skills—the things I described as “thankless emotional labor” when my job was programming. My career inverted. Instead of spending the workday programming, I got paid to do technical interviews and help startups build up their development teams. I wrote code for fun, turning my little side projects into a technical book chapter and an app on the app store.
After I spent a year rediscovering my love of programming and learning the value of nonprogramming skills on the open market, a friend recruited me to manage a team in a remote-first company. I shipped out to Colombia and started managing a small team. However, the subsidiary and ...