Live data from Hacker News

Developer inequality and the technical debt crisis

alarmingdevelopment.org

11–20 of 105 posts

Re: Developer inequality and the technical debt crisis

#11
post #3

I often watch other developers look to make their lives more complex by trying to solve problems which aren't there. Why? Because the obvious solution is simple and boring. In any other culture that would be crazy. In programming culture, it seems to be the norm.

This is a constant battle for any developer. It's not merely that the obvious solution is boring, but that oftentimes the programmer is juggling so many problems that an obvious solution to one doesn't seem sufficient because it doesn't address the others.

That is, yes, devoid of all context the simple solution solves the small problem, but it doesn't address the larger. It's funny that we get back to that after describing the art of programming as being able to break a large problem down into small, solvable ones, but there you are.

I frequently find myself having to rescope my tasks, say "I don't know the answer to that, but I don't -need- to yet" or "That could go either way; let me just create a common exposed interface and cut off this effort at that point" etc, rather than create a bloated mass of abstractions to handle all the possibilities. It's the problem agile was/is supposed to solve in terms of method, and what functional programming is supposed to solve in implementation.

Re: Developer inequality and the technical debt crisis

#12

I 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:…

Pretty negative. Not everything that is intractable is 'crappy'. Sometimes it just hasn't anticipated how we're going to want to change it, or was built to order and not for expansion. Like a building or a roadthat you no longer want to use - nothing wrong with it, just no longer useful.

Re: Developer inequality and the technical debt crisis

#13

One particular point of developer inequality and technical debt that I see get ignored is people with the social credit or track that lets them only create new things as opposed to those that have to do maintenance. I find the latter often appreciate the place and purpose of types more clearly than the former, even if the former would benefit as well from having concise encodings of intent in the design and creation…

To be fair, businessmen are short-tempered and flightly. They're like 15-year-olds who love one band one week and hate it the next. You have to make impressions-- flashy ones-- quickly because they have no ability to judge code quality, and can only tell who seems to be working fast.

In this light, isn't the "get it out quickly" strategy (maintenance be damned) exactly what they've asked for? In an industry where programmers are business subordinates, not true professionals, should anything else be done?

I am playing devil's advocate insofar as I agree with you. (I also think creators worth their salt want to see their work through, which means they're already doing "maintenance" work by the time they're finished.) However, I don't see how anything else can become the norm, given that The Business sees us as a cost center and a commodity.

Re: Developer inequality and the technical debt crisis

#14
I'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.

You need to have a single-page app, because UX. Well, that in turn requires all these other things, in turn requiring still more things. You need to have a pretty web page that also looks good on mobile, in turn requiring more clever responsive CSS, and so on and so forth.

That's the root of the issue.

Re: Developer inequality and the technical debt crisis

#15

I 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:…

> written by non-programmers

This is an interesting characterization of Jonathan Edwards... did you not do research on the author before writing this, or are you really claiming he's a "non-programmer"?

Re: Developer inequality and the technical debt crisis

#16

I'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

#17
This 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 to build simple things without much coding. Oh wait, people already can build simple things, but....that's not what you mean?

The Web is actually a phenomenally easy platform to learn how to write code for, compared to basically every platform I've ever seen that came before it. Yeah, it has a shitload of quirks and stupidities and kludges, but that's what happens when you're building a system that gets used by a very large percentage of the global human population.

The author writes as though he's never actually considered that doing anything at scale - not programming, anything; running a train system, or setting up a government, or selling falafels to people at lunchtime - inevitably involves hacks, compromises, kludges and half-measures. "Technical debt" is just another term for "doing things that involve humans".

Re: Developer inequality and the technical debt crisis

#18

I 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:…

I 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'm not sure that I agree. If by crappy you mean "not formally proven", then sure. Or if you consider floating point crappy, then we disagree on terms.

I think our industry is in a state where 98% of the code produced is just junk: unmaintainable, barely working, no future, career-killing garbage just waiting to fail at the worst time. This is tolerated because software victories are worth (or, at least, valued at) gigantic sums of money: billions of dollars in some cases.

I'm not sure how well we can "afford" it. Do we want to go through another 2000-3? How much use is it to have massive numbers of people writing low-quality code, not because they're incapable but because they're managed specifically to produce shit code quickly in order to meet capriciously changing and often nonsensical "requirements" at high speed? I think it's great for building scam businesses that demo well and then fail horribly when code-quality issues finally become macroscopic business problems and eventually lead to investors losing faith. (Oh, and those failures are all going to happen around the same time.) I'm not sure that it's good for society to produce code this way. So much of the code out there is "totaled": it would cost more to fix or maintain it than to rewrite it from scratch. You can't (or shouldn't) build anything on that.

Re: Developer inequality and the technical debt crisis

#19
I've been working on a startup that addresses this.

It is best described as "a front-end as a service": use our interface and API to build a cross-platform native mobile app, with a matching mobile-friendly web app.

Targeting companies who need a cross-platform whitelabel app to reach their customers or employees, but whose core competency is not flashy front-end software. Although I haven't done in-depth market research on the topic, I figure that most companies want some sort of custom app, but not every company wants to try and manage a team of web and mobile developers to do that.

Let me know if anyone wants to meet up around SF and chat about this; I've been casually looking for a co-founder while I prototype and look for first customers.

Post reply on HN