Embracing Tech Debt as a Team #
Working on a product team always has two primary goals: figuring out what you
are building and when you can deliver those features. Ideally, the team
maintains its delivery velocity indefinitely. As an engineer, you’re delivering,
but something starts to feel off. Features become harder to implement, and
there’s a refactoring you’ve been putting off. Eventually, you realize you can’t
keep delivering as you once did.
You’ve encountered the all-too-familiar challenge of technical debt.
It’s tempting to look for someone to blame:
- A former engineer who used to be on the team.
- Overwhelming workloads and tight deadlines imposed by leaders.
- The one that no one wants to hear: “The product manager won’t let me.”
But pointing fingers won’t help. Technical debt is a symptom of a team
struggling to prioritize. Your team needs to create space for addressing its
needs. Some tasks are essential, while others can wait, and the key is to focus
on what’s truly important.
A product manager’s job is to say, “Let’s deliver features. How do we get
there?” It’s up to engineering to figure out the best way to achieve this.
Remember, the product manager is on your team to help accomplish the same goals.
Please include them in your mindset and process, and don’t place blame on one
person for any group setbacks. Work together to improve and resolve issues.
Tech debt can seem like an intimidating and undefined obstacle. We’ve accepted
that our products will never be “finished,” We’ll keep refining them through
continuous delivery. But too often, tech debt gets pushed into a “save it for
later” category. Instead, let’s change our perspective and remove the negative
connotation.
Think of code maintenance as gardening. It will grow beautiful if we
consistently prune, replant, and tend to our code. There’s no such thing as a
one-day fix for a gardener because it would be inefficient for the long-term
care of the garden.
Maintaining code should be a regular part of the development process, and you
can help your team overcome its tech debt by continuously keeping it in mind. So
let’s embrace it together and cultivate a thriving, collaborative environment
for everyone involved.