People are missing the forest through the trees. Producing code which implements business logic has always been easy. This has always been true, even decades ago. As of at the early 2000s you could have spent around a rather small amount of money and gotten an app written for you based off of your natural language description by someone in a developing country. But what you got was a big ball of mud. It might correctly implement your ideas, it might not. I know this because I’ve helped make take these big balls of mud and turn them into actual software.The hard part is long term maintenance. The hard part is retrofitting new features. The hardest part of all is not building a big ball of mud.
Mythical Man Month is still an amazing read. 9 agents still cannot have a baby in 1 month because the problem has never been the speed at which we type.
gogopromptless|4 days ago
Sure, writing a program that makes a machine kind of do something was easy. Lots of people can do that. But then you ship a mobile app to a billion users and discover that people are genuinely wired differently.
different cultures, different mental models, different expectations
Now you have to accommodate and express all of that complexity in a language whose only reader is a machine that tolerates zero ambiguity. And you have to do it in a way that other engineers can read, reason about, and build on top of without the whole thing exploding. That's not requirements gathering. Its literally writing it down
You're doing the thing where you read code like a fish breathes water and conclude it was easy to write. You can read a Nobel Prize novel in a weekend too. The readability is the achievement, not evidence it was trivial.
Edit: I got pretty heated about this and wrote up a proper rebuttal: https://promptless.ai/blog/technical/writing-code-was-hard-a...
atoav|4 days ago
As a beginner syntax is the hard thing, remembering how to write a thing. As a beginner you don't even think about structure, how to write maintainable or testable code — you're just happy it eventually works for you. Depending on the beginners character they might fall into the trap of thinking more complicated code using more advanced language features is a sign of a genius programmer.
When you're getting better you realize that writing the code is indeed the easy part and that you should avoid writing code that is too clever unless it is well localized and neatly tucked away. Writing clever code is something that does not impress you at all — quite the opposite as it is usually just unnecessary bragging. The hard part after all isn't writing clever code, it is finding good abstractions, staying consistent, writing maintainable and testable code without being too smart. It is understanding and then solving the real world problem in an elegant way. It isn't writing what the customer think they want, it is writing whst they truly need.
That does not mean actually writing the code isn't specialized work that requires skill. But it just isn't the hardest part of the job. Just like knowing how to use the tools isn't the hardest part for a car mechanic. Making sure that the car drives reliably, you chose the right parts, you did it fast and efficiently is.
roxolotl|4 days ago
0: https://en.wikipedia.org/wiki/The_Mythical_Man-Month?wprov=s...
1: https://www.laputan.org/mud/
Edit: This also isn’t to say that _millions_ around the world aren’t employed just to write code. This isn’t to say LLMs aren’t hugely disruptive. This isn’t even to say they aren’t also good at the hard parts. It’s just to say there’s a difference between coding and systems design and one is harder than the other in most cases in most jobs.
jvanderbot|4 days ago
krackers|4 days ago
Are humans starting to adopt LLM patterns or was this was ironically written with an LLM?
That said, I'm surprised you didn't bring up Marx in your essay in the later sections. I vaguely remember he had some thoughts about derivation of value from labor vs "ideas/capital". Whether or not you agree, this debate is reminiscent of that just moved up one level to white-collar workers.
threethirtytwo|4 days ago
"The thing that LLMs are taking over is easy, we humans still have agency over the hard part."
That's what he's trying to say, and I can tell you, this is not true. Programming was the hard part. That's why we got paid so much. It's the easy jobs that are immune to AI: Gardening, construction work, blue collar jobs,... etc.
Mind you not easy in the sense that the work isn't hard, but easy in the sense that anyone can do it. Those are the jobs that are ironically safe.
remuskaos|4 days ago
cryptonector|4 days ago
Getting it right is much harder.
Knowing what to build is way harder.
Debugging is hard.
Dotting all the i's and crossing all the t's to get your product to ship can be hard.
Maintenance and support is hard, especially if the product is riddled with problems, but also just due to the passage of time.
Dealing with tech debt is hard.
Communicating is hard.
tayo42|4 days ago
dubeye|4 days ago
This is completely different though. In the past I'd always go back to paid SaaS when the mud broke apart.
Not true for the past 18 months for me, I am developing features, maintaining code, all via natural language to a much higher standard than I've ever had in my business before.
A low bar, perhaps, but it's definitely not the same.
raincole|4 days ago
I give you a bunch of high school students with average grades and no programming experiences. How long do you need to educate them so they can implement a JPEG decoder from JPEG spec, without a reference library?
It's a 100% unambiguous task. One doesn't need to understand the math behind discrete Fourier transform to implement JPEG. It's just a 1 to 1 translation from the spec to code. Must be not so hard!