Hacker News new | ask | show | jobs
by IKLOL 1185 days ago
I think the fear should be less about AI taking 100% of jobs but it should be AI making a single programmer do the job of 5, which would wipe a majority of the market out and make it a non-viable career option for most.

Companies are already bloated, imagine when they realize one overworked highly paid senior can replace 10 juniors.

19 comments

If increased productivity equaled job loss, there would be two programmers alive today, doing the same job as the fewer than 10000 programmers using punch cards as we entered the year 1950.

A lot of projects today are not even greenlit because they would be too expensive to make. For instance, there are a lot processes in almost every country that require you to file paper forms, even though we have had web forms and databases for 25 years. This goes even for rich countries. If one programmer is able to do the job of 5 others, we will probably have 5 times as many systems to tend to now that businesses and institutions can afford them.

This is true for other domains also. My wife translates for an ecommerce business. A lot of what she does is very automated. The software she uses remembers all phrases she has translated and uses a word bank she manages for special parts and uses DeepL for new translations which are then only proofread and fine tuned. It's amazing how much stuff she can translate that way in a day (no idea how many thousands words). She is kind of managing and overseeing an AI (DeepL) and sanity checking the work. If this was 20 years ago one would probably need a translation department of 10-15 people to do the same work. However, her company would have never been able to justify that kind of cost. So, in my view: Software and AI made translators probably more than 10x more efficient in the last 10 years, however the amount of stuff that gets translated also increased 10 fold during this time.
Yep! I think this is both the optimistic case, and the version of the future that seems most likely to me.

I'm still a bit bummed about it, because just writing and structuring code is something that often brings me joy (and maybe your wife feels similarly about the actual translation work...), but at the end of the day, I realized well before all this AI craze that it really isn't the most valuable thing I do in my job.

Something like 97% of all jobs have been eliminated since the Industrial Revolution started ~250 years ago.

And instead of the 97% unemployment our intuition tell us would happen, we're instead 30x as productive.

The same will happen when/if AI makes writing software far more effective.

> … instead of the 97% unemployment … we’re instead 30x as productive.

Economic productivity simply means output per worker. So, we could make 97% of the US population permanently unemployed tomorrow, and as long as the AI replacement labor yielded equal or greater proceeds to the remaining 3%, we’d see a colossal increase in “productivity.”

That would be in the interest of the 3% to do (or attempt), which is what makes the scenario so scary.

But that’s never happened in the past. Why should it happen now? The Industrial Revolution is used as an example because it was the biggest spike in productivity, but the general trend has been the same since the invention of tools. Agriculture, another perfect example, lead to others having time to produce things instead of hunting/gathering. It’s easy to grasp with the agriculture example that “unemployment” wasn’t even really a risk.

Sure, there will be niche sub-industries that will be erased by LLMs, and people who have those niche skills will suffer. This has always been the case with technological advances. And always, it has not disrupted the economy.

> Why should it happen now?

What are S-curves.

Perhaps the quantity of labour utilizing each new technology through time is a (n-shaped) parabola that intersects with the technology it replaced.

The fear that technological advances will cause mass unemployment and destroy labour markets has been common throughout history. Yet here we are at full employment. Maybe this time is different?

>If increased productivity equaled job loss there would be two programmers alive today, doing the same job as the fewer than 10000 programmers using punch cards as we entered the year 1950.

The only reason it's not the case in this example is because computers at the time were a tiny early adopter niche, which massively multiplied and expanded to other areas. Like, only 1 in 10,000 businesses would have one in 1950, and only big firms would. Heck, then 1 in 100 million people even had a computer.

Today they've already done that expansion into all businesses and all areas of corporate, commerce, and leisure activities. Now almost everybody has one (or a comparable device in their pocket).

Already cloud based systems have made it so that a fraction of programmers and admins are needed. In some cases eliminating the need for one altogether.

There are tons of other fields, however, more mature, where increased productivity very much equaled job loss...

Have no doubt, we will find new places to put computers. In the 80's and even the 90's everyone said the same thing, "Why do I need a computer? I can do everything I do already without a problem?" Well, turns out with computers you could do 12 more things you can never considered. Consider the interoffice memo: it'd take what, 1-2 hours to get a document from one floor to another through the system? Cool, you can work on 2-3 projects at a time maybe, because that's all the bandwidth allowed. Along comes email and ups that to 5-6 because now the communications can be pretty consistent. It's still not perfect, because what if you're at lunch or the gym? Then came Blackberries and all of a sudden its 12-15 projects at once. Then Slack because you don't even have to think. Now add this.

Notice that during that time there weren't all of a sudden less programmers, or managers or sysadmins, if anything there's more. If anything everyone is even more stressed with more to do because of the context switching and 24/7. That's why this will do, I'd bet money on it.

I dunno, I feel like we've been trying to find new places to put computers for a couple decades now, and the effort is kind of losing steam. Every week there are threads about how useless a lot of these efforts are.
You just don't hear about all the computers, that's all. There's one on your car's key fob, and likely 100 more in the car. Your coffee grinder has one. So does your dishwasher. And your electric blanket.
There are 100-150 CPUs in a modern car.

...And also over 100 bugs in the spec that governs communication between car systems: https://youtu.be/hXnS_Xjwk2Y?t=899 (around 15 minute mark)

>In the 80's and even the 90's everyone said the same thing, "Why do I need a computer? I can do everything I do already without a problem?" Well, turns out with computers you could do 12 more things you can never considered

Yeah. Also, unfortunately, it turns out those people in the 80s and 90s got it right. They didn't really need a computer - they'd better off without one. But as soon as we got them, we'd find some things to use them for - mostly detrimental to our lives!

If increased productivity equaled job loss, there would be two programmers alive today

Increased productivity doesn't necessarily lead to overall job loss, but it will eventually in the area where the productivity is realized. Agricultural employment is a very clear example.

https://cdn2.vox-cdn.com/assets/4565243/Ag_workforce.png

otoh the rise of ATMs seems to have increased the number of bank tellers
Well, yes, it got down, but only from 12 mln to 5.5 mln people in agriculture.
Agriculture is still automating and the population has increased what, 4x since then
The US population increased about 15x in that period and one of the major reasons for that is the increase of productivity in agriculture [0]. Higher productivity created more demand.

[0] https://en.wikipedia.org/wiki/Green_Revolution

> If increased productivity equaled job loss, there would be two programmers alive today, doing the same job as the fewer than 10000 programmers using punch cards as we entered the year 1950.

Yeah. The problem is that there’s only one of me. All the rest of you are filling in for the other guy.

Correct. This is pretty much Jevons's paradox: https://en.wikipedia.org/wiki/Jevons_paradox
yup just literally talked a client out of a nice little mobile project by telling him my rate. lets say I had AI by my side - I'd be quoting the same rate, but number of hours would be lower. project might be a go then.
> Companies are already bloated, imagine when they realize one overworked highly paid senior can replace 10 juniors.

Yep. This is where I'm at in terms of personal armchair predictions of the future.

I expect the labor market will be tough for more junior software engineers in the coming years. This might indeed cause backpressure in the supply of new grads/new labor force entrants in this family of fields ("software development").

However, the "highly paid senior" is only around for so long before achieving financial independence and just not working anymore. Then what? The company didn't hire juniors because the "highly paid senior" did all the work. Whoops. Now the company lacks the pipeline of people to replace that senior.

It'll sort itself out in time, but the next decade will be interesting I think. Some companies will realize that they must make investments into the future of the labor force and will do better in the longer term. Other companies might indeed "fire the juniors" for some short term gains and find themselves lacking replacement staff later.

I see it the other way around the senior engineer is expensive and costs a lot 2 juniors are cheap. Who cares if their code is crap they produce it really fast so they find a bug, just fix it quickly. If anything the time a Sr. spends thinking about things to do things "right" is seen as a waste of time. Whereas the jr. will produce an enormous amount of buggy code but they can fix the bugs quickly by just throwing another prompt to ChatGPT to solve.

Now some might say that the code will be terrible quality and buggy and full of holes and the users will hate it, it is never economically viable to build enormous systems on a house of cards like that. To which I respond, you just described every piece of enterprise software I've ever used ever.

Because as soon as you tilt from producing features to fixing bugs, you are losing traction and your competitors will win and now you are bankrupt.

I've seen entire businesses collapse because of this mentality.

Yes, this is also why senior engs get payed so well. Actually if you are junior dev you basically cost money, imo. However a lot of companies hire those in hopes they will make their career and stay longer - especially startups do that, as they can slide on the company culture hook way more. Also they need them as senior engs require equivalents of "secretary" to handle less import things.

I don't mean to sound mean, senior devs are also secretaries of their cto and so on.

Tell that to SAP, Oracle, ServiceNow, or a dozen other enterprise software vendors.
> you are losing traction and your competitors will win

i mean, unless your competitor produces order of magnitude less bugs than you, how can this be true?

Disagree -- I think chatGPT will make juniors more palatable to hire. ChatGPT will basically give juniors a free pair programmer to baby-sit their work/progress. Why pay extra for senior devs when juniors can become much more efficient thanks to ChatGPT becoming stack-overflow on steroids. I think the wage gap between junior and senior will actually drop massively. I predict teams will keep 1-3 architect level positions for designs and reviews and replace all seniors with cheaper juniors.
I really doubt that ChatGPT will be able to give the kind of guidance that turns juniors into seniors.

Getting juniors un-stuck on "simple" problems, maybe. Stack Overflow already does this. Image doesn't build? Search for the error message online. Don't know how to build the old software that only works in Ubuntu 14.10? Sure, you'll find that.

Suggestions on how to refactor, proper design of interfaces, what skill to acquire next? Maybe, but that will be a bigger surprise.

I think it could go either way depending on the product. For example in app/game/web development where code quantity > quality, hire more juniors who can bust out code with ChatGPT all day. But if you're developing software for medical devices, vehicle control systems, HFT, etc. Then nobody's going to let some college grad using ChatGPT touch it. You'd hire senior engineers who can be responsible for the reliable operation of the software and they can use ChatGPT for code review, test suites, etc.
Even in the gaming industry. Typically you have people developing an engine, common frameworks... tools that downstream work to lower branches - now I can just type to chatgpt rather than go through requesting/reviewing, see quicker where I mis-designed my "framework" etc... I am afraid it's gonna be not great for junior engs all together.

Every org has varying level of engineers. This technology will make cheap grind, well cheap. We see the progression. With the speed of changes it seems we should all be worried. (as why does it matter despite being last we fell a year after)

> Companies are already bloated, imagine when they realize one overworked highly paid senior can replace 10 juniors.

That is already possible without AI and has been the case for a long time... the issue is nobody will stay to be that highly paid senior running entire projects because at that point you can just run your own shop and pocket the full profits.

It also causes a "single point of failure". If that senior gets hit by a bus then what? Can the company afford to bring in another senior that will take ~6 months to become productive?

I'm not disagreeing with you. Im thinking of going solo myself.

The biggest problem going solo is getting the projects/contracts. Now it will become even harder so one has to charge less and less to compete.
I wanted to say the same thing - except that the senior can't actually perform 10x because they're too busy trying to train the next gen devs while attempting to deliver stories themselves in the fractions of time available to them.

Not to say that this is a bad thing, but the difference between a junior and senior is often much more than the difference in their salary.

Fixed pie fallacy. More likely, there will be 5x as many apps / companies with just as many jobs available. And the cost of everything will go down, except truly scarce things like Manhattan real estate.
This was already the case 10 years ago.

Except, there was no AI, but an alternative called an offshored development center. You would send your spec and design document and get, via email or FTP if they were really cutting-edge a number of files that would sometime compile and even, according to the legends, actually work. The way this tech worked is that you generally had to wait overnight for your spec to "mature" into code.

Some places figured out they could hire local engineers for about 5-10x what they paid for this "offshored development center" tech and get better results.

I think this fear is unfounded because history shows this is not the case. We will adapt to the new level of productivity and our goals will adapt accordingly. What we are expected to produce will adapt. You were able to pump out 4 solid production grade pull requests per sprint? Then the expectation increases to a single dev being able to pump out 10. The company's ambition will grow as a result of the newfound efficiencies, and management will continue to request things that cannot be reasonably delivered on time with the people and tooling we have.
I don't know if that's going to be the case - companies can never have enough software and typically they just go until the budget runs out as the software is never "done". I think being able to build 5x the software with one dev means that each company is going to build 5x the software.
> imagine when they realize one overworked highly paid senior can replace 10 juniors

This already happens, the market is just not very efficient about it, e.g. a highly paid senior dev is not working at a company that only needs 2-3 developers, they're working at Google with 100's of devs.

Disagree -- I think chatGPT will make juniors more palatable to hire. ChatGPT will basically give juniors a free pair programmer to baby-sit their work/progress. Why pay extra for senior devs when juniors can become much more efficient thanks to ChatGPT becoming stack-overflow on steroids. I think the wage gap between junior and senior will actually drop massively. I predict teams will keep 1-3 architect level positions for designs and reviews and replace all seniors with cheaper juniors.
I predict the wage gap will actually widen. StackOverflow-on-steroids can only give your so much, so seniors will still be in demand for what they do. It's just the competition between juniors will be fiercer so junior wages will drop.
I think dev wages will stagnate across the board. I think the simple existence of the fear of being replaced by never-tiring, always-working AI will subconsciously prime devs to be willing to work for less. Devs have been in a market with a significant shortage of skilled labor; can we say that remains true after GPT hits the mainstream even more than it already has?
Right now? It made a splash but who uses ai for building their software this very moment? Nobody knows how the industry will land on this. Adoption will take time - it's not gonna be a year.

I remember after ruby on rails first demo, next day people had their websites up in ror. Here we will see, but it will be a bigger shift.

How much more efficient is programming in Python with modern tools vs assembly? I would bet more than 5x
That's an interesting case and use of the word efficient.

Developer time reduced by 5X CPU time increased by 500x

When CPU cycles are cheap it's a logical tradeoff but it still grates against my sensibilities.

5X is a gigantic underestimate of how much developer time has improved. How long would it take a good assembly programmer to implement a CRUD web server connected to a database? Way more than 5x longer what a mediocre Python programmer would need.
> How long would it take a good assembly programmer to implement a CRUD web server connected to a database?

You know you can call import functions and call libraries in other languages than python? If everyone was programming in assembly then there would be plenty of libraries to make database calls or make web servers in assembly, and there would be plenty of tutorials online that you could copy and paste to get things going, meaning it wouldn't take much work at all. It would be more work, but not orders of magnitude more work.

an assembly programmer wouldn't write a web server connected to a database, they would implement a tui over tty, and it would be faster.
How good would it be at letting business users attach photos and emailed documents?
Depends on the field kinda. For a really extreme case, something like big dense linear algebra is going to just use BLAS calls anyway. For big enough matrices, all of the flops are coming from the library, the cost of calling from Python vs the cost of calling from C or Fortran is amortized anyway, and probably most people won’t beat a tuned BLAS however much developer time they throw at it.

It makes more sense to tune libraries excessively, we could say it is less of a trade off, more of an allocation of the finite low-level tuning developer resources to high-impact libraries.

Anyway it turns out that the only way to get most people to link to a good BLAS is to use Numpy and distribute it through some giant Anaconda Rube Goldberg machine, so, I dunno, people are weird.

What does it even mean to say that a hypothetical assembly program is 500x faster than an existing Python program, when the assembly program does not even exist?

It's some kind of philosophical question.

Maintaining an assembly version of a modern software stack is not 5x more costly, it's simply not possible.

We should stop thinking about the trade-off as between developer time and CPU time. The CPU is an inanimate object which doesn't mind pushing around more electrons. What we're really throwing under the bus when we optimize for developer time is the customer's time.

If an inefficiency saves a developer 10 days of work, but results in an operation taking 100 milliseconds longer, and you have 50M customers who do that operation just one time, then you've wasted ~58 customer-days.

Don't forget customer's battery
So we just have to figure out if developer-hours or customer-hours are the tighter bottleneck.
Good question. Why don't we pit one of today's Python programmers against an IBM VS assembler programmer on an IBM 360 system circa 1960 and see how far each gets in a week?
Let's make it more fair: what about one of today's Python programmers vs an IBM assembler programmer using Erlang/Elixir to develop a telephone switch?
> making a single programmer do the job of 5

I mean, I already do? And for totally mundane and benign reasons. This has been my experience in this industry for the last 8 years or so, though my first 9 years I felt like the pace was maintainable.

Do more with less. It's so common to come across situations where so and so left, their position won't be backfilled, the targets don't adjust to compensate for the productivity hit, and we can put up or shut up.

I'm kind of on the fence with this one. As someone who does programming at work,I don't want to be partially replaced by a prompt, however there are also lots of sectors, where the problems are big and solving them could help a lot of people but money is an issue,so being able to access resources on a scale of large tech companies would be amazing.
You're not thinking that companies will not just spin up 5 projects, so 5 programmers produce a notional 25 person's worth of work. And hey, maybe they sack the expensive old guy and the AI spend isn't so great. Seems like a win.
Wouldn’t this actually create more demand for programmers? More businesses can exist that have a need for software. To date every advance in programming efficiency has resulted in more tech, not less.

Additionally there’s the math behind it. If Company A fires 50% of their staff because AI lets the remaining 50% work at twice the productivity then how will they compete with Company B that keeps their staff and now gets 200% efficiency?

The math is in favor of getting more, not fewer, developers.

Yep, I personally see the cost of doing a start-up going way down for individual developers or even junior developers.
You know, until that AI code breaks and you have no idea what's going on internally.

You know how hard it is to start debugging a project you haven't been onboarded to? Now imagine that every time something has a hiccup.

This is the ray of sunshine in all this AI stuff, to me.
yes - and in another way, too. a lot of the demand for programmers is driven by successive waves of new technology adoption and investment - and AI is looking to be a motherload that should keep us going for awhile.
If you can have one programmer do the job of 5, then you will be defeated by companies using 5 programmers to do the job of 25.

Also, if your one programmer dies you now have no programmers and loss of all institutional knowledge, whereas the other company can lose several programmers and still be OK. There is value in having redundant programmers.

That would be awesome. We have a never-ending list of things to do and not enough time to do it all. What you're saying to me is that we can get through our list of priorities even faster, and stuff won't continually rot at the end of the list.
If as GP says AI could automate 1% of a single programmer's job (the boring part where you write code), then how on earth can you derive that a single programmer could do the job of 5 with AI? It's completely illogical.
The GP estimate is way off...

If they indeed wait for input from other departments/companies 99% of the time (so they just need to actually program 5 minutes in their 8-hour workday), then they can be already thrown out of a job and have the company do with 1/10 the programmers, no AI required...

Clearly the company needs to dedicate a programmer to wait on each customer individually. You can’t have the same person waiting for two things simultaneously.
Can't believe companies are still single-threaded in 2023.
Exactly!
I suspect the post you’re replying to disagrees with the 1% figure.
many programmers (most?) spend hours a day coding and see it as the best part of their day?
Companies were bloated because of the profit potential of tech and organizational dysfunction.

AI wasnt needed to cut down on bloat - some combination of a few companies reaping the majority of the profit and reduced dysfunction is enough.

Companies will continue to hire even more people. Their single point is growth.

If one can go the job of 5 - they revenue per employee will increase.

They will hire even more employees.

Yeah, but they would then just start 10 times the number of projects at once and watch the majority of them fail.