A few years ago at BuzzFeed, my co-workers on the Product side of the house — the folks that built our website and kept it running — started talking about this idea of “tech debt.”
Here’s a simple way to think about it:(1) At BuzzFeed, we’d built our website on systems that were a few years old. Over time, our team hacked together solutions to build new features and tools using these older systems. These weren’t supposed to be long-term fixes — a lot of these solutions were hacked together.
Almost a decade later, we’d ended up with was a website that — from a coder’s perspective — was like a Jenga tower. We stacked these hacks and workarounds one on top of the other, and eventually, we couldn’t go any further. The building blocks of our site could no longer support it.
By making all these short-term compromises, we’d put ourselves in a tricky position. We couldn’t really move forward with new projects until we’d gone in and fixed the basic infrastructure of our website.
We’d accumulated all of these debts, and we finally faced the realization that we had to pay those debts off. In order to move forward, we first had to tear down and build from the ground up.
So our tech team did. It was challenging, and it took an incredibly smart team the better part of a year to do it. But they did it — and moving forward, with the right systems and structures in place, that team at BuzzFeed is going to be able to do amazing things. They’ve got a strong foundation to build off of.
But there’s more than just tech debt out there. In the first few months at my new job, I’ve been spending a lot of time figuring out what debts we need to pay at The New Yorker. I’ll ask co-workers: What are we doing that drives you crazy? What are you spending too much time on? What could we fix that would change the way you work?
Slowly, we’ve started to identify our debts. We’ve been able to streamline old processes that were broken, and build new processes that will allow us to move quickly. We had process debts (teams using inefficient systems to do work), communication debts (teams struggling to work together towards common goals), and quite a bit of tech debt (teams using outdated or ineffective tools and apps).
It’s going to take us a while to pay off these debts. But by identifying them, and putting together the teams to fix them, we’re making the short-term changes to allow for long-term success.
- And I’m going to really oversimpify here — I promise that my old colleagues were incredibly bright, thoughtful people, and this doesn’t at all reflect the amount of work, effort, thought, etc. they put into building some amazing products. ↩