What is Technical Debt? (as a software developer)
ฝัง
- เผยแพร่เมื่อ 21 ต.ค. 2024
- Technical Debt can overwhelm software development teams. It can turn a nimble and efficient team into a slow moving train wreck. In this video, learn about Technical Debt is in the context of software engineering. We talk about what technical debt is, how to avoid it creeping into your systems, and how to address existing technical debt.
Looking to get hands on experience building on AWS with a REAL project? Check out my course - The AWS Learning Accelerator! courses.beabet...
📚 MY RECOMMENDED READING LIST FOR SOFTWARE DEVELOPERS📚
Clean Code - amzn.to/37T7xdP
Clean Architecture - amzn.to/3sCEGCe
Head First Design Patterns - amzn.to/37WXAMy
Domain Driver Design - amzn.to/3aWSW2W
Code Complete - amzn.to/3ksQDrB
The Pragmatic Programmer - amzn.to/3uH4kaQ
Algorithms - amzn.to/3syvyP5
Working Effectively with Legacy Code - amzn.to/3kvMza7
Refactoring - amzn.to/3r6FQ8U
🎙 MY RECORDING EQUIPMENT 🎙
Shure SM58 Microphone - amzn.to/3r5Hrf9
Behringer UM2 Audio Interface - amzn.to/2MuEllM
XLR Cable - amzn.to/3uGyZFx
Acoustic Sound Absorbing Foam Panels - amzn.to/3ktIrY6
Desk Microphone Mount - amzn.to/3qXMVIO
Logitech C920s Webcam - amzn.to/303zGu9
Fujilm XS10 Camera - amzn.to/3uGa30E
Fujifilm XF 35mm F2 Lens - amzn.to/3rentPe
Neewer 2 Piece Studio Lights - amzn.to/3uyoa8p
💻 MY DESKTOP EQUIPMENT 💻
Dell 34 inch Ultrawide Monitor - amzn.to/2NJwph6
Autonomous ErgoChair 2 - bit.ly/2YzomEm
Autonomous SmartDesk 2 Standing Desk - bit.ly/2YzomEm
MX Master 3 Productivity Mouse - amzn.to/3aYwKVZ
Das Keyboard Prime 13 MX Brown Mechanical- amzn.to/3uH6VBF
Veikk A15 Drawing Tablet - amzn.to/3uBRWsN
🌎 Find me here:
Twitter - / beabetterdevv
Instagram - / beabetterdevv
Patreon - Donations help fund additional content - / beabetterdev
#TechnicalDebt
#TechDebt
#SoftwareEngineer
#SoftwareDeveloper
_"Whenever you do something in a sub-optimal way that produces artifacts that you need to address later"_
I was looking for a short n sweet definition of this and you nailed it with this 1-liner.
I'm glad that resonated with you Justin!
how about "when 'good enough' comes back to bite you in the ass"?
Let me refine that definition for you:
"Technical depth is what you get whenever you do something in a sub-optimal way that produces artifact that you need to address later."
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.
You're very welcome!
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
I love this as an example :D
You've been doing some really amazing content! I've been following the live demos/coding playlist, it's brilliant!
Thank you so much Bikram! Glad you are enjoying the videos :)
Loved the definitions, very clear!
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)
Absolutly Agree! It is really hard! To educate people to understand all this Key Points on Development Universe!
@@ambigus7 yep! and most of the time they don't even want to listen to you
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.
Thanks for the idea!
@@BeABetterDev +1 Will be great!
Excellent work! I just need this video to understand a lot of things! Thanks You are a really great Dev!
Thanks Miguel! Glad you enjoyed :)
Also known as "The Future-Me Problem".
100% agree with you. I love this quote lol
Awesome context!. thank you for a clear definition
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
very good explanation, thank you so much!
Hi Marga, you're very welcome!
Great explanation.
Glad it was helpful!
Good content, thanks!
also you fingers are signs of being a experienced programmer :)
Lol! I've been told they are piano fingers but I suppose there is not much difference between overuse of keyboard or piano ;)
I don't think evolution takes that fast..!! Its from the gene codes not computer codes I guess..
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.
Never stop, Greg! :)
This is so informative 😭
Great explanation! Thanks
Life lesson, really, tied into development!
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.
thank u bro well explained 👍👍👍👍
Sonarqube returns me 32d (32 days) of Technical Debt of my code. Which is a good number of days to this metric?
Thank you
You're very welcome!
Hello, do you work on updating resume to a SM position?
Can technical debt actually be elimited, or best is to minimize it as best as possible?
4:15 🔥🔥🔥
Imagine a nurse practitioner trying to switch career to a scrum master and have to understand this!
Its nothing but a Economical Debt, its the same human behaviour thats causing technical debt. therefore, its better to call it a "Technical Corruption" OR "Technical Dishonesty" OR "Technical Hypocrisy" to give the correct picture to your audience and IT beginners. isn't it?
Im in "rebuild the system" mode lol. It's terrible.
Keep your head up, you'll get there eventually :)
Pay me now or pay me later. It's later.