Hacker News new | ask | show | jobs
by timkam 389 days ago
Is it really that LLM-based tools make developers so much more productive or rather that organizations have found out they can do with less -- and less privileged -- developers? What I don't really see, especially not big tech-internally, are stories of teams that have become amazingly more productive. For now it feels we get some minor productivity improvements that probably do not off-set the invest and are barely enough to keep the narrative alive.
7 comments

A lot of it is perception. Writing software was long considered somewhat difficult and that it required smart people to do so. AI changes this perception and coding starts to be perceived as a low level task that anyone can do easily with augmentation from AI tools. I certainly agree that writing software is turning more into a factory job and is less intellectually rewarding now.
When I started working in the field (1996), I was told that I would receive detailed specs from an analyst that I would then "translate" into code. At that time this idea was already out of fashion, things worked this way for the core business team (COBOL on the AS/400) but in my group (internal tools, Delphi mostly) I would get only the most vague requirements.

Eventually everyone was expected to understand a good deal of the code they were working on. The analyst and the coder became the same person.

I'm deeply skeptical that the kind of people that enjoy software development are the same kind of people that enjoy steering and proofing LLM generated code. Unlike the analyst and the coder, this strike me as a very different skill set.

> I'm deeply skeptical that the kind of people that enjoy software development are the same kind of people that enjoy steering and proofing LLM generated code. Unlike the analyst and the coder, this strike me as a very different skill set.

indeed. people generally hate foreign/alien code, or rather - love their style too much. it is not hard to recognize this pattern - ive seen it with colleagues, with my students, with some topnotch 10x-coders back in the day. so proofing is a skill one perhaps develops by teaching others do things right, but is not something most people entertain about.

on the other hand, people who lack time and patience to implement complex stuff may benefit from this process. particularly if they are good code-readers, and some seasoned devs become such people. i can see little chance they wont be using llms to spit code out.

but the two groups largely don't overlap and are different as astronomers and astronauts.

I worry a bit about people who like writing code but don’t like reading and debugging it. There are enough “throw it over the wall” coders.
Yeah, AI will kill all mundane brick layering jobs.

The real software engineering role, with architecture, customer management, discovery phase, risk analysis and all the other kind of stuff, not yet.

I have people skills damnit!
I don't mind reading and debugging my own code, or any other code written with a plan by someone with a clue.

Reading and debugging slop code is not the same thing, not even close.

For me it dependa on scale. Asking AI for something small and specific is a joy. Asking it to make a big change is a nightmare I so far only try every time a new model comes out.
It has been a factory job for decades.

Not everyone gets to code the next ground breaking algorithm at some R&D department.

Most programming tasks are rather repetitive, and in many countries there is hardly anything to look up to software developers, it is another blue collar job.

And in many cultures if you don't go into management after about five years, usually it is seen as a failure to grow up on their career.

Of course it is true. The thing was 90% of Amazon engineers made far more money at their job while essentially doing typical enterprise software work. This money led them believe it is some creative work. And now those task management and time monitoring tools are catching up to Amazon IT workers so they are realizing it is similar to another low end IT job/ factory work.
The pay and benefits at Amazon always seemed to offset the shit work/life balance and on-call rotation. What a gauntlet that was. The only engineers that got recognition were those that fixed high profile bugs, preferably after hours. Shipping a feature was always just "business as usual"
There are lots of jobs with terrible work/life balance AND bad pay. so I dont think that explains it
> if you don't go into management after about five years, usually it is seen as a failure to grow up on their career

I don't see how that's possible. Wouldn't such a norm result in something like a 7:1 ration of managers to engineers (i.e., assuming a 40ish year career, the first 5 years are spent as an engineer, and the remaining 35 as a manager)? For team managers, I've generally seen around a 1:10 ratio of engineers to managers. So a 7:1 ratio of managers to engineers just doesn't seem plausible, even including non-people leaders in management.

Have you wondered why japan, which is a powerhouse of electronics and manufacturing does not have any large software companies ? Software is different from manufacturing.

The mindset, mentality, and culture required to do new software for an ambiguous problem is different from the mentality to produce boilerplate code or maintain an existing codebase. The later is pure execution and the former is more like R&D.

"usually it is seen as a failure to grow up on their career."

What does that mean?

It means that the company is more likely to fire that person on the logic that they "failed" to be promoted to management, that they're "treading water" as a developer.
Manager is seen as next step in engineers career instead of side track.
It's been like this for awhile now. Aside from companies like Google and Facebook, most companies are using some CRUD web app where the development consists of gluing code together for multiple third-party services and libraries.

It's these sorts of jobs that will be replaced by AI and a vibe coder, which will cost much less because you don't need as much experience or expertise.

Even before AI I've always had the perception that writing software felt more intellectually on the level of plumbing. AI just feels like a having one of those fancy new tools that tradespersons may use.
What you're describing doesn't sound like something that requires a lot of foreign laborers.
It's been like this for decades.
Yeah that’s what really worries me, many people have been clinging to this ability as something that’s really special and AI is really going to disillusion them.
Organizations have long had a preference for 'deskilling' to something reliable through bureaucratic procedures, regardless of the side effects or even if it results in it costs more due to needing three people where one talented could do it before. Because it is more dependable, even if it is dependably mediocre. Even though this technique may lead to their long-term doom and irrelevance.
Yes and (adjacently):

Seeing Like a State by James Scott

https://en.wikipedia.org/wiki/Seeing_Like_a_State

Explains a lot of the confusing stuff I've experienced, in that eureka sort of way.

I feel like managers are having a heyday over tools like cursor having a user-by-user breakdown on AI code generation stats. I feel this is only the beginning and a whole new world of in-editor workplace monitoring will pop up.
The number of organizations that continue to use tedious languages like Java 8 and Golang...

Like, they hadn't realized they were turning humans into compilers for abstract concepts, yet now they are telling humans to get tf out of the way of AI

Please give some worked examples.

I'm not sure what: "'deskilling' to something reliable through bureaucratic procedures" ... means.

I'm the Managing Director of a small company and I'm pretty sure you are digging at the likes of me (int al) - so what am I doing wrong?

Are you familiar with Taylorism?

From the 19th century onwards, businesses have wanted to replace high-skilled craftsmen with low-skilled workers who would simply follow a repeatable process. A famous example is Ford. Ford didn't want an army of craftsmen, who each knew how to build a car. He wanted workers to stay at one station and perform the same single action all day. The knowledge of how to build a car would be in the system itself, the individual workers didn't have to know anything. This way, the workers have limited leverage because they are all replaceable, and the output is all standardized.

You can see this same approach everywhere. McDonalds for instance, or Amazon warehouses, or call centers.

I'm happy to report that for businesses on the scale as mine, we don't work like that.

We give a shit.

I wonder about codebase maintainability over time.

I hypothesize that it takes some period of time for vibe-coding to slowly "bit rot" a complex codebase with abstractions and subtle bugs, slowly making it less robust and more difficult to maintain, and more difficult to add new features/functionality.

So while companies may be seeing what appears to be increases in output _now_, they may be missing the increased drag on features and bugfixes _later_.

Up until now large software systems required thousands of hours of work and efforts of bright engineers. We take established code as something to be preserved because it embeds so my knowledge and took so long to develop. If it rots then it takes too long to repair or never gets repaired.

Imagine a future where the prompts become the precious artifact. That we regularly `rm -rf *` the entire code base and regenerate it with the original prompts perhaps when a better model becomes available. We stop fretting about code structure or hygiene because it won't be maintained by developers. Code is written for readability and audibility. So instead of finding the right abstractions that allow the problem to be elegantly implemented the focus is on allowing people to read the code to audit that it does what it says it does. No DSLs just plain readable code.

I can imagine that, but... given your prompt(s?) will need to contain all your business rules, someone will have to write prompt(s?) in a way that make it possible for the AI to produce something that works with all the requirements.

Because if you let every stakeholder add their requirements to the prompts, without checking that it doesn't contradict others, you'll end up with a disaster.

So you need someone able to gather all the requirements and translate it in a way that the machine (the AI) can interpret to produce the expected result (a ephemeral codebase).

Which means you now have to carefully maintain your prompts to be certain about the outcome.

But if you still need someone to fix the codebase later in the process, you need people with two sets of skills (prompts and coding) when, with the old model, you only needed coding skills.

I’m concerned that it might not be easy to vibecode a security fix for a complex codebase, especially when the flaw was introduced by vibecoding.
My new favourite genre of schadenfreude are solo-preneur SaaS vibe-coders.

They burn a pile of money. Maybe it’s their life savings, their parents’ money or their friends or some unlucky investors. But they go in thinking they’re going to join the privileged labourers without putting any of the time to develop the skills and without paying for that labour. GenAI the whole thing. And they post about it on socials like they’re special or something.

Then boom. A month later. “Can everyone stop hacking me already, I can’t make this stop. Why is this happening?”

Mostly I feel sorry for the people who get duped into paying for this crap and have their data stolen.

There’s like almost zero liability for messing around like this.

I wonder whether we have the same talk when the C compiler first came out.

People may worry that the "ASM" codebase will be bit-rot and no one can understand the compiler output or add new feature to the ASM codebase.

My guess is that the discussion trended around performance and not correctness since compilers are pretty well understood. Why a LLM output what they do are not understood by anyone to the same degree.
Yes, big-tech-internally I also see a lot of desire to get us to come up with some great AI achievements, but they are so far not achieving far far more than already existing automations and bots and code generators can do for us
Right. What the article is unsurprisingly glossing over (per usual) is that just because AI is perceived (by higher-ups that don’t actually do the work) to speed up coding work doesn't mean it actually does.

and that probably to some extent all involved (depending on how delusional they are) know that it's simply an excuse to do layoffs (replaced by offshoring) by artificially so-called raising the bar to what is unrealistic for most people

For this narrative to make sense you would have to believe that Amazon management cares more about short-term profit than the long-term quality of their work.
The narrative reflects a broader cultural shift, from "we are all in this together" (pandemic) to "our organizations are bloated and people don't work hard enough" (already pre-LLM hype post-pandemic). The observation that less-skilled people can, with the help of LLMs, take the work of traditionally more-skilled people fits this narrative. In the end, it is about demoting some types of knowledge workers from the skilled class to the working class. Apparently, important people believe that this is a long-term sustainable narrative.
The skilled class is the working class and always has been. The delusion that software developers were ever outside the working class because they were paid well is just that - an arrogant delusion.
Engineering is always boom/bust. Ask a retired aerospace engineer who got purged in the 90s.

Technology always automates jobs away. I had a dedicated database systems team 25 years ago that was larger than an infrastructure team managing 1000x more stuff today. Dev teams are bloated in most places, today.

Well, for the time SEs are substantially better paid than working-class jobs, they are not the working class. For now, this applies at least to some regions, not only within the US. I agree in that I have at times felt some level of arrogance among some people taking up software engineering jobs, but IMO this just confirms the social class aspect of it. So there may have been some level of delusion to it, but at least temporarily it was, and partially still is, true.
Working class is not defined by income level.

The working class is those who own no significant means of production and thus must sell their labor at whatever price the market bears.

That the market for SE labor is good(for the workers), doesn't mean SE's don't need to work to earn money.

This is an interesting perspective, and I assume your definition is the technically correct one. Still, many SEs receive substantial compensation in RSUs, direct stocks, shares in startups, et cetera. So also from this perspective, there are many non-working class SEs. Another aspect is that culturally, the perception has been that SEs don't necessarily sell their work by the hour, but instead sell knowledge that scales tremendously, in exchange for a comfortable upper middle-to-lower upper class life.
Something I've always puzzled over is whether the means of production are our laptops, or our knowledge and expertise. I still work for a wage, but expect to be paid above subsistence. I don't own the laptop that I use at work, but also don't own the carpeting on the floor. Both are commodities.

Is the concept of "intellectual capital" a figment of my imagination, or a flaw of the traditional class identifiers? Or both?

This might be the definition in Marxist theory but in normal colloquial language “working class” absolutely does not mean the same thing as “anyone who doesn’t own the means of production”. But I think you know what OP meant and are just derailing the conversation.
Where do people that works in Wall Street fall in this spectrum? They don't own the factories
The means of production for a software engineer is a laptop. Many SEs own them. There are no raw materials or factories needed to produce software, at least not in the sense of traditional production.
The way a word is defined by communists and the way it is defined by the rest of the world are seldom the same.
Is the wealth of the average software developer ($122 000/y) in the US closer to the wealth of:

A) a coal miner with $60 000/y salary

B) Elon Musk: $381 000 000 000

Sources: - https://www.indeed.com/career/software-engineer/salaries

- https://www.glassdoor.com/Salaries/coal-miner-salary-SRCH_KO...

- https://finance.yahoo.com/news/elon-musk-rich-6-8-170106956....

Is the average amount of properties (1-2) owned by a software developer closer to those of:

A) a worker at Walmart

B) Mark Zuckerberg?

> Well, for the time SEs are substantially better paid than working-class jobs, they are not the working class.

That's what they have been telling SEs to prevent us from unionizing :) All so they can put you where you stand now, when they (wrongly) think they don't need you. SE jobs are working class jobs, and have always been.

This feels like the wrong question to ask. Someone with a net worth of a "mere" $2 million is also closer to the coal miner, but at a 3% per year withdrawal rate, has a passive income equal to the coal miner's full time work week without lifting a finger.

I don't think it makes sense to group the "don't have to go to work anymore" people with the "can buy anything" people, but they don't have a lot in common with the working class, either.

To what extent are SWEs working class? I guess that depends on how many of them still have to go to work. A salary of $350k certainly puts you on the road to never having to work again.

> Is the wealth

You use that word, it does not mean what you think it means when you immediately talk about income.

Let me ask you this, do software engineers in unions enjoy more benefits and compensation than those not in Unions?
I don't think that way of defining the working class is very sound. Everyone expect ~50 people would be working class, probably including Taylor Swift and Donald Trump.

Also "working class" has a historical, social component, by which programmers are certainly not included.

And for all of Mark Zuckerberg's wealth and property holdings, it wasn't enough and didn't stop him from trying to take sacred land from native Hawaiians on the island of Kauai.
Yeah, I don't see any real difference between "Shut up and take it or we'll outsource your job overseas," which they've been saying since the 90s, and "Shut up and take it or we'll replace you with AI." Same threat, same motives.
s/post-pandemic/after ignoring the pandemic/
The pandemic is ongoing.
For anyone downvoting this: look into how many people are currently infected. Compare that to early 2020.

Yes, the people who were prone to dying already did so years ago. But the rate of long term disability in every single country is skyrocketing.

The average person has had 4.7 covid infections by now. Now look into the literal thousands of studies of long term effects of that.

Future generations will never forgive us for throwing them under the bus.

And yet, we go on living. Stopping the pandemic is impossible, so what else can we do?
Why are you using the word "demoting"?
Management has different layers with different goals. A middle manager and a director certainly care a lot about accomplishing short term goals and are ok with tech debt to meet the goals.
Caring is part of it. Having good measures is another. Older measures that worked might need updating to reflect the new, higher spaghetti risk. I expect Amazon to figure it out but I don't see why they necessarily already would have.
So it does make sense?
[flagged]
> shitty code monkeys

Please don't put others down like that on HN. It's mean and degrades the community.

https://news.ycombinator.com/newsguidelines.html

I see it more as replacing shitty code monkeys because it leaves the hard parts behind.
But you of course with your superior skills are above that risk?
No. The actual competency of AI won't matter. Lots of corporate executives will prioritize short-term cost savings, with little concern for the degradation for essential systems. They will hop from company to company, personally reaping the benefits while undermining the systems that users and society rely on. That's part of the reason why the current hype is blown way out of proportion by these people. Because who has faced consequences for behaving this way?