Remix.run Logo
ben_w 6 hours ago

> That sounds great until you realize that "hey Claude, read this Jira ticket and implement the feature in this code base" isn't really worth $200K/year.

Nor even €50k/year.

Two things are true:

1) The coding part of my career is over. LLMs are capable of doing everything I've ever been paid to *write*.

2) My actual job also included non-coding work: Does this attempted solution even work at all? Is this solving the right problem? Even if it's a valid solution to the right problem, is it the best solution given the time constraints?

That last one, "given the time constraints", is a place where my experience is still useful. The AI is as lazy (or as optimised for fast wins) as the humans whose examples it was trained upon; but an LLM costs so little that the answer is always "do it right" rather than "do it fast". A lot of people don't know what "do it right" even looks like, having only ever known e.g. websites that take 5 seconds to load because of all the adverts and analytics, and never the world where machines with 1% of the CPU and no GPU at all could fit a fully playable first person shooter in the same memory footprint as that page.

At least, I hope this "is a place where my experience is still useful"; I may just be telling myself a nice story, same as all the other people through history who have found themselves obsoleted when the automation came for them.

hintymad 4 hours ago | parent | next [-]

> The coding part of my career is over. LLMs are capable of doing everything I've ever been paid to write.

Remember we used to spend enormous amount of time in school and in our spare time studying computer science? Algorithms, operating systems, compilers, and etc. All kinds of insights. All kinds of fun. All kinds of hard engineering. Yet, how much time do we really need to spend in our day-to-day work implementing or using the algorithms and etc that we have learned?

Engineers have done amazing work of abstracting away the hard algorithms and data structures. In the meantime, there has been little progress or few new fields in the past 10 years or so in business that ask for implementation of new algorithms. In contrast, getting LLM to work is a new field, so it requires tons of new implementations: KV caches, speculative decoding, all kinds of variants of attention like FlashAttention, all kinds of parallel processing techniques, RL pipelines, post-training pipelines, and etc. It's just that the field is so concentrated that only luck few get to work on them.

So, maybe it's not LLM per se that removes the need of writing code. It is the maturity of the software engineering that has done so. It's just that LLM fills the last gap: making knowledge transfer so much faster and cheaper - if all that's left for most of us is slicing and dicing of what has been already been implemented, then LLM can reliably take over.

n4r9 2 hours ago | parent | next [-]

> there has been little progress or few new fields in the past 10 years or so in business that ask for implementation of new algorithms

Transit routing is still moving fast in this area. We're still figuring out the best ways to return thousands-by-thousands transit time matrices with query-time truck dimensions and traffic updates. It can't be the only field!

conductr an hour ago | parent | prev | next [-]

I think it follows the path of the spreadsheet. For a long while, only geeks and finance or accountants or data monkeys used spreadsheets. Then, it was such that anyone could create a spreadsheet. Vlookup was something you learned early in school or on your home computer tinkering around. There’s still some modeling gurus out there but largely everyone is developing solutions using spreadsheets everyday. And they’re doing it rather autonomously even prior to AI helping. We can talk about how they’re ugly and crappy spreadsheets but they generally solve the problem the user had.

With AI, people can build and collaborate on applications much more complex with much less technical knowledge. It might be ugly and crappy but I bet they’ll be mostly autonomous and not need to work through their IT team, or go through the hell of PM and requirements. If I know my requirements, I don’t need you. Hell, I can just start building and add requirements as I come across them. It’s not a major risk to the project like it used to be.

It will, and is, going much faster than the spreadsheet did.

hirvi74 2 hours ago | parent | prev [-]

> Remember we used to spend enormous amount of time in school and in our spare time studying computer science? Algorithms, operating systems, compilers, and etc. All kinds of insights. All kinds of fun. All kinds of hard engineering. Yet, how much time do we really need to spend in our day-to-day work implementing or using the algorithms and etc that we have learned?

Because great insight and expertise stems from foundational knowledge.

I am a huge hockey fan. In the NHL, the players do not stop practicing the fundamentals once they make it to the NHL. They practice the fundamentals even more. Many practice the same drills as youth leagues -- stick handling, passing back and forth, shooting, edgework, shooting, rebound control, etc..

The best of the NHL might not hit the hardest, have the most accurate shot, or skate the fastest. What separates them from the rest of the lot is that they are fundamentally better than everyone else.

matsemann 6 hours ago | parent | prev | next [-]

Before, if I would start working / thinking on a problem and discover it was harder than anticipated, that often was a signal that the feature may not be worth it. Because implementing it doesn't fit the current model of how things work or similar. Then it was back to the drawing table and find a better way of solving the underlying issue.

But an LLM just happily chugs along and does it, no one feels the friction, which means you never stop up to think if you're solving the right problem, or in the right way. I'm already seeing this bite us in the ass, as you get hacks upon hacks.

lackoftactics 9 minutes ago | parent | next [-]

I think this is one of the most popular patterns seen nowadays. We approach problems that we didn't before because they were absurdly stupid and touched so many places that it seemed risky, hacky, costed too much time. It would be nice to go back to simpler problem solving and saying no to things that extend team skills

polotics 4 hours ago | parent | prev | next [-]

So exactly true! With ideas people unbridled, the painting-yourself-in-a-corner tendency that was always there has gone exponential, add to it the not-completely-aligned incentives, and the oh-so-clever impressive writer of long prose LLMs just end up churning. The real value add may end up being the lesson in honesty and humility to us all...

kypro 5 hours ago | parent | prev [-]

I first brought this up late last year – that there used to exist a kind of selection pressure against both developers and against features which would prevent certain functionality from ever being shipped, specifically:

- Functionality which exceed the technical ability or knowledge of the developer which built it; and

- Functionality which would require an excessive number of changes that time/cost became a constraint (likely because it wasn't an incremental change but a significant rework, or just a bad fit with the existing product).

Sometimes I had the displeasure of joining a company where you could see developers hit these blockers and tried to fight through them (likely under pressure from management) rather than avoid them. And in the process they created a mess of buggy, half-functional spaghetti code which someone else later had to resolve.

Today however, people can use agents to smash through these blockers and ship an incomprehensible amount of crap. And what's worse is they're celebrated by management who don't know any better and see this all as a productivity win with no downside.

I suppose there are two ways to look at this – some would argue that engineers don't need to understand what they're building in detail anymore so non of this matters. Instead they can always use agents to explain what's going on and prompt them to fix any issues that come up.

Then there's another camp which might argue that agents will fundamentally have all the same limitations as humans, and that at some point a codebase will grow too complex that it exceeds even the limits of an agent's knowledge retention or intelligence. Or a codebase may just grow so large that it costs 1 million tokens to make even a simple change.

Unless agents start saying, "there's no way I'm shipping that" like humans used to I don't really see how we avoid the latter scenario... Complexity simply must have limits even if agents allow the bounds of those limits to grow.

At some point models will have to take control or we risk hitting these limits in irrecoverable ways since complexity far exceed that of what a human can reason about well.

If this wasn't true then "build me all the software" would be a reasonable prompt. Because why wouldn't we just get an agent to build everything we could ever possibly need? It's obvious that in the limit there will be limits in knowledge, intelligence and cost.

Whether it's humans or agents, someone needs to manage complexity. That is the most important thing a good SWE used to do. It's why technology selection mattered, it's why good architecture mattered, it's why clean code mattered.

pianopatrick 3 hours ago | parent | next [-]

In my personal project I've found having a hard lines of code limit has been a good limit on complexity. Makes me really ask if I need things.

One theory I have floating around in my head is that if a whole code base was microservices and micro front ends that were all less than 5,000 loc then you could fit the whole thing into a 100k token AI context window when working on it. And being few lines of code would force them to be somewhat simple

visarga 4 hours ago | parent | prev [-]

There is a limit, after a few 10,000's of LOC ai projects start disintegrating and becoming unmanageable.

Kinrany 42 minutes ago | parent | next [-]

I believe tinygrad still caps the total LoC in their repository to 10k

BatFastard 3 hours ago | parent | prev [-]

10,000 LOC, hell my LLM can do that in a day!

Current project has over 60,000 LOC, I find using an antagonistic agent code and architecture reviews are really handy for keeping things grounded.

roncesvalles 5 hours ago | parent | prev | next [-]

>My actual job also included non-coding work: Does this attempted solution even work at all? Is this solving the right problem? Even if it's a valid solution to the right problem, is it the best solution given the time constraints?

This is not non-coding work. This is coding.

polotics 4 hours ago | parent [-]

this is software development

mekael 22 minutes ago | parent | next [-]

Sir, this is a Wendy’s

bhavansig 3 hours ago | parent | prev [-]

There's a reason it's called Software Engineering

ben_w 3 hours ago | parent [-]

Coding < Development < Engineering.

My claim is just that LLMs are basically fine now with the "coding" part. Not so much with development, definitely not with engineering.

warmedcookie 6 hours ago | parent | prev | next [-]

I feel like there is also the "Nerd Factor" to consider which is this unrelenting passion to type away at a screen all day, whether that is yesterday's code or tomorrow's prompt. Few non-technical people have the attention span to suffer such monotony. (Even most devs don't have that to varying extents)

ben_w 4 hours ago | parent | next [-]

Aye. This is true for many professions, I think.

I'm trying to write a novel, have been for a while now; one thing I hear from professional writers is that one should only do this if you are prepared to re-read whole thing six times before you even send it to the editor, and when you do send it to the editor, you and they will likely spend several months repeatedly re-reading the whole thing as you respond to a long list of changes they give you.

skydhash 5 hours ago | parent | prev [-]

It's only monotone from someone looking, not from someone doing. If you look at digital painting tutorial, you'll see a lot of timelapse, because it's a very slow process where you spend the majority of time correcting stuff. But if you're the one doing it, each individual brush stroke is the result of a conscious decision.

orangedog 5 hours ago | parent [-]

I'm not sure; I find the job pretty boring.

emodendroket 5 hours ago | parent | next [-]

Working on a passion project or working through the hairy details of a complex algorithm or whatever can be fun. But that's not really what the job is like most of the time.

skydhash 4 hours ago | parent | prev [-]

All the boring parts I've encountered have soon been automated out of my workflow. There's the waiting part of some process, but that's why I have HN for.

keybored 30 minutes ago | parent | prev | next [-]

This I solemnly swear. To take my paycheck with gratitude, even if my employer makes three times as much based on my output. To take whatever technological disruption that graces my path as an immaterial and impersonal force. To politely and discreetely bow out when the statistics soup trained on my fellow colleagues makes me unemployable and worthless. Amen.

5 hours ago | parent | prev | next [-]
[deleted]
bigstrat2003 4 hours ago | parent | prev | next [-]

> The coding part of my career is over. LLMs are capable of doing everything I've ever been paid to write.

That is certainly not true. LLMs can't write code worth a damn still, and you have to babysit them to make sure they aren't doing stupid stuff. A human is still by far the best choice for doing programming, and when trend-chasing companies realize the damage they've done to their businesses they will stop pushing LLMs so hard.

fsloth 4 hours ago | parent [-]

"LLMs can't write code worth a damn"

I think it depends on the - ahem - context. In my experience they usually can, sometimes they can't.

But generally their sense of software architecture remains abysmal, so even if their writing is ok, you need to have architectural authority the very least to guide them.

izzydata 2 hours ago | parent [-]

The fact that they sometimes can't means you can't have someone who is not a software engineer. Otherwise there is no way to verify whether the LLM wrote correct code or not.

wek 38 minutes ago | parent [-]

Exactly. Expertise is frequently required to steer, correct, rework, know what is good and what isn't. This happens 500 times a day on both the micro level and the architecture level.

enraged_camel 6 hours ago | parent | prev | next [-]

FWIW: The highest paid devs I know excel at 2, and aren't even that good at 1.

finaard 5 hours ago | parent [-]

I guess that somewhat describes me - and guess what, that also transfers to "should we even throw AI at that specific problem, or are there other solutions?". Early curiousity in figuring out the limits of LLMs now is turning into revenue by customers with problems that didn't exist a few years ago at all - which currently is quite an exciting field to work in as a lot of things just don't have pre-established solutions yet.

It's a similar level of excitement as when we started doing devops stuff before devops even was a thing (which has been one of our main things for a very long time now).

yieldcrv 2 hours ago | parent | prev | next [-]

staying within free tiers has led to some really great optimizations for me

took complex pub/sub event architectures down to the events postgres can do on its own, and a system architecture that works with that payload. am aware of the limits with this approach and stress potential on db

tayo42 6 hours ago | parent | prev [-]

Ai can work through all of those questions in number 2 and design around it.

I was just doing that yesterday designing a game demo lol

Madmallard 2 minutes ago | parent | next [-]

I meticulously described the netcode structure for my tactics game and it's simple enough to just send over on web sockets and fable was still giving me an endless hydra of sync issues

ben_w 4 hours ago | parent | prev | next [-]

I have also tried developing games with them. I find them very weak at these things.

Often they can't figure out how to test the thing, so "does this attempted solution even work at all?" is its guess from reading the source code, and sometimes I've even caught them writing "tests" which are a regex on the source code, not functionality.

They know almost nothing about "is this solving the right problem?", they're trained to assume the user is right, not to frame-challenge.

My general experience both in game and non-game projects is that it will be lazy by default rather than solving things correctly. Sometimes I spot this from their responses, other times I only notice with manual testing.

matsemann 6 hours ago | parent | prev | next [-]

Works for a demo, but quickly stagnates. Future models may of course push the limits further, but right now it quickly goes sideways without someone knowledgeable at the helm.

tayo42 5 hours ago | parent [-]

You don't design things with never ending details though. If your developing a feature there's a limited scope to it. If your designing the direction of a large project you're working with higher level concepts.

The point is that AI is aware of constraints and can manage a round it. You've got to keep in mind the size of a typical software project and plan. Most people aren't writing a kernel. They're writing some backend tool and need a project that fits into a couple of quarters with a handful of people at most involved.

addandsubtract 5 hours ago | parent | next [-]

> The point is that AI is aware of constraints and can manage a round it.

Only if you instruct it with constraints. Otherwise, it's happy to implement whatever workaround it needs. But it still takes a dev to know what those constraints are and why they're needed.

dan_ggggg 5 hours ago | parent | prev [-]

[flagged]

5 hours ago | parent [-]
[deleted]
nevertoolate 6 hours ago | parent | prev [-]

Are you an AI?

tayo42 5 hours ago | parent [-]

Your right to push back on that...

lee_ars 5 hours ago | parent [-]

> Your right to push back on that...

Human test passed. AIs make giant flashy mistakes. They don't fuck up basic grammar.

dofm 5 hours ago | parent [-]

I have found it intriguingly difficult in my own tests to make LLMs deliberately fuck up grammar in any way similar to how humans do. I suppose this is actually an architectural limitation.

ben_w 4 hours ago | parent [-]

Out of curiosity, I just tried this:

  write a comment about how to use ChatGPT to write a game like you're a barely literate reddit user, short answer, maximum incoherency
and the result was a pretty good simulation. I tried less insulting prompts first, this did not produce a good simulation.

Not perfect, gptzero.me still knew it was AI generated (tayo42 is human by the same measure), but if for some reason someone was using an LLM prompted with that pattern, I suspect it would fool me in a Turing test unless I found the keyword to force the agent to change the role it was playing.

dofm 4 hours ago | parent [-]

Redditor is too easy.

Conveying the errors typical in a Raise The Colours group on Facebook, that's the hard stuff.

ben_w 3 hours ago | parent [-]

I'll take your word for it, I think I'm in zero groups on Facebook, I only even look at the feed when I see a notification in Messenger; and I barely use Messenger, too.