Five years, building a culture, and handing it off.

After 5 years, the time has come. This is my last week as Etsy’s CTO.

Five years ago I joined a tiny site, with a struggling software product. I wasn’t sure how long I’d stay. I was coming off 5 intense years helping scale Flickr. But I had some theories about engineering I wanted to test, and Etsy had a nascent team with some great folks who were up for the challenge, though a number of the odds were stacked against us.

Theory 1: Nothing we “know” about software development should be assumed to be true.

Most of our tools, our mental models, and our practices are remnants of an era (possibly fictional) where software was written by solo practitioners, but modern software is a team sport.

Theory 2: Technology is the product of the culture that builds it.

Great technology is the product of a great culture. Culture gives us the ability to act in a loosely coupled way; it allows us to pursue a diversity of tactics. Uncertainty is the mind-killer and culture creates certainty in the face of the yawning shapeless void of possible solutions that is software engineering.

Culture is what you do, not what you say. It starts at the top. It affects everything. You have a choice about the culture you promote, not about the culture you have.

Theory 3: Software development should be thought of as a cycle of continual learning and improvement rather a progression from start to finish, or a search for correctness.

If you aren’t shipping, you aren’t learning. If it slows down shipping, it probably isn’t worth it. Maturity is knowing when to make the trade off and when not to.

I had some experience with this at Flickr, and I wanted to see how far you could scale it. My private bet was that we’d make it to 50 engineers before things broke down.

Theory 4: You build a culture of learning by optimizing globally not locally.

Your improvement, over time, as a team, with shared tools, practices and beliefs is more important than individual pockets of brilliance. And more satisfying.

Theory 5: If you want to build for the long term, the only guarantee is change.

Invest in your people and your ability to ask questions, not your current answers. Your current answers are wrong, or they will be soon.

Five years ago, continuous deployment was still a heretical idea. The idea you could do it with over 250 engineers was, to me at least, literally unimaginable.

Five years ago, it was crazy to discuss that monitoring, testing, debugging, QA, staged releases, game days, user research, and prototypes are all tools with the same goal, improving confidence, rather than separate disciplines handled by distinct teams.

Five years ago, focusing on detection and response vs prevention in order to achieve better, more reliable, more scalable, and more secure software was unprofessional.

Five years ago, suggesting that better software is written by a diverse team of kind people who care about each other was antithetical to our self-image as an industry.

Five years ago, trusting not only our designers and product managers to code and deploy to production, but trusting everyone in the company to deploy to production, trusting engineers to meet customers, and trusting teams on the edges to use data to make their own decisions went against everything we’d been taught about how we were supposed run a software development company.

Five years ago, rooms of people excitedly talking about their own contribution to a serious outage would have been a prelude to mass firings, rather than a path to profound learning.

And five years ago no one was experimenting in public about how to do this stuff, sharing their findings, and open sourcing code to support this way of working.

Five years ago, it would have seemed ludicrous to think a small team supporting a small site selling crafts could aspire to change how software is built and, in the process, cause us to rethink how the economy works.

These last 5 years testing the theories, making discoveries, growing a team who has changed how software is built, supporting the flowering of a tech scene here in New York — I’m incredibly proud and grateful to have been a part of it. And I’m proud to have been part of growing Etsy from a tiny, not-always-online website to a billion dollar public company that challenges conventional notions of whether you can be led by values, other than selfishness, and be a successful business at the same time.

The goal was always to build a culture — a culture of learning, a culture of generosity, a culture of values. Culture infects everyone. Successfully building a culture ensures when you leave you can hand your work off to people you trust and they will run the thing without you and make it better than you could have imagined.

And building a thing that can be handed off means … you eventually hand it off.

I took a sabbatical this summer. It was awesome. Burn out is a real and pressing phenomenon in our industry and I was certainly feeling its effects. I spent the summer doing things I enjoy: spending time with family, traveling, meeting new people, talking to smart folks about the future, and writing code. By the end of sabbatical, I felt better. I felt stronger and more present.

So I’m handing it off. To my team, you’re all awesome, I love you and I’ll miss you.

And now it’s time for me to find something new.

(cross posted from my blog)