Google -> Sabbatical
After 6 years at Google, I resigned this past March.
Rather than explaining why I left, I think it’s easier to explain why I stayed as long as I did. To begin with, I never aspired to work at a big tech company. Because I don’t have any formal computer science education, I assumed that big tech companies would never hire me. Once I was hired by Google, I saw it as a big experiment. I was excited by the opportunity to learn about building software from some of the best in the industry; but I was also anxious about being a small cog in a huge wheel. I had come from a small startup where I knew everyone’s name.
So why did I stay at Google for as long as I did? First, I was working on an interesting product that was a constant source of challenging problems to solve. I have a very niche passion for developer tooling. Especially terminal based. Especially open source. So I consider myself incredibly blessed to have been paid a ridiculous amount of money by Google to work on open source, CLI developer tooling. The other reason I stayed was that I was working with a great team of people who were excellent at their job and who I enjoyed working with and cared about.
After 6 years, I feel like I achieved the goals I had set for myself when I started. I’m proud of my work during that time, and extremely grateful for what I learned; for me, it was my computer science education. But I had also become extremely frustrated and disillusioned by the tech industry. When I decided I was leaving Google and looked at other opportunities, I had the feeling that I would be similarly dissatisfied at these other jobs. In other words, most of the things I disliked about my job were systemic across the industry (e.g. prioritizing quarterly earnings reports over long-term vision, monetization strategies founded on keeping customers addicted to services rather than creating valuable products).
So I’ve been on a sabbatical for the past 3 months. It’s been liberating to think of myself as a hobbyist programmer. It brings me back to when I first learned to program, and I didn’t know anything about best practices, but I experienced excitement and joy just from making the computer do the thing that I told it to do. If I were currently a professional software engineer on a break, I would probably learn Rust and start contributing to the Rust re-write of coreutils. Instead I’ve been solving Project Euler problems with K&R C in a PDP-11 emulator.