i was recently chatting with a mentor of mine and we ended up on the topic of how to prioritize tech debt. she encouraged me to share out some of the thoughts i had around how i, as a pm, know when it's time to really focus on tech debt. 1/
to preface this, i strongly believe that there should be a strategy to interleave work on the overall health of the codebase with feature work — it should not be something you only do out of lip service, nor something you push to the side until you have no other choice. 2/
having a healthy codebase is to feature work as wearing the right kind of shoes is to running a marathon. you _could_ run a marathon w/o the right kind of shoes, but it'll be painful, slow, and there will be many other side effects. 3/
but let's say you don't have a strategy in place. as a pm, what are signs for when you've overrotated on feature work? you know when you hear eng saying "this probably takes a day, but it might take weeks." or "i hope i don't accidentally cause an incident" across projects. 4/
"across projects" is key here because it means this isn't person-specific or project-specific — your entire team is likely being slowed down. that's when your codebase is likely overdue for a new change of shoes. 5/