In this new episode of Pulse, our podcast, Andreas talks to his colleague Jonas Drieghe, a senior developer that excels in working in legacy code. They discuss the topic of technical debt in this episode.

What is technical debt?

Technical debt refers to suboptimal decisions made under the pressure of time, lack of knowledge, or skills, resulting in the difference between what was created and what could have been created in ideal circumstances.

What else do they discuss on technical debt?

Technical debt is categorized as managed or unmanaged, with the former being covered by tests and allowing for controlled changes. The latter is often invisible and can be like a black hole.

Managing technical debt properly is crucial because it can lead to more significant problems, such as the team leaving, creating a cascading problem that becomes a nightmare for a company. While engineers are closest to the issue, everyone is responsible for solving it. However, management teams often prioritize new features over technical debt, so allocating a percentage of time for engineers to work on technical debt can prevent it from becoming a significant obstacle to product development.

It's important to differentiate between legacy code and technical debt, as not all legacy code needs to be fixed, but technical debt can hold back progress. The key is to focus on cleaning up the areas blocking progress while introducing new features.