The reason it's considered (by many) acceptable to churn/sling/vibe code using AI is largely due to how we frame development in respect to design. We consider design thinking as both innately human and a non-technical code-free occupation. We think of developers as machines who only encode design.

If developers get replaced by AI, it's only because we dehumanised them already. And the development itself *will* get worse. Because the best developers actually think deeply about their work.

@heydon Very much why I don't see how ai can help me. I'm bottlenecked by figuring out architecture, migration plans and product design, not by code.
@freiksenet @heydon For me that's is *part* of software development aka programming or coding.
@freiksenet @heydon I thought by now it was well understood that designd and development is inseparable, but GenAI hype suggests thar idea isn't that common yet.
@heydon That’s the damages done by companies that separe “product” and “tech”, or in general companies separating thinking from executing.

@meduz @heydon

> That’s the damages done by ... separating thinking from executing.

Yep

@heydon I used to work in a company where developers were called "coders"

(not sure if it translates well from French, but basically trying to reduce the software development work to just "encoding ideas in machine language")

@gdupont @heydon companies love that because it makes the dev teams replaceable.

Well, they would love that if that was how things actually worked.

@mathw
@heydon
In my case the issue seemed to be more historical: old company that started at a time where some engineers were still able to make all the software designs on paper and the implementation was almost brute machine code. Now the compute infra complexity has increased significantly but they still have this bias in value perception.
@gdupont @heydon sometimes I wonder what it was like being able to plan it all out in advance like that. Presumably they didn't have ever-changing requirements to accommodate.
@heydon I don’t disagree, but I wonder how things work out in orgs where developers don’t act like wizards sending spells to the magic cloud
@koos Never worked anywhere like that.
@heydon A coder friend of many years ago once said to me that the few times he had the time to write concise, lean, clean, maintainable, elegant bits of code he considered it poetry. Mostly, due to restraints, he had to settle for functional bits of code - but never cruddy code. Pride.
@heydon Writers and artists were also not valued long before genAI even though I would argue those are innately human.
@AimeeMaroux @heydon if you've ever seen GenAI produce fiction of any length, then you'll know that the same argument applies. Writers aren't just grammar vomiters, they consider structure and meaning. GenAI doesn't, at least not in the long run.. I reckon the difference will be slower to emerge in that space, because the worsening of outcomes will be more subtle. But it'll still happen.
@naught101 @heydon I have. My point is that it doesn't matter if it is considered an innately human activity, business leaders are chomping at the bit to get rid of human creatives just as much as human developers.

@AimeeMaroux @naught101 @heydon

This exactly. The target audience, business leaders, aren't on Mastodon to hear the hot take that they should stop trivializing or dehumanizing human labor.

It's going to take unions and labor advocacy to do that.

And yet too many software devs think they're unique snowflakes who know better and can go it alone, and then bend at the first raised eyebrow from management.

@AimeeMaroux Most of humanity is considered low value, yeah.
@heydon but the design team is really just the voice control tooling for the sales team
@heydon How do you differentiate "developers" from "coders" and "GUI designers"? If I see Foss software, I think that both groups still exist.
If I have a look at great game publishers, I think that "developer" means clicking around in Unity, selling a product that's much too big and eating up too much resources.
@heydon
Maybe there's no need to oppose both. Some coding work is routine, tedious and repetitive, but there's also pars that need genious and creativity. There's place for both of them. Humans will take care of the creative part while using AI as a tool that will do the tedious part. AI will just help humans to be more efficient.

@hadon @heydon “Humans will take care of the creative part while using AI as a tool that will do the tedious part.”

This is a dangerous fallacy. Humans are creative *because* of the tedious parts. Automating away tedium reduces creativity because our brains don't go from 0 to 100. You putter around and do “boring” tasks for a while, until you get an epiphany. No boring tasks, far fewer epiphanies. Far less learning.

I respect tedium. Assign me that boring task and I'll give you gold in return.

@jaredwhite @hadon Also, the AI would need to know how to differentiate between what is "tedious" and not. Which is a tall order given its subjective and emotive nature.
@heydon @jaredwhite
It's not the AI that decides the tasks it will do, it's the human. Human divides the work (leaves the repetitive boring part to AI , while he uses his mind to create new algorithms).
I have friends who have also allowed AI to analyze and then they pick up the patters AI has found and from them they have discovered new things.
@jaredwhite @heydon
We are creative when we are so bored that our mind wanders away (daydreaming), as when you do some repetitive task that doesn't really require deep concentration. When coding you need to concentrate, so I don't think it fits here.
Unless you are referring to the case where you have written 10 times the same algorithm and all of a sudden you come up with a better version.
@heydon vibe coding is just the latest attempt to replace expensive, skilled, developers with something cheaper. It's been "codeless" development tools. Now it's AI writing code. But the problem these attempts to replace developers have always faced is exactly what you identify. They're assuming that the value of developers is the ability to write code. It's not, it's the ability to consider a problem space, and identify possible solutions. Code is just a formal description of those solutions.
@pmb00cs @heydon The effort to replace skilled programmers with something cheaper goes back at least as far as the late 1950s. COBOL was designed in 1959, and its first authoritative description, the CODASYL report, was published in 1960. One of its explicitly stated goals was to make it possible for programming to be done by people who couldn't handle FORTRAN. The result? Skilled programmers were still needed, but they had to grit their teeth and express their conceptual designs in a language designed by and for FOOLS. A phenomenon that continues TO THIS DAY with maintenance of COBOL code.

@pmb00cs @heydon I came out of college, to a world where companies were refusing to hire devs, and instead tossing their websites to their nephews.

Because Macromedia Dreamweaver promised "anyone can do it; no knowledge nor understanding required!"

Ever since the dot-com bubble burst - even before? - they've been trying to get rid of us.

@pmb00cs @heydon @tpuddle I have all the tools and YouTube videos necessary for me to fix your plumbing.

You don’t want me to fix your plumbing.

@dan @heydon @tpuddle it can't be much worse than me fixing my plumbing.
@heydon I think this is true in every industry. From far enough away every job seems straightforward and easy; it's only when you have to engage with the details and deliver results every day that the complexities become clear.
@Binks Not sure how that's relevant?

@heydon I think you're noticing a specific instance of a very general phenomenon.

If the current state is undesirable I think any solution may require engaging with the general phenomenon, and finding common cause with others facing it.

Practically every profession getting replaced by AI will result in worse outcomes, because professionals think deeply about their work in ways that aren't obvious to the layperson.

@heydon
I had a minor epiphany.

If you are full of ideas but don't know how to execute, you will think that executing is the hard part.

If you know how to execute, you will realize the hard part is having *good* ideas.