Developer inequality and the technical debt crisis
21–30 of 105 posts
Re: Developer inequality and the technical debt crisis
#22I think the reason there's so much technical debt is largely because the amount it would cost to actually build quality software... is too high. We could not afford it. Like, as a society. Our society is built on crappy software. I think it's just a utopian fantasy to think that if only the right hypercard-like tool could be created, then the cost of building quality software would go down. Or at any rate, actually:…
(2) I don't think the root cause of crappy software is the cost of quality. Quoth Phil Crosby, quality is free, it's the screw-ups that are expensive.
Nobody has suggested that the federal and state Obamacare sites failed because too little was spent on them. The way it was done, state by state, made the experience a laboratory of software development.
It was certainly possible to make an Obamacare site that works. New York had a rough first week, but at the beginning of Week 2 I had no trouble signing my mother-in-law up. Some states never processed a single application online.
The trouble wasn't that "quality is expensive" but more incompetence in management, procurement, etc.
Re: Developer inequality and the technical debt crisis
#23I think the reason there's so much technical debt is largely because the amount it would cost to actually build quality software... is too high. We could not afford it. Like, as a society. Our society is built on crappy software. I think it's just a utopian fantasy to think that if only the right hypercard-like tool could be created, then the cost of building quality software would go down. Or at any rate, actually:…
(1) You actually do meet a developer from time to time who fetishizes complexity. More frequently, you'll find developers and managers who'll fight any attempt to reduce surplus complexity. (2) I don't think the root cause of crappy software is the cost of quality. Quoth Phil Crosby, quality is free, it's the screw-ups that are expensive. Nobody has suggested that the federal and state Obamacare sites failed because…
For example: plenty of people in the Bay Area would, long-term, find it cost-advantageous to own rather than rent -- if they could get together a 20% down payment. But they can't. So it's kind of irrelevant whether they'd save money long term.
The same principle can apply to software. Sure, you'd save money long-term if you adhered to extremely high quality standards. But you wouldn't release this month -- and you need to release this month for your company to stay afloat.
Figuring out when the short term cost is worth the long term savings is a great deal of the art of software product strategy. And I don't think we should just categorically sweep all such decisions -- even all such wrong decisions -- into the catch-all of "incompetence."
Re: Developer inequality and the technical debt crisis
#24I'll go ahead and say it: this is a strawman. A simple web page is as simple as it ever was: Hi Hello, world! The problem is that everybody wants something so flashy and pretty that they can't settle for the functional-but-ugly barebones interfaces app programmers used to make. The problem is that we've trained users that if a product isn't pretty it's useless, and in pursuit of that all these other things happen. Yo…
... and a 18 year old copy of cgi-lib.pl can be equally as simple and powerful ... and a great many things can be built on these simple, no-frills platforms.
How many websites have non-standard HTML items, and entire frameworks embedded, just to give me a slightly fancier submit button or text-input box ?
How many websites have you visited today that had a 2000 character URL ?
Re: Developer inequality and the technical debt crisis
#25I'll go ahead and say it: this is a strawman. A simple web page is as simple as it ever was: Hi Hello, world! The problem is that everybody wants something so flashy and pretty that they can't settle for the functional-but-ugly barebones interfaces app programmers used to make. The problem is that we've trained users that if a product isn't pretty it's useless, and in pursuit of that all these other things happen. Yo…
Re: Developer inequality and the technical debt crisis
#26This feels astonishingly wrongheaded to me. "Imagine an Internet HyperCard that allowed regular people to easily build web apps, as easily as using a spreadsheet." and then JUST TWO SENTENCES LATER, "There are many app-in-a-can tools that generate highly stereotypical apps but to be truly disruptive we need to match the broad generality of frameworks like Rails." In other words, we need to make it possible for people…
I think that the problem the OP has with most current app-in-a-can tools is that they don't allow users to create arbitrary simple things, but only fairly specific types of simple things.
Re: Developer inequality and the technical debt crisis
#27The truth is - most developers write crappy code. Even right now, here, on this site, plenty of people like their code is fine, it is the code of others that hurts the eyes.
We can say that programming is hard, the languages and tools maybe not perfect, but, that's not quite it. A lot of developers just want to ship it, get it compiled and out of the door. It passes some tests, so it must be done.
If we built bridges like we built software, well, we know how that ends....
Re: Developer inequality and the technical debt crisis
#28I'll go ahead and say it: this is a strawman. A simple web page is as simple as it ever was: Hi Hello, world! The problem is that everybody wants something so flashy and pretty that they can't settle for the functional-but-ugly barebones interfaces app programmers used to make. The problem is that we've trained users that if a product isn't pretty it's useless, and in pursuit of that all these other things happen. Yo…
Imagine if the web looked like CICS screens and required a 3270.
Re: Developer inequality and the technical debt crisis
#29I think the reason there's so much technical debt is largely because the amount it would cost to actually build quality software... is too high. We could not afford it. Like, as a society. Our society is built on crappy software. I think it's just a utopian fantasy to think that if only the right hypercard-like tool could be created, then the cost of building quality software would go down. Or at any rate, actually:…
There is also the idea of "default" versus "custom" and how the definition of the two can change over time as expectations of the level of complexity built into the default change. Where AJAX form autocomplete was once a nifty "custom" feature, it has effectively evolved to become the default way to capture input. But not everywhere.
Things are complicated, and the best way to do things changes all the time. And not just from a technology standard. So we build flexible solutions that can be extended and evolved over time to adapt to those changes; which really just adds complexity in the end. But the complexity is worth it, because nothing is ever really "done".
Re: Developer inequality and the technical debt crisis
#30I think the reason there's so much technical debt is largely because the amount it would cost to actually build quality software... is too high. We could not afford it. Like, as a society. Our society is built on crappy software. I think it's just a utopian fantasy to think that if only the right hypercard-like tool could be created, then the cost of building quality software would go down. Or at any rate, actually:…
Anecdotally, by far the worst spaghetti code I've ever seen was written by big-minded CS types shoehorning algos and metaprogramming quite unnecessarily. The newbie spaghetti I've seen has been magnitudes easier to refactor.