38 comments

[ 2.5 ms ] story [ 51.6 ms ] thread
> Will this lead to fewer programmers or more programmers?

> Economics gives us two contradictory answers simultaneously.

> Substitution. The substitution effect says we'll need fewer programmers—machines are replacing human labor.

> Jevons’. Jevons’ paradox predicts that when something becomes cheaper, demand increases as the cheaper good is economically viable in a wider variety of cases.

The answer is a little more nuanced. Assuming the above, the economy will demand fewer programmers for the previous set of demanded programs.

However. The set of demanded programs will likely evolve. So to over-simplify it absurdly: if before we needed 10 programmers to write different fibonacci generators, now we'll need 1 to write those and 9 to write more complicated stuff.

Additionally, the total number of people doing "programming" may go up or down.

My intuition is that the total number will increase but that the programs we write will be substantially different.

> now we'll need 1 to write those and 9 to write more complicated stuff.

Or simpler :) I'd argue that in the past we needed more programmers for more complicated stuff (more hand-rolled databases, auth solutions etc. - a lot stuff was reinvented in each company), now we need many more people to glue some libraries and external solutions together.

The future could look similar, a lot of LLM vibe coders and a handful of specialized fixers.

Who knows though. Real life has a lot of inertia. One will probably do just fine writing just enterprise Java or React (or both!) for the next 30 years. I plan to be dead or retired in the next 30 years.

This is insightful. Which programs will the new tech make profitable (be it cash, psychic/emotional, or some other form) to write?

The Keynesian bogeyman of the deflationary spiral ignores intertemporal effects. Cell phones and laptops are getting cheaper all the time, but no one drops into an infinite wait because of time-preference. In the context of producing software becoming cheaper, people at a definite point value having a usable system today over a marginally cheaper version tomorrow.

That's what happened once with PCs in the 80s/90s and then again with the web in the 90s/2000s. The number of developers went up. Maybe the number of developers on the previous technology went down, but I'm not sure about it. Example: there are still developers for Windows native apps. Are they more or less than in 1995? I would bet on less, but I won't bet anything of valuable.
Yeah it sounded like Kent just discovered Jevons' paradox and decided to shoehorn it into the article. Nothing here became cheaper, and if by cheaper he means that paying a programmer was more expensive than paying for an AI, even that's not necessarily true once you account for re-work and a host of other things.

If we're going to go with economic/strategy models, I think the Laffer Curve is more relevant. Seriously extrapolating here: AI is optimal for many tasks which if used in those contexts can maximize productivity. Over-using it on unsuitable tasks destroys productivity.

Too much optimism from everyone, the truth is managers and business owners are controlling everything and they always make the dumbest decisions: "Quick fire everyone! dont hire any seniors we can get em cheaper. Dont hire any juniors they cant afford $10,000 graphics cards to already be good at it. Lets create a new system to exploit illegals and churn through them as they get deported, now thats business boyz"
> Don’t bother predicting which future we'll get. Build capabilities that thrive in either scenario.

I feel this is a bit like the "don't be poor" advice (I'm being a little mean here maybe, but not too much). Sure, focus on improving understanding & judgement - I don't think anybody really disagrees that having good judgement is a valuable skill, but how do you improve that? That's a lot trickier to answer, and that's the part where most people struggle. We all intuitively understand that good judgement is valuable, but that doesn't make it any easier to make good judgements.

It's just experience, i.e. a collection of personal reference points against seeing how said judgements have played out over time in reality. This is what can't be replaced.

I think the current state of AI is absolutely abysmal, borderline harmful for junior inexperienced devs who will get led down a rabbit hole they cannot recognize. But for someone who really knows what they are doing it has been transformative.

Make lots of predictions and write down your thought process (seriously write them down!) once the result is in, analyze whether you were right. Were you right for the right reasons? Were you wrong but had the right thought process mostly?

Do it every day for years.

The role of the entrepreneur is predicting future states of the market and deploying present capital accordingly. Beck is advocating a game-theory optimal strategy.

Judgment is a skill improved through reps. Sturgeon’s law (ninety percent of everything is crap) combined with vibe code spewage will create lots of volume quickly. What this does not accelerate is the process of learning from how bad choices ripple through the system lifecycle.

I think this is a bit like attempting your own plumbing. Knowledge was never the barrier to entry nor was getting your code to compile. It just means more laypeople can add "programming" to their DIY project skills.

Maybe a few of them will pursue it further, but most won't. People don't like hard labor or higher-level planning.

Long term, software engineering will have to be more tightly regulated like the rest of engineering.

Literally all new products nowadays come with a great degree of software and hardware. Whether they are a SaaS or a kitchen product.

Programming will still exist, it will be just different. Programming has changed a lot of times before as well. I don't think this time is different.

If programming became suddenly too easy to iterate upon, people would be building new competitors to SAP, Salesforce, Shopify and other solutions overnight, but you rarely see any good competitor coming around.

The necessary involvement behind understanding your customers needs, iterating on it between product and tech is not to be underestimated. AI doesn't help with that at all, at maximum is a marginal iteration improvement.

Knowing what to build has been for a long time the real challenge.

This article is really only useful if LLMs are actually able to close the gap from where they are now to where they want to be in a reasonable amount of time. There are plenty of historical examples of technologies where the last few milestones are nearly impossible to achieve: hypersonic/supersonic travel, nuclear waste disposal, curing cancer, error-free language translation, etc. All of which have had periods of great immediate success, but development/research always gets stuck in the mud (sometimes for decades) because the level complexity to complete the race is exponentially higher than it was at the start.

Not saying you should disregard today's AI advancements, I think some level of preparedness is a necessity, but to go all in on the idea that deep learning will power us to true AGI is a gamble. We've dumped billions of dollars and countless hours of research into developing a cancer cure for decades but we still don't have a cure.

A related idea is sub-linear cost growth where the unit cost of operating software gets cheaper the more it’s used. This should be common, right? But it’s oddly rare in practice.

I suspect the reality around programming will be the same - a chasm between perception and reality around the cost.

I’ve been thinking about the impact of LLMs on software engineering through a Marxist lens. Marx described one of capitalism’s recurring problems as the crisis of overproduction: the economy becomes capable of producing far more goods than the market can absorb profitably. This contradiction (between productive capacity and limited demand) leads to bankruptcies, layoffs, and recessions until value and capital are destroyed, paving the way for the next cycle.

Something similar might be happening in software. LLMs allow us to produce more software, faster and cheaper, than companies can realistically absorb. In the short term this looks amazing: there’s always some backlog of features and technical debt to address, so everyone’s happy.

But a year or two from now, we may reach saturation. Businesses won’t be able to use or even need all the software we’re capable of producing. At that point, wages may fall, unemployment among engineers may grow, and some companies could collapse.

In other words, the bottleneck in software production is shifting from labor capacity to market absorption. And that could trigger something very much like an overproduction crisis. Only this time, not for physical goods, but for code.

Interesting, but way too optimistic and biased towards the scenario that infinite progress of LLMs and similar tools is just given, when it's not.

"Every small business becomes a software company. Every individual becomes a developer. The cost of "what if we tried..." approaches zero.

Publishing was expensive in 1995, exclusive. Then it became free. Did we get less publishing? Quite the opposite. We got an explosion of content, most of it terrible, some of it revolutionary."

If it only were the same and so simple.

This mindset that the value of code is always positive is responsible for a lot of problems in industry.

Additional code is additional complexity, "cheap" code is cheap complexity. The decreasing cost of code is comparable to the decreasing costs of chainsaws, table saws, or high powered lasers. If you are a power user of these things then having them cheaply available is great. If you don't know what you're doing, then you may be exposing yourself to more risk than reward by having easier access to them. You could accidentally create an important piece of infrastructure for your business that gives the wrong answers, or requires expensive software engineers to come in and fix. You accidentally cost yourself more in time dealing with the complexity you created than the automation ever brought in benefit.

"Understanding. Judgment. The ability to see how pieces fit together. The wisdom to know what not to build."

How would one even market oneself in a world where this is what is most valued?

Some valid questions asked in the article but I don’t like the terminology used from title to content to assess situation and options. I’d rather call it Commoditization of Software Engineering.
(comment deleted)
> AI isn't just redistributing the same pie; it's making the pie-making process fundamentally cheaper

Not if you believe most other articles related to AI posted here including the one from today (from Singularity is Nearer).

The IT industry has been trying to find ways to cheaply produce low quality code for decades. AI might be the final chapter of that , I'm not even sure about that, but the low quality code is not what programming is about. Even if the context windows and models are scaled 10x, they will be forgetful, they will try to cheat their way to some kind of success. If you are building software because you care about the craft and the result, AI will not replace you in the next decades. You will be just more in the architectural position, not hands on coding. I personally see that as the core of what programming is.
> Value Migration: Writing code becomes like typing—a basic skill, not a career. Value moves to understanding what to build, how systems fit together, and navigating the complexity of infinite cheap software pieces.

I saw this happening way before LLMs came on the scene in 2015. Back then, I was an ordinary journeyman enterprise developer who had spent the last 7 years both surviving the shit show of the 2008 recession and getting to the other side of being an “expert beginner” after staying at my second job out of college for 9 years until 2008.

I saw that as an enterprise dev in a second tier tech city, no matter what I learned well - mobile, web, “full stack development”, or even “cloud”, they were all commodities that anyone could learn “well enough@ so I wouldn’t command a premium and I was going to plateau at around $150-$160K and it was going to be hard to stand out.

I did start focusing on just what the author said and took a chance on leaving a full time salaried job the next year for a contract to perm opportunities that would give me the chance to lead a major initiative by a then new director of a company [1].

I didn’t learn until 5 years later at BigTech about promotions were about “scope”, “impact” and “dealing with ambiguity”.

https://www.levels.fyi/blog/swe-level-framework.html

I had never had a job before with real documented leveling guidelines.

Long story short, left there and led the architecture of B2B startup and then a job working (full time) in the cloud consulting department of AWS fell into my lap.

After leaving AWS in 2023, I found out how prescient I was, the regular old enterprise dev jobs I was being offered even as a “senior” or “architect” were still topping out at around $160K-$175K and hadn’t kept up with inflation. I have friends who are making around that much with 20 years of experience in Atlanta.

Luckily, I was able to quickly get a job as a staff consultant at a third party consulting company. But I did have to spend 5 years honing my soft skills to get here. I still do some coding. But that’s not my value proposition.

[1] Thanks to having a wife in the school system part time with good benefits I could go from full time to contract to permanent in 2016.

The article reduces programming to its economic and utilitarian components to make this analysis. It's coherent and valuable for analysing decision-making in the context of programming as a means to an end, where the end is to make money.

However, there are other aspects to programming that can't be quantified, subjective components that are stripped away when delegating coding to machines.

The first most immediate effect I think is loss of the sense of ownership with code. The second which takes a bit of time to sink in and is at first buried by the excitement of making something work that is beyond your technical capability is enjoyment.

You take both of these out, you create what I could only describe as soul-less code.

The impact of soul-less code is not obvious, not measurable but I'd argue quite real. We will need time to see these effects in practice. Will companies that go all-in on machine generates code have the upper hand, or those that value traditional approaches more?

Based on my experiences with LLMs and the hype around it, we will need more experienced programmers. Because they will have to clean up the huge mess that will come.
It kind of weakens the author's argument significantly when he leads with "let's take as given (very controversial claim that absolutely should not be taken as given)". If you disagree with that claim (and I do), then what's the point of the rest of the article which follows from it?
I'd only really be worried about barriers to entry and composition.

One limit on wages is $ of value / hour. If AI makes existing programmers more efficient, then you would expect total wages to go up.

If AI makes it easier for folks to become programmers, then the value produced could be split over more people. Alternatively, if you need fewer programmers then more value could be captured by a few superstar winners.

What advice would you all have for programmers who aren't compatable with AI augmented programming?

I'm somewhat neurodivergent and got into tech precisely because it was a career where hyperfocus, compulsive systems building, passion for finding difficult solutions, etc. where valued. However, now it feels like those skills are no longer values; or even liabilities. As the article points out, companies now want me to "embrace commodity" and focus on plumbing code. However, those are precisely the areas that I'm not good at.

> We're not just experiencing technological change. We're watching the basic economics of software development transform in real time.

> We're not just <A> ... We're <B>

Is this proof of LLM writing or are people subconsciously picking up LLM patterns?

The public was sold early on the idea that if you bought a personal computer you could write your own programs and games for the thing and up until now that's more-or-less been a kind of convenient half-truth. What's, "the market" when people really can command their computer interface to do, "what they'd like it to do?"

I see it as a correction rather than deflation. We proved the shitty salesman of the 70s and 80s right. The computer really can be a bicycle for the mind; whether or not that bicycle actually fucking goes anywhere is still left to human wills.

> Understanding. Judgment. The ability to see how pieces fit together. The wisdom to know what not to build.

It's really hard to get an LLM to assist you when you don't know the right questions to ask. If your vision and convictions about the world are not strong enough, one plausible hallucination can take you into Narnia for an entire week.

Oh kent, you almost got away with using chatgpt to write the whole thing. You mostly camoflaged it, but then I got to:

>We're not just experiencing technological change. We're watching the basic economics of software development transform in real time.

and I knew.

> Jevons’. Jevons’ paradox predicts that when something becomes cheaper, demand increases as the cheaper good is economically viable in a wider variety of cases.

That's just the usual behavior of any market. When prices go down, demand goes up.

Jevon's paradox specifically says when prices go down by a factor of x, demand goes up by a factor greater than x, leading to total consumption (measured in money spent) goes up.

In the context of this post we can paraphrase (replacing money with programmers) like so:

Once AI makes it so developing any piece of software takes half as many programmers, the amount of software developed will go up by more than two times, leading to a net increase in the number of programmers required.