5 ms·
> Developers spend over 17 hours every week dealing with maintenance issues like debugging and refactoring, and about a quarter of that time is spent fixing bad
by tboyd47 8y ago
> Developers spend over 17 hours every week dealing with maintenance issues like debugging and refactoring, and about a quarter of that time is spent fixing bad code. That’s nearly $300B in lost productivity every year.
Wow, there's a $300B untapped market for developers who write perfectly maintainable code on the first try and produce no tech debt?
- bastijn 8y agoThis is why code analysis tooling exists and is a profitable market. Sarcasm aside, there is a difference made between bad code and (regular) refactoring and tech debt in the report. I read bad code as the mistakes a junior might make but any reasonable experienced engineer shouldn't anymore.
- rossdavidh 8y agoTruth, but even that is something that you need to let happen, then fix in code reviews, etc. You can't turn a junior developer into an experienced one without letting them code and make mistakes, which then must be fixed (hopefully before getting pushed to production).
- nradov 8y agoCertainly that's true today. I wonder how feasible it would be in the future to leverage deep learning and pattern recognition AI technologies to build a code editor plug-in that would act something like an experienced developer always watching over the junior developer's shoulder and pointing out common mistakes. We have a very limited form of that already in static analysis tools but I feel like it ought to be possible to take the concept much further?
- CMCDragonkai 8y agoThere's deep learning based program synthesis.
- lumost 8y agoRemarkably the tools for static analysis, testing, and refactoring are still pretty rudimentary. Coming from a data/saas background I'm shocked more analytics hasn't been built based on the troves of data available via GitHub and other open source projects. That being said, most software today is written without the benefit of quality code analysis or regular linting. There's likely a distribution problem to be solved as well.
- sremani 8y agoIts like saying there is trillion dollars of untapped market if a novel writer's draft is as good as their final product. Yes, just like anything there is inefficiency, waste and even some corruption but that is the case even for building bridges or laying 3 lane roads. Maintenance is actually the most non-trivial part of any software esp. successful one and to discount it reflects the lack of sophistry on part of the actors who reside in C-suites.
- thaumasiotes 8y ago> Its like saying there is trillion dollars of untapped market if a novel writer's draft is as good as their final product. I mean, if you did say that, you'd have a point. It would be smaller than claimed, but there really was an untapped market opportunity. You can go to Amazon right now and buy cheap ebooks from self-published authors who obviously haven't had any editing done. The quality of writing in these is so poor that I've stopped being willing to buy self-published books, but the books do make sales. Completely eliminating the overhead costs of editing (because you don't do it) and publishing (because that's now cheap enough to be free) has opened up a market for low-price, low-quality stories.
- EpicEng 8y ago>The quality of writing in these is so poor that I've stopped being willing to buy self-published... Which is the entire point. Unlike books, software systems must continue to function and grow for years. You read a bad book and you toss it aside. You can sell bad software (which will never be fixed), but there's not really a market for it.
- OtterCoder 8y agoI'm sorry, but you are almost certain to outlive your code, even the good stuff. Even a modest book on the bestseller lists will probably see more use than any program you will ever write.
- 8y ago
- brightball 8y agoI'd be shocked if most tech debt isn't a side effect of sprints.
- xedrac 8y agoCan we say artificial deadlines are the root of most technical debt coming out of experienced developers who otherwise would not create significant technical debt? Most of the time I think a simple list of priorities with some milestone goals would be far superior to sprints.
- iaw 8y agoI can see a number of bad managers running with this to mean "we shouldn't spend time debugging, refactoring, or fixing bad code" I actually expected a real potential market, silly me.
- itronitron 8y agoYeah, look at all the engineering resources that can be saved by not fixing bad code.
- danharaj 8y agoThe average developer can do much more today than they could 10, 20, 30 years ago. That's because crucial pieces of infrastructure and functionality are no longer subject to the vicissitudes of new code but also because people are better at writing code than they were then (even if it doesn't feel that way). We collectively understand how to write software better and some of the hardest bits are impressively robust now (like, Linux and the infrastructure of the Internet). If $300B is burned to maintain and refactor new code, that's $300B of value to capture with better tools, infrastructure, and theory. Now, if that were actually to happen, there would be an even larger sum of money burned to maintain and refactor new code, because we just all got $300B more efficient and that means more effort is spent applying software to new fields, industries, and markets which will in turn require brand new code to go through the wringer again.
- mirashii 8y ago> also because people are better at writing code than they were then (even if it doesn't feel that way) Any reference or data to back up this assertion? My intuition would say otherwise, if for no other reason than that because the many layers of abstraction that exist today allow a person to become productive writing code with significantly less knowledge and in a shorter time than in the past. When you combine this with a general shortage of workers in the industry, you have a huge influx of individuals less educated in the field and with less experience. With all that considered, I find it hard to think that we're any better at writing software, in fact, the abstractions that exist today are all about letting us be worse at writing code while still being productive.
- sidlls 8y ago> people are better at writing code than they were then (even if it doesn't feel that way). This is far too broad. We have better tools (compilers, static analysis, linters, etc.) to find some of the errors we make earlier in the lifecycle. These provide the ability to rapidly address categories of error that were once avoided primarily by an arduous and slow process of scrutinizing hand-written programs. Coupled with more abstract programming languages and computing resources, what we have today is the ability for single developers to write incredibly complex software quickly--with bugs that have a complexity that increases non-linearly.
- user5994461 8y agoI found a bug worth $300M per year in my last company. I guess that leaves 999 bugs to be found in the rest of the world.
- LouisSayers 8y agoI hope you asked for a raise :)
- user5994461 8y agoActually, I didn't stay long and got a raise somewhere else. Long story short, the company was very bad and I ran away quickly. Sadly, never managed to get the company or anyone to publish the fix. Last I checked, the bug was still present, it's survived at least one full redesign/rewriting. The losses are well over a billion dollars by now. :D
- marktangotango 8y agoInterested to hear how you’re estimating these amounts?
- user5994461 8y agoA small percentage of users unable to login or do any order. That's a lot of missed sales for a $10B site.
- pashabitz 8y agoIf I only lost 3.8 hr/week for "bad code"...
- stcredzero 8y agoThey're calling out debugging and refactoring? I guess to avoid debugging, you need programmers who can diagnose the problem with no evidence or data. Not refactoring is like being a file clerk who saves time by never putting anything back.
- itronitron 8y agoThe motivated student will likely want to read about Ignatius J. Reilly's innovative filing system [0]. 0. https://en.wikipedia.org/wiki/A_Confederacy_of_Dunces https://en.wikipedia.org/wiki/A_Confederacy_of_Dunces
- quxbar 8y agoThank you for bringing up my FAVORITE book, I had a hearty chuckle remembering that passage.
- delbel 8y agodon't you know? react emmet snipplets go for $100k+ on the black market...