I have worked in 3 companies in the span of 6 years, every where I go i face this problem. I have to rebuild many features from scratch and deal with it. Thanks for the knowledge bro.
My go-to example to define technical debt is Bethesda's engine over the years. It's been iterated upon a lot and even been renamed twice, but at its core, the Creation Engine they use now is still built on code used in Morrowind back in 2002 (a game which had a lot of shortcuts taken and was rushed to meet budget and schedule constraints), and everything they add to and change with the engine just breaks more stuff. A lot of Fallout 76's legendary buggyness is the result of Morrowind spaghetti code that had a ton of corners cut in the first place, and too much has been built on
Agree, especially with the point of cleaning the code. A LOT of companies, managers but also programmers ignore this part. The moment they see the feature they consider it done and move to the next one, however a cleanup is also part of making some feature. I also believe that this has to do with self-respect to a certain level, you have to stand with your chests straight. So if you stand by and defend the quality of your code, respect your work, then the others will respect your work, and you will make a better code, and a better code means less debth. Of course with a reason as you mentioned, sometimes you do what you have to do, but do come back to it, and educate people around you why it is important (usually it is not difficult to show some examples of how it bites back long term)
You've been doing some really amazing content! I've been following the live demos/coding playlist, it's brilliant!
Loved the definitions, very clear!
Would like to see a day in your life video, talking about how do you plan your day and future work pipeline, side projects, work life balance etc.
Excellent work! I just need this video to understand a lot of things! Thanks You are a really great Dev!
Few other common examples 1. Managing NFR's (Security, Performance, Browser Compatibility) etc 2. Upgrading Tech stack because of lack of support from Legacy/ Deprecrated methods 3. Addressing Customer issues where there is a challenge everytime in a specific piece of code that needs introspection , which may/may not lead to Tech debt 4. Keeping pace with current industry - make face changes to specific softwares if needs to be rebuilt 5. Always keep your Architectural, Plaform components inline with latest versions of software (OWASP A06-2023) 6. Keep an eye on Upgradation to infra very frequently and look for bottlenecks / improvements
Awesome context!. thank you for a clear definition
Also known as "The Future-Me Problem".
very good explanation, thank you so much!
Good content, thanks! also you fingers are signs of being a experienced programmer :)
This is so informative 😭
Technical Debt Victim here. As a game developer, I made all the 20 levels of a game in a SINGLE level which resulted in huge loading times and unusable expereience. To solve this I tried to optimize everything but at the end , I just had to go back to the roots. Load a SINGLE level instead.
Life lesson, really, tied into development!
thank u bro well explained 👍👍👍👍
Make a feature work, then refactor, best approach when you have tight deadlines
All excellent points. I've been fighting against this all my pro life.
Great explanation! Thanks
@justinoneill2837