I think the situation can be described pretty accurately like this: 1. A developers job is more complex than most, and takes a very long time to learn, because you have to become proficient in so many aspects of the job. e.g. - technical stack which is huge (languages, protocols, how hardware works, networking etc), - plus technical tooling (ides, source control, platforms such as clouds, programming frameworks and s…
Why Is There So Much Crap Software in the World
21–27 of 27 posts
Re: Why Is There So Much Crap Software in the World
#22Re: Why Is There So Much Crap Software in the World
#23Re: Why Is There So Much Crap Software in the World
#24Writing perfect software that nobody wants to pay $ to upgrade/fix is a really bad business model. You want to create software that people want to pay $ for even if it isn’t perfect. It’s like the medical industry. They don’t want to invent medication that cure you. Only medication that “manages” your symptoms and guarantee a long term $ income from your sickness for years until you die.
Re: Why Is There So Much Crap Software in the World
#25I think it has less to do with the quality of developers and more to do with perverse incentive structures surrounding commercial software design. A piece of software that optimally solves a problem for the user is rarely optimal for generating revenue. Hence the common practice of companies breaking and sabotaging their own products to get the upsell while slowly turning them into spyware. The fundamental problem is…
Re: Why Is There So Much Crap Software in the World
#26Most software is underspecified (an unsolved problem) and thus in exchange for "hacking it together somehow" the vendor is allowed to disclaim any responsibility.
Re: Why Is There So Much Crap Software in the World
#271. Bloated and useless functionalities. More functionalities will make any software more complex. If these functionalities are not well thought or lack logic, it's more difficult to implement.
2. Believes versus empiric proof. The big difference we have with other engineering field: we deal with believes. The building of a plane rely heavily on the laws of physics, we rely on the law of SOLID. The first is a scientific discipline, the second is a guy talking on a stage.
3. Ego-centered field. We all think we know better. We all think we have the truth ("Microservices are better!", "OOP is the best!") even if we have no idea about it.
This article is full of believes without any study to back it up, with a cool looking curve which doesn't measure anything. The hero expert programmer who will save us all is a myth. We all struggle, we all make mistake, and we build things together. The group synergy is more important (see rework from Google).