Hey kids! Let's talk tech debt and why it's important to work on it.
What is tech debt?
It's anything you put in your code that becomes obsolete over time, needs updated due to advances in code, or anything you mean to update late but never get to it.
Some examples are:
Anytime you write //TODO
When you use third party nuget packages or programs and don't upgrade to latest versions
When old connections are in your code that should be updated to a more secure connection but hasn't happened yet
When a new pattern is used for new functions, but the old patterns are left to "update later" because we don't have time right now
Anytime you say "I'll do it later"
Sound familiar? Of course it does!
Now all of this needs to be addressed sooner than later. Many of these issues are security risks and should not be taken lightly.
Make sure you and your team allow for tackling tech debt every 6 months or so to keep on top things while it's still fresh in your head. Tech debt can be controlled by any developer, not just the original coder.
This can be a great opportunity for interns or junior developers to get their feet wet in the code and have their mentor review the changes proposed, starting a dialog about how and why the changes were made. It helps newer developers get their heads wrapped around the code. Especially if it's a monolith or legacy tool. Those massive multimillion lines of code can be daunting and finding things to remove, can help teach new folks the structure better than slight them to add new code.
As a final thought, just make sure tech debt is considered regularly in your development plans so you don't end up with tons of unused code or comments that are no longer valid.