Hey Ignacio! Thank you for your question. Tech debt not always occurs due to incompetence. One of the most popular way of categorizing debt comes from Martin Fowler’s Technical Debt Quadrant who suggested the following types:
- Reckless and Deliberate
- Reckless and Inadvertent
- Prudent and Deliberate
- Prudent and Inadvertent
If the debt is 'reckless and accidental' the company should invest resources into training the people who create it, establish coding standards, and have better code reviews. Because if the team member is shipping too much accidental and reckless debt, moving them will just mean moving the debt to another part of the codebase.
If you'd like to learn more about it, I'd recommend this article https://www.stepsize.com/blog/complete-guide-to-technical-debt
Let me know if it's helpful!