Hacker News new | ask | show | jobs
by testtesttesst 1256 days ago
I think people are more impressed than they should be because of a misconception about what programmers really do.

For most big software projects the bottleneck is not writing code and test boilerplate that runs correctly locally. Which of course LLMs can do reasonably well. Most time is spent on design, on integrations with other internal services, scaling concerns, and reasoning about other things that these models can't really reason about yet.

I'm obvious impressed that these models can generate simple client/server websites and generate code to solve competitive programming problems. But I don't think they've "solved" software engineering; they've only solved "what you boss thinks software engineering is".

2 comments

> But I don't think they've "solved" software engineering; they've only solved "what you boss thinks software engineering is".

That's still bad, though, because your boss makes hiring and salary decisions.

Maybe in the end it's a kind of "great filter" - companies and bosses that can't tell the difference don't survive. But a lot of good programmers can get fired before the clueless bosses die off...

That's capitalism. After you get fired, if you can still produce useful labor there will ideally be more employers waiting; you can freelance if your visa situation allows it; or you can start your own business and outcompete.

The cause of the inefficiency and "great filter" you're describing is the labor protectionism currently in the U.S.

Theoretically a good programmer has arbitrage via their skills and expertise. If you can get things done people will pay you for it, assuming you're allowed to work (in the U.S., EU, etc.).

Theoretically rarely beats ignorance in practice though. Software engineers in aggregate think and act like they’re working in a meritocracy (we aren’t) and this gives even more leverage to management and owners. It’s one of the big reasons engineer salaries right now aren’t as high as they otherwise would be.
> Software engineers in aggregate think and act like they’re working in a meritocracy (we aren’t)

What is it really? Just an industry plagued by nepotism?

>they've only solved "what you boss thinks software engineering is".

Which is why bosses are excited but engineers are not, because subpar LLMs will be used to justify firing actual engineers and replace them with fresh college grads tasked to work with a code bot, because the bosses fundamentally think that is enough.

Well, if that works, then it works! But if it doesn't (and I'm in the "I don't think it will" camp), then we'll know in less than a year or so.

I actually don't relate to this "bosses don't know what software engineering is" thing at all. All my bosses are older-school engineers-turned-management who are more skeptical of this than the young'uns.

Then those projects will fail and they won't do that anymore. Or they'll succeed and engineers will have to find harder problems to solve.

If a new grad + LLM can do task X about as well as an experienced engineer can, then the experienced engineer will have to find other harder problems to solve. Personally I think labor efficiency is good; why waste your labor on easy/solved problems?

> then the experienced engineer will have to find other harder problems to solve.

The experienced engineer also gets an LLM though

> The experienced engineer also gets an LLM though

Say experienced engineer Edna was working on a project and the new grad Nelson replaced her because he was cheaper and about as good if both have LLMs, i.e.,

Edna + LLM ≈ Nelson + LLM

even though

Edna >> Nelson.

So Edna needs to find a project to work on where LLMs don't equalize her arbitrage, i.e.,

Edna + LLM >> Nelson + LLM

and Nelson needs one where

Nelson + LLM >> LLM.

My contention is "how do you determine if someone was 'as good'?" Very likely the people in the position to make a decision will not be qualified enough to even make that decision. IF (and really only if) such a determination is possible, then sure, I agree, find harder problems etc, but I assert that people will not make that determination (which is close to impossible to make) well, if at all because that wasn't the point in the first place.
Project succeeds = good.

Project fails = bad.

If a bunch of projects given to NG + LLM fail, the company will say at some point "this is no good, let's not do that anymore". If they mostly succeed, they'll do it more.

From a middle manager's perspective, where they're funding 10-20 projects, this kind of measurement is feasible and carries at least some signal. So I don't agree it's difficult to measure.