Top
Best
New

Posted by aaronbrethorst 1 day ago

Domain expertise has always been the real moat(www.brethorsting.com)
788 points | 496 commentspage 3
azuanrb 22 hours ago|
I recently reviewed an app built mostly with vibe coding. The owner said it was almost ready to launch and just needed a quick check.

After looking through it, the database design was a mess. Some features worked, some didn’t. I explained the missing pieces and why things were breaking. Like OP said, he’s the domain expert.

I used billions of tokens last month alone. The tools are getting better fast. But giving AI to a domain expert doesn’t mean you no longer need software engineers.

A domain expert can use AI to build software. And a software engineer can use AI to learn about the domain. Both bring different expertise to the table.

jaggederest 22 hours ago||
Where I am headed, I think, is to basically be a platform engineer. The job is to create the guardrails, validation, prompt library, and both agent and manual reviews; that keeps the domain experts safe when they start using coding agents.

It's a little bit like being T2/T3 customer support [or support engineer], but internal. You're there to catch the dangerous spots, the weird edge cases, and to make sure that everything is set up correctly, rather than to solve 100% of the routine problems yourself.

There's also plenty of room for cross-cutting-concerns, of course

brandensilva 19 hours ago|||
Eventually infrastructure will be more simple to orchestrate too without faults I suspect from well developed devops harnesses. The risk and scale companies are willing to accept will still fall on humans for some time even then. I don't see most people vibe coding a million user app that has deeper needs than the basics we see now.
trojans1290 14 hours ago|||
Can you elaborate more on this type of role? Stack? Etc.
jaggederest 3 hours ago||
I honestly just go with whatever the company is using - these days often typescript, and I build tooling and systems that catch errors and review PRs produced partially or completely by the domain experts. Nothing fancy about it, just good old engineering, where when an issue arises you create a test for it and make sure it can never reoccur, educate users, set up the correct infra, and lock down permissions (it's never been easier or more fun to set up an incredibly draconian role in e.g. aws IAM)
consumer451 22 hours ago|||
> I used billions of tokens last month alone.

I use Claude Code (Opus 4.6 at max effort) all day long, and I genuinely don't understand how this is possible. Is that usage paying off?

This is very likely due to my lack of understanding, but... how?

letitgo12345 22 hours ago|||
Long codex sessions lead to a lot of cached token hits, esp when you resume them after a few hours.
consumer451 20 hours ago||
I personally don't count cached hits as $used... Neither in my harnesses, nor in the LLM-enabled apps I create. A cached token cannot be counted 1:1 as to a non-cached token, that would be silly.

Wait... when some Claude 5x/20x users say they are getting "$2000 of tokens for $100," does the 2k value include cached tokens, counted at the same $/token either way?

We cannot be this dumb as a community, can we? I must be wrong/misunderstanding..

SatvikBeri 17 hours ago||
I'm a fairly moderate user, never hit any kind of usage limits, but I used 44 million cache create tokens and 1.5 billion cache read tokens, which ccusage estimates would have cost $990, and calculates the different categories separately.
andai 21 hours ago||||
Vibe coded a simple game (10,000 tokens of source code) with two popular coding agents. (Once each, to compare.)

One spent 200,000 tokens, to produce 10,000.

The other spent 1.9 million.

It could have been a single LLM call (10k tokens). lmao

(I note that the latter was designed by a company whose main source of revenue is token spend...)

crab_galaxy 21 hours ago||
What about the other 998 million tokens?
andai 5 hours ago|||
Ya got me there. Maybe he's running OpenClaw?
stronglikedan 20 hours ago|||
lots and lots of simple games
skeptic_ai 21 hours ago||||
Don’t forget context. Basically I have 2 billion input and 1 million output. Every prompt you do, sends back the whole thing again and again. Let’s say you have 500k context used, you send 10 messages is 5 million. 100 messages 50 million. Use 5 threats is 250 million.
consumer451 20 hours ago||
But how is it even possible (bad harness?), or wise, to send 500k or 1M tokens per call? Regarding cache, how are you not hitting the 1hr cache? Also, start new chats early and often!

I have been "agentic coding" since Sonnet 3.5 and after this paper came out, it became my bible:

https://github.com/adobe-research/NoLiMa

Last I checked, all models suck as you fill the context window. "Context engineering" is how you do this whole thing.

azuanrb 12 hours ago|||
[dead]
jonkoops 22 hours ago|||
Honestly, this is my experience as well. LLMs make it easier to explore other domains, but they do not make you the master of one; you still need expert domain knowledge.

That said, they do make excellent tools to quickly try out new ideas and dive into them; they can even be great learning accelerators if you have a curious mind.

xkcd-sucks 22 hours ago|||
Domain expertise combined with a QA mindset could replace SWE, but consistent QA mindset is rare
notRobot 21 hours ago|||
I agree that a consistent QA mindset is rare, but I'm not sure even if present if it's enough to replace an SDE.

I very recently looked at the codebase of a vibe-coded app made by someone with domain expertise but no software dev experience.

It was very clear to me that he had described it from his POV to an AI, and the AI had implemented features in a manner that technically worked, but made future maintenance or expansion extremely tricky, which is why he was now looking for a dev.

For example, in his data schema, for every item on a menu, instead of simply having an array property like so for ingredients:

    items["latte"]["ingredients"] = ["water", "milk", "sugar", ...]
He had individual flags for every item for every possible ingredient it could have or not have:

    items["latte"]["has_milk"] = true
    items["latte"]["has_nutmeg"] = false
    items["latte"]["has_cinnamon"] = false
    items["latte"]["has_sugar"] = true
    ...
This technically worked and passed tests from his POV at an MVP level. But added a lot of complications when actually trying to build more features or when a new menu item had ingredients the founder hadn't thought to include in the schema beforehand.

I totally get how he ended up where he did though. While describing it to the AI, he probably said something like "store info on each menu item's ingredients, they might have milk or coffee or sugar", and the AI created individual flags for them and he didn't think to question it, because he didn't know what's "right" or "wrong", but then as he kept building the AI stuck with keeping individual flags instead of swapping it out with an array mechanism, and he couldn't have known the correct way to implement it.

Only a dev with experience would know how to describe the system to an AI model to get an output that works well, and how to assess the quality of its output beyond what can be assessed through the basic UI. This wasn't a QA failure, it was a design failure.

brandensilva 15 hours ago||
I have found this to be the case as well. As developers we are just really good stewards of the code because we obviously have knowledge to make sure that the code is engineered in a way that it can scale and grow without tech debt becoming unwieldy.

I found AI to be pretty bad with like a bare bones code base without solid patterns in place already. It works but it's just monolithic files galore. use effects hooks everywhere. Nasty state situations with poor data practices. Security vulnerabilities up the wazoo.

It's weird to have this conversion with them. Like yeah your code works but it's so tangled up it's hard to reason about where to start to begin to unwind it all sometimes.

It can be done but cleaning up someone else's slop is the exact reason why I hate AI. It was hard enough to review great code and be critical, honest, and fair but we knew it was an essential part of the process, helped build shared understanding, and was a way to learn from one another.

Whereas throwing in jumbled garbage to review just feels like a waste of our brain cells we spent decades earning by embracing the craft.

michaelchisari 21 hours ago||||
I disagree. At some point of complexity, building it yourself is faster, better and (as we're finding out) cheaper. And more fun, although that varies person to person.

Wrestling with a code generator also creates a sunk cost fallacy where progress grinds to a halt but you still try and use the tools to fix the problems the tools created. Or you go in and fix things yourself, in a codebase you don't truly understand. A single developer can recreate the contextual nightmare miasma of a large corporation all by themselves.

There's also an emerging market consideration: MVP are easy to build so time to market is no longer hard to achieve. It's not a differentiator.

X was built in 3 days but is slow and riddled with bugs and security errors. There are also A, B, C, D and E which are effectively the same thing built just as fast.

Z was built over six months and is rock solid and performant.

Who wins the market share?

fragmede 20 hours ago||
Who's got better marketing? Is it even a product that customers care about rock solid and performant? Which ones cheaper and has the least friction to getting started? Which one's CEO golfs with your company's CEO?

Time and time again, the market proves worse is better, from the format wars of the 80's and 90's, to Microsoft Windows still being dominant (and oh yeah, Teams). Sometimes quality does win, but if being built in 3 days means they can make a profit charging 1/100th the price of Z, I wouldn't count the cheap ones out of the game just because Z is better.

michaelchisari 19 hours ago||
My comment was more "all things being equal."

Though the market so far has had a lower limit on "worse". We're finding out how low we can go before consumers start valuing quality again.

eggplantemoji69 21 hours ago||||
Personally my ability to understand atrophies / is reduced when compared to writing code ‘myself’ rather than fully being a reviewer.

Probably similar to hand writing notes (while digesting + synthesizing and not just being a scribe) vs reading notes somebody else took.

cm11 21 hours ago||
I'm guessing there's some science or research behind this, but I agree. Similarly, I've had projects where I did everything fairly solo—programmed, designed ux/ui, maybe validated with users, etc. It was significantly harder, particularly in the phase where you're working between the first two and the idea isn't perfectly set. It worked much better to design, then build in explicit steps, but it was so easy to start coding, have the design looking and feeling okay, then start iterating on the design—but iterating in code rather than Figma or wherever. It's fine for a little while, but you realize you've spent a day (maybe more) doing it in this less efficient way.

It's similar to the 80/20 rule. When you're coding and designing from the hip, you'll do pretty well for awhile, but as you near completion, you can't quite tie up all the loose design ends. That's the part where it's probably better to just design fully to 100% first and then build, which is closer to what happens when the roles are separate. At least in my experience. I will say though that that part where you're designing in code (productively or wastefully) is pretty fun. At least until you hit the wall and get frustrated with how often you've deleted and rewrote the same thing ten times.

wiseowise 10 hours ago||||
> Domain expertise combined with a QA mindset could replace SWE, but consistent QA mindset is rare

I've heard this story at least 3 times already:

- Domain expertise combined with outsource could replace expensive US SWE

- Domain expertise combined with SWE could replace QA

- Domain expertise combined with SWE could replace infra engineers

Why is everyone so preoccupied with replacing someone with someone instead of doing their fucking job?

nradov 21 hours ago||||
You can't test quality into a product. Regardless of how much of a "QA mindset" you have, you can only ever find a fraction of defects and technical debt through external testing. This can be good enough for a throwaway app that will only be used by a limited customer base for a limited time. But that approach quickly bogs down if you try to scale it into a product that will be used indefinitely by a huge set of external customers. At some point velocity drops to near zero because the code base is such a mess that it becomes impossible to add new features without causing regression defects or breaking backward compatibility.
goosejuice 21 hours ago||||
The engineering part of software engineering is the hard part for LLMs. How is that replaceable with these skills?
rustystump 21 hours ago|||
I don’t think so. Most things are sufficiently complicated enough to require multiple domain experts working together to achieve a goal.

The dunning kruger effect is in full swing as people think AI replaces the domain expert need.

Most of the value in the expert isnt the 80% but the tail 20% or 10% where AI fails. For a one of personal app or website, 80% is plenty but only that.

aaronbrethorst 22 hours ago||
Totally agree.
poink 18 hours ago||
In my own experience this is 180 degrees from reality. As a generalist, feeling out the depths of a single domain (something I've been forced to do at least 50 times in my career, to the point that I'm probably a global expert in at least 2-3 things I don't actually care about, but are poorly documented and not especially lucrative on their own) is something that's basically a bunch of Google searches, reading source code, and writing/running tests manually, none of which I really care about short of getting to "the right solution."

Meanwhile, as a generalist who has a basic understanding of general things, everything from how to design efficient network protocols, to how cache lines affect the performance of sorting algorithms, without being a real expert in any of those things, I act as a constant course correction for AI agents doing work on my behalf, in a way that LLM context windows simply cannot replicate.

To give a concrete example, I recently used agents to build a specialized sync protocol that broadly resembles Dropbox. It's nowhere near as efficient in terms of how blocks are synced (because it entirely happens on a LAN and the cost difference is minimal), but I constantly had to make objectively more valuable course corrections on how the sync actually traversed the participating nodes. If I'd just let the LLM drive, it would have come up with a reasonably efficient algorithm (better than I probably would have done on my first try in the same timeframe) that would have had an obvious (to me) single bottleneck.

ChicagoDave 22 hours ago||
Nice idea, but engineers are engineers for a reason.

I’d suggest that the domain expert partner with a GenAI senior engineer to build together. In fact I believe this is the new dev team model. Domain Expert + Senior Engineer + QA. Not sure we still need a project manager anymore and we certainly don’t need scrum masters.

jillesvangurp 11 hours ago||
Agentic coding favors senior generalists with a broad experience in many things rather than narrow experience in one or two things. I no longer think of myself as a backed engineer. That's what I was. I can do it all now. I've been building products and doing CTO jobs for a few decades now. I'm not a specialist in all layers of the software but I know enough about all layers of the stack to be able to do things with an agentic coding tool.

It helps if you can think at the system level and understand how everything is fitting together, why certain things are better than others, etc. Domain knowledge in multiple domains helps for that. That's what it means to be a generalist. And that includes having the prior experience with having built different types of software. Understanding architectural patterns. Being aware of pros/cons of different solutions. Etc. You don't have to be a specialist in any of this. But you do need to understand things at a high level.

Being a generalist equips you to enter new domains quickly. I've done lots of consulting on search projects in the past two decades. Every project is different. But the technology stays the same. I've built search engines for dating websites, maps, addresses, material scientists, art work, etc. Every project, most of the work is figuring out what the product is about. What good search looks like in that domain. And what they are doing that is sub-optimal that needs fixing. You can't work on search ranking unless you understand that. And you only have a few days to figure it out.

wiseowise 11 hours ago|
> Agentic coding favors senior generalists with a broad experience in many things rather than narrow experience in one or two things.

Is it? Agents are coming for generalists first.

toastmaster11 22 hours ago||
How much pontificating needs to be done before people acknowledge nobody has any idea what to do with AI on an individual level?

First being good developer and learning how to use AI was sufficient, next it was being able to design architecture, then it was “taste” that made all the difference and now being an expert in the domain is the only thing that matters really.

Until AI is basically in a stable, predictable, state of improvement or stagnation, these takes will continue to be pointless and most likely completely wrong.

simonw 20 hours ago||
An idea that's beginning to solidify for me is that AI tools make software development harder.

It's harder because they dramatically raise the bar for what's possible to do. An individual developer can take on significantly more challenging projects now, because the ultimate constraint has always been time and AI can help you get more done in the time available.

But the stuff you can get done with that time is a whole lot harder. You have to understand lots more things, and get radically outside your pre-AI comfort zone.

It used to be acceptable to spend several days refactoring a codebase, or figuring out how to ship a small feature because it's in a part of the system you hadn't worked in before or involved learning a new library in order to build it.

Coding agents mean you can climb those curves a whole lot faster, but you still need to climb them - and the volume of information coming your way is much higher.

If you're worried about non-technical vibe coders taking your job, the correct response is to be much better at building software than those vibe coders. That means you need more skill, more ambition, and more experience. It's hard!

hibikir 16 hours ago|||
From that perspective, development has always been harder since I started. I left college with a copy of K&R and remembering courses that applied to real life immediately, because data structures and such were just what we had. In my first job, I ended up writing a code generator to help serialize a large number of data structures, straight from a compiler design class.. which right now you don't need to know a thing about, because serialization and languages with introspection are everywhere. The knowledge you need to be a professional engineer just kept going up through the last 30 years, while most of the basics became far less relevant, because the libraries just did it.

AI raises the bar again, as its probably at least as good as me, if not better, at anything I learned in college. I've spent years living off of random trivia from the last 30 years, as I saw computing grow with me. How do you know this?! Because everything built on top of it didn't exist when I was your age, so I had to learn it! But well, nowadays the AI is better at that trivia too.

The world moves, we do what we can with what we kno. It's not just programming, but what innovation and automation has done to the vast majority of things humans have done to be productive for each other since humans are people. We'll have to cope, like the guy that bred oxes to pull the plows.

baxtr 14 hours ago||
So in essence: it got harder because the easier parts have been solved for?
ElProlactin 15 hours ago||||
> If you're worried about non-technical vibe coders taking your job, the correct response is to be much better at building software than those vibe coders. That means you need more skill, more ambition, and more experience. It's hard!

This is a false fear. The real risk isn't that some 19 year-old vibe coder is going to replace you, it's that there's simply less need for more experienced engineers. The market is shrinking.

Also, even if the premise behind the SaaSpocalypse is naive and oversimplified (companies aren't going to replace all their SaaSes with internally vibe-coded replacements), it looks reasonable that net-net AI will have a negative impact on the value of software.

batshit_beaver 14 hours ago||
> The real risk isn't that some 19 year-old vibe coder is going to replace you, it's that there's simply less need for more experienced engineers. The market is shrinking.

That last sentence is verifiably false if you look at SWE job postings and their recovery since 2022.

It’s also a poor take in general, buying very much into the narrative propagated primarily by OpenAI and, especially, Anthropic, who nonetheless continue to hire large numbers of SWEs while paying double the market rate.

ElProlactin 7 hours ago|||
> That last sentence is verifiably false if you look at SWE job postings and their recovery since 2022.

Source?

https://fred.stlouisfed.org/series/IHLIDXUSTPSOFTDEVE

And it's probably worse than it looks because phantom job postings are a real thing.

> ...who nonetheless continue to hire large numbers of SWEs while paying double the market rate.

Tech companies have laid off over 200,000 people since the beginning of 2025. Even putting aside the fact that (from what I understand) over half of Anthropic and OpenAI's employees are in non-engineering roles, if you assumed every employee was an engineer, Anthropic and OpenAI could triple their staffing levels and it still wouldn't even fill a quarter of the void.

batshit_beaver 2 hours ago||
Yes that’s the right source. There would be no recovery in SWE market after the higher interest rates killed it if LLMs had any major impact on SWE employability.
wiseowise 10 hours ago|||
> That last sentence is verifiably false if you look at SWE job postings and their recovery since 2022.

Do you take into account recent layoffs of Meta (8k people), Block (4k people) and others?

emodendroket 15 hours ago||||
That's true but in a way it's also more fun and engaging because the tedious stuff just gets worked through leaving you to think about the bigger picture items.

Though I'll say I don't buy the stuff about AI "democratizing" development since making it much more capital-intensive kind of has the opposite effect for anybody doing dev work at home.

dogcomplex 17 hours ago||||
That's a roundabout way of saying it makes software development easier. Perhaps even a 180.

But yes - once it's that easy you have to step up your ambitions.

simonw 16 hours ago||
Maybe it makes software development easier, but a career as a professional software engineer harder.
teaearlgraycold 16 hours ago|||
I hope that after a short period of delusional expectations and layoffs from employers we're at least left with a more consistently competent set of professionals in our industry. Some people have imposter syndrome. Others are actually just imposters.
dogcomplex 1 hour ago|||
I hope that after a short period of delusional expectations that top management is going to reap the rewards of these AI capabilities we get a whole lot more comfortable with just doing the full business stack - including management, sales, branding, etc - and hierarchical structures crumble into flat collectives of do-everything true-generalist programmers.
jrflowers 16 hours ago||||
>layoffs from employers we're at least left with a more consistently competent set of professionals in our industry

It definitely won’t be CEOs and managers not firing their buddies

locknitpicker 15 hours ago|||
> Some people have imposter syndrome. Others are actually just imposters.

I'm sorry to say, but AI coding assistants paved the way to professional imposters whose only skill is prompting a model to do something. I already had the displeasure of working with a software engineer who not only introduced a bunch of regressions that by mindlessly vibe-coding things against the requirements but also complained that not having credits to use the most expensive frontier models was, and I quote, "stifling my creativity".

dogcomplex 1 hour ago||
Nonetheless, would still trust Claude to be generally more reliably competent in a random area of software engineering than the average professional. Sure they might still be better in a particular area of their expertise, but we've all had to play the imposter before on the stuff we care less about and figure it out as we go. AIs are still inferior sometimes but usually a decent 7/10+ on most topics - which really fills the gap.
modelhub 14 hours ago|||
[dead]
zarzavat 16 hours ago||||
I worry this is looking at where the ball is now instead of where it's going. The recent disproof of an Erdos conjecture should put to rest the idea that LLMs will reach a skill ceiling before they reach superintelligence.

I believe we are headed for a world of superintelligent AI where LLMs are much better at logical thinking than humans, the same way that chess engines are much better at chess than humans.

In that world there's really nothing humans can offer in terms of logical thinking other than their humanity itself. An 8 year old with Stockfish can beat Magnus Carlsen, and an 8 year old with Codex (and daddy's credit card) will be able to beat me at software engineering.

simonw 15 hours ago|||
I don't buy that at all.

It doesn't matter how great the LLMs get, the act of creating software using them will still require a great deal of skill.

Most people just don't think in terms of software.

Try asking a non-developer in your life what their dream software would be for their work, or their hobby. If they don't have what Nilay Patel calls "software brain" I'd be surprised if they came up with something actionable.

(For more on software brain see "THE PEOPLE DO NOT YEARN FOR AUTOMATION", which makes the point I"m making here but much, much better: https://www.theverge.com/podcast/917029/software-brain-ai-ba...)

You could give a non-developer the smartest LLM in the world and they wouldn't be able to create GitHub with it, because creating GitHub requires an enormous amount of understanding of what software developers need from a cloud source control tool.

Sure, you can argue that the LLM "knows" what GitHub needs already and can guide their human-user to that, but why would a human-user who doesn't understand the domain ask an LLM to do that in the first place?

ElProlactin 15 hours ago||
> Try asking a non-developer in your life what their dream software would be for their work, or their hobby. If they don't have what Nilay Patel calls "software brain" I'd be surprised if they came up with something actionable.

I've posted this in numerous comments because I think it bears repeating: there are tech-savvy non-developers who are actually building and shipping stuff with AI. I personally know a few who have been successful in acquiring initial customers.

You can say "but their apps won't scale", "their apps aren't secure", etc. and you might be right but these criticisms ignore the fact that most human-built software suffers from issues around scalability, security, etc. What AI in the hands of a relatively tech-savvy person is capable of is building functional, usable applications that are pretty decent compared to what you might get if you paid an experienced contractor tens of thousands of dollars to build.

A whole generation of young people has grown up with the internet, smartphones, etc. They might not be trained software engineers or have a "software brain" but in many cases they probably have a better intuitive sense for digital product design than a 30 or 40-something engineer who has been staring at an IDE for the past decade(s).

wiseowise 10 hours ago|||
> there are tech-savvy non-developers who are actually building and shipping stuff with AI. I personally know a few who have been successful in acquiring initial customers.

It'll shake your world, but tech-savvy non-developers were building and shipping long before AI.

> they probably have a better intuitive sense for digital product design than a 30 or 40-something engineer who has been staring at an IDE for the past decade(s).

Because developers only stare at IDE 24/7, and never interact with anyone besides mother who brings tendies to their basement? What am I even reading?

ElProlactin 6 hours ago||
> It'll shake your world, but tech-savvy non-developers were building and shipping long before AI.

They weren't building and shipping by themselves though. They were hiring people to do the work.

AI has made it possible for people with motivation and time to do what was previously only possible with motivation, time and money.

> Because developers only stare at IDE 24/7, and never interact with anyone besides mother who brings tendies to their basement? What am I even reading?

Why is so hard to acknowledge the fact that many of the people who are good at developing aren't as good at coming up with ideas for digital products and building businesses on them?

simonw 15 hours ago||||
> there are tech-savvy non-developers who are actually building and shipping stuff with AI

I absolutely believe that. I think those are people with "software brain" who are on their way to becoming real developers.

By the point they can write apps that are secure and scale... they'll have learned enough about software development to be employable as software developers. They'll be part of a new breed of developer who never memorized the syntax of a programming language, but they'll still be at the starting point of learning a HUGE volume of other stuff that's necessary to build good software.

If we want to stay employed, we need to be notably better at building software than they are.

Mezzie 4 hours ago|||
I agree, and I want to add that 'better' doesn't necessarily mean 'creates more robust, elegant, resilient software'. Better means from a business perspective. If we (I'm one of the people you're discussing) end up cheaper or more fungible, for example, we still might be worth hiring from a business perspective even if the code we create is shit.

I've also seen an assumption that you've made here that I think is worth drawing attention to and questioning: that the tech-savvy non-developers are starting from zero or near zero when it comes to programming and software development. Right now, that's probably mostly true, but I'm not sure that will continue to be the case. I'm not a developer (depending on how fuzzy we want the boundaries around the idea to be, anyway). I do understand the building blocks of programming languages (e.g. I can answer all the questions fragmede posed in a sister comment), the trade-offs between rolling your own and using existing libraries, the need to evaluate tools, frameworks, and languages to determine which is best for your use case, why version control matters, why access rights matter, why backups and a test environment are necessary, why it matters to write code another human can read, etc.

Do I understand as much as an active working developer? Absolutely not and I'd never claim to, but I'm far from starting at zero.

The reason for this is that I was raised by programmers. There are far, far more programmers and general tech nerds now than there were in 1988 (when I was born). Which means that in 10-20 years, there are going to be a lot more children, grandchildren, nieces, nephews, and so on of developers, and a lot of them are not going to be starting at zero. For pretty much of all computing history, there's been a substantial opportunity cost to developing a deep understanding of coding and software development: either a person has to be so into the domain that they devote a lot of their waking hours to it (usually in adolescence or young adulthood, when that trade off closes the most doors and makes developing certain other time intensive skills difficult), or they have to obtain a CS degree, which means not getting a different kind of degree and often incurring significant front-loaded financial costs. The opportunity cost for people born into programming or tech families is much lower. You can start younger and spread out the hours needed to learn across a greater amount of years, you can acquire knowledge in less time-intensive ways and while practicing other skills (e.g. my cousins also have 'software brain' and we could all hang out and develop those skills while also developing in person social skills), and you have a built in network of experienced people who want to help you + that can give you extremely individualized, personalized attention.

If what you suggest comes to pass, I think that one of the greatest threats to SDE as a career is going to be your own children and grandchildren.

simonw 1 hour ago||
This is a great comment, thanks for giving me a bunch to think about here.

I'm personally excited about people with deep specialities in other fields being able to build software without reskilling as software engineers first.

fragmede 14 hours ago||||
Nevermind syntax, what's a variable? function? class? What's the difference between int/float/boolean string? Nevermind more advanced concepts like O(1) vs O(n). But when the vibe coder just needs to prompt "the page loads really slowly. plz fix" and the LLM can go in, add an index to the right SQL table, add a limit and pagination, so what if I can tell you the difference between PostgreSQL's dialect of SQL vs MySQL, and what the difference is in row types supported. I can describe what happens when you type Google.com into your webbrowser to an inane level of detail off the top of my head, but when the LLM can do an even more through version, I mean, I can pat myself on the back and be smug that I know most of that innately, but what is it really worth?

About a decade back, we, as an industry were collectively learning how to make apps webscale, and oh the blog posts about not using a database as a queue. But the LLMs have ingested all of them. I've only read the ones I came across, and of course my professional experience being part of teams implementing that at various companies. So I've got that going for me, but when the Vibe-platform-dev just has to tell the LLM "hey, when the user hits the send message button, it's slow. /goal make messages fast", and the LLM grinds for hours overnight switching the entire system over to a pub sub event driven architecture and the vibe-platform-dev doesn't even know what pubsub stands for or that they're using one unless they go back and read the transcript. I don't think there's as much of a domain expertise moat for as long as we're hoping.

simonw 14 hours ago|||
It only takes two or three unreviewed prompts like "the page loads slow, plz fix" for you to end up with a tangled mess that even the agents can't productively work with.

Take a look at the Reddit forums for vibe-coders - now that a bunch of them have been hacking on things for 3+ months there's a growing awareness there that you hit a wall. Here's the first post I found from just searching "reddit vibe coding wall", it's a great illustration of the genre: https://www.reddit.com/r/vibecoding/comments/1sabdw3/anyone_...

Software development is really, really hard. Coding agents can get you a surprisingly long way, but if you want to build real software for real people you quickly find that you DO need that domain expertise.

The agents may type all of the code for you now, but you need a huge amount of skill to clearly tell them what to do, confidently decide what to do next and credibly present software that works for other people to use.

wiseowise 10 hours ago|||
Offtopic, but how do you monitor all of this stuff, Simon? Do you have a routine where you recheck Reddit, Twitter, HN, other resources, or do you use LLMs to find material for you?
simonw 8 hours ago||
I spend way too much time on Hacker News, Bluesky and Twitter and occasionally check in on Reddit (I'm more of a lurker than a poster there.)

I don't have any automated LLM scanners, but I do frequently have ChatGPT run searches for me with questions like "Find the most credible accounts of the recent Oracle layoffs, how they went, rationale, problems caused".

emodendroket 14 hours ago|||
This guy clearly didn't hit the limits of vibe composing a Reddit post.
apsurd 14 hours ago|||
Im not understanding why the discounting of your prior knowledge somehow slides over to a benefit for the non-technical vibe coder?

wouldnt you still be in a better position when prompting “site slow, make fast”?

fragmede 13 hours ago||
For now. But in a future where the non-technical vibecoder + AI can fix the slow site without the benefit of my expertise to thoroughly prompt it properly, why hire me?

The business goal is that the site is slow. That gets fixed by the non-technical vibecoder for the cost of however many tokens. Why look for outside help (aka me) if there's no need to and the AI can do it all?

ElProlactin 14 hours ago|||
> I absolutely believe that. I think those are people with "software brain" who are on their way to becoming real developers.

In my opinion, this is a software developer-centric way of thinking that reminds me of the saying, "if all you have is a hammer, everything is a nail."

Here's an alternative perspective:

For billions of people, technology products are an integral part of daily life. As a result, lots of people have an interest in building technology products, particularly software. Thanks to AI, you no longer need to be a "real developer" to build software. You can learn enough to build things that are commercially viable without seeking to be employed as a developer.

> If we want to stay employed, we need to be notably better at building software than they are.

While I don't believe that the market for developers will shrink to 0, unfortunately, I think this type of comment reflects the fear, existential angst and denial that has overtaken many people in this industry.

The reality is that developers are no different than all the displaced workers who came before them. One day you had a job that seemed secure and capable of providing for a comfortable life and the next you were facing the prospect of diminished wages and unemployment because the world simply needs fewer people with your skills and there's no way around the secular trend.

The sad irony is that when software was eating the world and new CompSci grads could take their pick of $150,000+ job offers before ever writing a line of production code, a lot of people in the industry had a smug "tough luck" attitude towards all the workers being displaced by the tech boom. Now it's their turn.

wiseowise 10 hours ago|||
> The sad irony is that when software was eating the world and new CompSci grads could take their pick of $150,000+ job offers before ever writing a line of production code, a lot of people in the industry had a smug "tough luck" attitude towards all the workers being displaced by the tech boom. Now it's their turn.

You could've just written this sentence and dropped the rest. I understand your vindictive, "justice", self-hate line of thought, but not it's not a healthy way to live. Get help.

emodendroket 14 hours ago||||
Maybe the tools are going to get to a point where this isn't true but today even with Claude Code at whatever at hand you're going to have to learn enough about software to basically be a developer in the traditional sense to deliver a multi-tenant application that has to deal with high TPS or whatever. At least at present you're positing there's no need for carpenters because the home gamer can knock together a table or birdhouse at home.
ElProlactin 14 hours ago||
> ...to deliver a multi-tenant application that has to deal with high TPS or whatever.

There's a whole world of opportunity that lives below complex multi-tenant applications that have to deal with high TPS.

> At least at present you're positing there's no need for carpenters because the home gamer can knock together a table or birdhouse at home.

This is an extreme, straw man argument. And here's the thing: I don't know a home gamer who framed a house. But I do know tech-savvy people who have used AI to build web apps that they have launched and been able to get customers to pay for.

Not every tech-savvy person has the ability to do this but the whole "you can't do that if you're not a software developer" argument looks to me like a denial mechanism more than a reflection of reality. People are doing it because the AI tools have advanced to the point where they can.

emodendroket 14 hours ago||
Why is anyone paying for these apps if any idiot can do it with a few prompts?
ElProlactin 14 hours ago||
> ...if any idiot can do it with a few prompts?

With all due respect, this sounds like just another version of the arrogant, scared attitude that seems to be more and more prevalent among software folks these days.

Is it really hard to imagine that there are tech-savvy people who are smart and motivated but don't have training as software developers, who are now capable of using AI to build and ship things?

In other words, AI doesn't allow any "any idiot" to build commercially useful software. What it does is allow smart people who aren't software developers and who don't want to become software developers professionally to, with a much shorter learning curve and on a much faster time scale, take their ideas and build and ship functional software.

emodendroket 5 hours ago||
It just feels like I’m trying to nail spaghetti to the wall talking to you because you can’t make up your mind what your argument is. Either it still requires learning and skill to do it —- in which case these are self-taught software developers, which is not a new phenomenon —- or it’s so easy now that the work is completely deskilled, in which case we shouldn’t expect anyone to be able to charge for their work for very long once everyone realizes.
ElProlactin 4 hours ago||
It seems to me you're more interested in semantics than the substance of the discussion. Why not consider the possibility that AI is creating something new?

I would argue that the non-developers who are able to use AI to build, ship and sell software aren't "self-taught software developers". The biggest reason is that they're effectively not learning how to code in any meaningful way. They don't need to. AI is getting "so good" that they can prompt their way to functional software without the same level of knowledge and skill that was required previously to do the same.

We can discuss the limits and risks of this, and you can criticize AI's output, but the reality is that people are actually doing this and having some success. First hand, I've seen a former colleague who is a skilled digital marketer with no development experience launch a web app for a niche market and sell it to a number of customers.

I don't understand why you're so interested in extremes (your skilled versus deskilled hyperbole). Is it really so hard to contemplate that AI is disrupting the market for software development? It's not that it has eliminated the need for intelligence and skill; it's that it is allowing a larger number of people to do something that previously required a different set of skills that was much more difficult and time-consuming to acquire.

To use Silicon Valley speak, AI is democratizing software development. That doesn't mean every idiot can build and deploy a functioning web application; it does mean that a growing number of intelligent, motivated non-developers can.

emodendroket 3 hours ago||
I bought a book however many years ago with no previous development experience and delivered a Web app people paid for and eventually honed that as an actual career, so I’m just not really seeing what’s a difference in kind here. I also disagree with the “democratization” frame because now developers are spending like $1000 per month on tokens at their jobs, which does the opposite of making things more accessible.
apsurd 14 hours ago|||
Another angle to refute this take: my experience is software developers themselves arent good at building software products. Its been historically necessary but not sufficient to have to understand the underlying tech. Even if AI makes that no longer necessary, it doesn’t magically make people good at building useful and usable things.

Being in the weeds of the trade expands the lens of capabilities so I’d give the upper hand to someone more deeply aware of the tech vs not. even though that in itself is still not sufficient.

emodendroket 14 hours ago|||
> I've posted this in numerous comments because I think it bears repeating: there are tech-savvy non-developers who are actually building and shipping stuff with AI. I personally know a few who have been successful in acquiring initial customers.

I mean, sure. But there have always been people teaching themselves to program too. In the end it's a pretty small population.

emodendroket 15 hours ago||||
I personally don't see that much sense worrying about this scenario because if it comes true then it doesn't really matter what I do.
sanderjd 15 hours ago||||
Are you confident in putting a timeline on this prediction?

One of the reasons I'm increasingly skeptical of this prediction is that I've now lived past a few of the dates I heard people put on the achievement of this level of superintelligence in previous years.

necovek 14 hours ago||||
If building software (and even programming, as the basis for it) was just an expression of logical thinking, we would have cornered it long time ago IMO.

But then again, logic is really a lot more discrete and well defined and easily expressed with traditional computing than LLMs are (which are probabilistic systems instead and as such require large knowledge bases).

We can observe that at a couple hundred billion parameters they behave similarly to a point (in the sense that they can produce similar results), but the challenge is really in understanding the problem's multifaceted structure and competing needs and priorities.

svara 14 hours ago||||
Chess and proofs only work as comparisons to the extent that you can find parts of your job that share their key property: A solution is sought to a problem that can be stated with relatively little information.

What prompt would someone have used to get a superhuman coding agent to output the Linux kernel or GTA5?

Before you accuse me of moving the goalposts, that's not my point: The examples are there to help think about what humans would still need to do to build complex projects even if the coding itself was perfectly reliable.

Both the Linux kernel and GTA5 contain a large amount of incompressible information; humans thought long and hard about how to design them, i.e. about what that thing they were building was even supposed to be.

wiseowise 10 hours ago||
You don't understand, Claude 69 will be able to one-shot GTA6. You NEED to buy into the fearmongering and anxiety.
wiseowise 10 hours ago|||
> In that world there's really nothing humans can offer in terms of logical thinking other than their humanity itself.

By your logic anyone who's not in the top 10% of intelligence can't offer anything. The world keeps spinning.

> An 8 year old with Stockfish can beat Magnus Carlsen, and an 8 year old with Codex (and daddy's credit card) will be able to beat me at software engineering.

That's just nonsense, nobody will work with 8 year old (it's illegal, to start with). Go touch grass.

wiseowise 10 hours ago||||
> If you're worried about non-technical vibe coders taking your job

I'm not worried about non-technical vibe coders taking my job. I'm worried about psychotic VCs and CEOs putting me on the street in the name of "optimization" of "lower value human capital".

svara 14 hours ago||||
I had the same thought recently, I've had it happen to myself.

I've been working on something relatively large and greenfield recently.

A big chunk of my time is spent thinking about the hard parts. The raw information processing rate needed to keep up with the state of the project is high.

It feels almost like mental athleticism, whereas coding used to be a rather chill activity.

dominotw 19 hours ago||||
developers now are expected to randomly jump around projects and ship without friction. For employers it means they can move us around like pawns. Lot of companies have not reorged themselves to this new type of workforce thats much more malleable.

it used to be that i pay your due at some enterpise and learn some corner of codebase really well and become go to person. that would give you job security.

chasd00 18 hours ago|||
Working in silos like this has always been an anti pattern though. You end up being employed for 10 years but only have 1 year of actual development experience. Just turning-the-crank and going home was always risky because one day you get laid off and realize you’re 10 years behind the competition.
JambalayaJimbo 17 hours ago|||
What I found comfort it in was turning the crank and then using extra time to upskill in various other things (including non software dev domains). Things that weren’t immediately useful to my employer and I never would have been directly assigned, but did pay off after sometime.

Now I’m basically expected to do what my boss wants me to do every minute of the day, it’s gotten much more micromanaged.

wiseowise 10 hours ago||||
As opposed to what? You seriously think that shipping 10 years, instead of turning-the-crank and going home, will save you from the interviewing gauntlet?
Terr_ 16 hours ago|||
I cynically predict that some of the new practices being hyped could easily end up worse...

Before: "I learned very little this year, because I was placed in charge of the same stuff, and I've already learned most of what I could from tinkering with that code, stepping through its architecture, and dealing with those recurring problems."

Soon: "I learned very little this year, because I don't deeply interact with anything, I just pull the lever on the babbling slot-machine until I get lucky and things seems to quiet down."

Chrisoaks 18 hours ago||||
So what enables job security now?
BarryMilo 18 hours ago|||
Your dad owning the company?
whattheheckheck 17 hours ago||||
Let them attempt to use ai to build business critical systems and when they waste tens amd hundreds of millions they can rehire master builders who know what they're doing
intrasight 16 hours ago||
They will attempt and then soon enough they will be succeeding, and the master builders will have all retired, and that's the point that humans become dependent upon AI's. I aim to live a couple more decades and I sadly expect to see it play out this way.
lenerdenator 16 hours ago||||
If you can move humans around like pawns, then by definition, they have no job security.
simonw 18 hours ago|||
Being a really good engineer - the kind of engineer you can assign a feature to and they promptly turn around a robust, maintainable, secure and well documented implementation.
JodieBenitez 14 hours ago||
hey... claudex helps me being that.
necovek 14 hours ago||
So does your IDE, your choice of programming language, your OS even — but does it define you/make you a good software engineer?
JodieBenitez 12 hours ago||
No, but who said that ?
necovek 11 hours ago||
I'll be explicit: Claude is just another tool in your SW engineer's belt.

If you believe Claude makes you a good engineer and you previously weren't, I am saying that's not true and you still are not a good engineer even with the latest-and-greatest Claude model.

The difference is between "helps" (in your comment) or "you are". Sure, it helps a good engineer do more, do better, etc — but the thread was on being a good engineer.

JodieBenitez 10 hours ago||
I was a "good" (whatever that means !) SW engineer long before Claudex. At least good enough that both users and bosses had nothing but praises. And I always took my job and the needs of the users seriously.

It's "just another tool", sure. But one that is so powerful that some things that used to take a day now take minutes, or ones that used to take a week now take a day. And I get even more praises now, along with more time to focus on understanding the needs and controlling quality. For me it's not really about stuffing as much features as possible, but providing better software.

I'm glad this happened after 25 years in my career. I believe I'm in a privileged position where I can benefit from LLMs and still have the knowledge to effectively correct the machine or go back to "manual mode" if anything goes wrong.

necovek 6 hours ago||
Sounds like we are in agreement: LLMs are a great help to an already good engineer.

But also to the original Simon's point that using LLM does not a good engineer make — how we make one is still on us with 10+ years (I've got "only" 20) of experience to figure out now that LLMs are here!

Implicit definition of a good engineer is the one who chooses the right balance between effort, complexity, performance to build a working software system for a business need that can be evolved according to (unforeseen!) future business needs at reasonable cost.

bluefirebrand 18 hours ago||||
> developers now are expected to randomly jump around projects and ship without friction

This describes the expectation my managers had of me at every software job I've had, and I've been doing this for a decade and a half

It's definitely not a new thing since LLMs came around, if that is what you were implying

wiseowise 10 hours ago||
> It's definitely not a new thing since LLMs came around, if that is what you were implying

It is on a scale that it is required now. Previously you could say "it'll take me a week to decipher the mess", now they can just say "can't you use an agent to make it fast?".

locknitpicker 15 hours ago|||
> it used to be that i pay your due at some enterpise and learn some corner of codebase really well and become go to person. that would give you job security.I

I had the displeasure of working with those types. One of them replies to any question or challenge to a technical problem emerging from the PRs they posted with variants of "I've worked here for over a decade, this is how we do things". And then proceeds to argue things like defensive programming is a code smell because it means developers don't trust themselves.

I cannot envision any healthy, effective engineering environment where developers don't periodically switch between projects.

deadbabe 16 hours ago||||
You will never beat the vibe coders.

The vibe coders have a key advantage you don’t: they don’t give a fuck.

They blow through a task and move onto the next one. Management sees this as progress, and the vibe coders are rewarded.

When shit breaks later on down the line, and fires have to be put out and things rewritten, the vibe coders do NOT get the blame. They do NOT get punished. Most engineering teams operate on a blameless culture. If code was approved for production, then it should have been good enough. Vibe coders will keep on doing what they do, and skilled experts will be left cleaning up their messes.

For anyone who actually cares, it’s over. You are not steering development anymore.

bg24 15 hours ago|||
This will invariably be a problem in organizations where tokens, lines of code, PR count etc are the metrics - which happens to be in most places. I do not know if there are metrics or rewards for maintainable code, OR penalty for write code that breaks down and causes product incidents down the line. By then those engineers would have been promoted and moved on to better things.
wiseowise 10 hours ago||||
> You are not steering development anymore.

This hasn't been the case for at least a decade. Long before LLMs.

simonw 16 hours ago||||
That might be true in the short-term, but I'd be very surprised to see that hold for the long-term.

We've had plenty of technology trends in the past that have promised faster development but has later turned out to have problems. Organizations that stick around learn lessons about what works and what doesn't.

If in a year's time organizations aren't feeling severe downsides from all of the unreviewed vibe-coded junk they put into production then maybe the vibe-coders were right. I'll believe that when I see it.

toastmaster11 16 hours ago|||
If the vibe coders are right I would give at least 90% of the credit to all the well made libraries, rules, and best practices that developers have built up over the decades. That’s what is embedded into LLMs and what might be the saving grace of slop code bases in the future.
locknitpicker 15 hours ago||
> (...) rules, and best practices that developers have built up over the decades.

It seems you are not understanding that the reason all these "rules, best practices" had to be created in the first place was the fact that your average old times developer was churning out shit code and weaving spaghetti just as hard as today's vibecoders.

Those "rules, best practices" spawned from the same evolutionary pressure as today's instruction files, skills, custom agents, etc.

Why do you think one of the first AI features rolled out by GitHub was the automatic code reviewer?

You guys are talking as if everyone working on software before 2020 was this immaculate developer with pristine sense of architecture and style. No, they were not.

toastmaster11 14 hours ago|||
All that stuff you mentioned is derived from a core set of principles established by decades of software best practices applied to a new means of generating code. Like quite literally those instruction files/skills essentially just reiterate the practices themselves.

To your last paragraph, I never say that nor do I imply it. I find that as a pretty disingenuous interpretation of what I said actually. The practices I mentioned were derived from hard learned lessons and designed as a means of mitigating the human tendency to write bad code.

deadbabe 8 hours ago|||
They were not, but they were outputting code at a pace that was reasonable to review. Now they go straight to prod, 10x faster.
cindyllm 8 hours ago||
[dead]
deadbabe 16 hours ago|||
The problem is downsides are random and not well understood. Sometimes by luck, an organization might not encounter any significant downsides. These kind of survivor case studies will perpetuate the myth that vibe coding is good enough.

The vibe coders aren’t “right”, they just get lucky.

derwiki 16 hours ago||||
Who approved the vibe coders’ PRs?
PessimalDecimal 16 hours ago|||
Other vibe coders?
wiseowise 10 hours ago||||
Another vibe coder and Claude?
deadbabe 16 hours ago|||
It’s all just vibe coders high fiving each other and saying LGTM.

Here’s a secret: I haven’t really bothered reviewing any PRs since September of last year or so. I just click approve and don’t even read it. It has been way less stressful for me.

Do bugs get through? Sure. But someone will just come in and vibe it out anyway. And I have yet to see a vibe coder or anyone who approved their flawed work get any repercussions. So yea, it doesn’t matter.

No one’s going to come after you asking “why did you approve this shitty PR?” And if they do you can forward it to the author and ask why they wrote a shitty PR. But that just doesn’t happen. It doesn’t matter.

locknitpicker 15 hours ago|||
> The vibe coders have a key advantage you don’t: they don’t give a fuck. They blow through a task and move onto the next one. Management sees this as progress, and the vibe coders are rewarded.

This is a complete unrealistic assessment. Who do you think vibecoders are? They are yesterday's software developers using today's tools.

The people who manually write their PRs are also not giving a fuck when they break production code with spaghetti code that later has to be thrown out and rewritten. They are the same people.

The key difference is that now their output volume is much greater, and they iterate much faster. They roll out plenty of bullshit, but it also hits the fan much faster and triggers fixes at a higher rate.

People hate on vibecoders because they do exactly what your average developer does but at a much higher rate.

onebluecloud 19 hours ago||||
[flagged]
skydhash 20 hours ago||||
Not really. The primary stopper was never time or effort. It was need (and wisdom). If a project was important enough, you’d do it. If it’s not, it falls on the wayside.

Now with LLM tools, what you got is a slew of projects their creators aren’t even interested in. It’s theater.

tptacek 18 hours ago||
There's just no way this can be true. Every project I've committed to has been a bet made with incomplete information. Sometimes it pans out, sometimes it doesn't. Every time I've made one of those bets, I've had to shoulder the opportunity cost of 2-3 other 1/8th-finished but promising projects I could have driven to completion instead. Not having that opportunity cost anymore wildly changes the dynamics of what I build.

This weekend I'm playing with a SwiftUI MusicKit player (everything I'm doing lately has been Swift/SwiftUI, itself a radical change from just a couple months ago when everything was a TUI, and then a few months back from that and all the way back to 1993, when everything was a CLI) with a Responses API hookup that turns the player into an agent, with tool calls to let the model see what I've been playing. "Keep a continuous queue of music playing while I'm working in the wood shop".

Worked a treat. I'm genuinely interested in where I can take this. I have a real problem, one that's been annoying me since ~2000, which is that I "own" a lot of music but find myself stuck in an epicycle of the same 200 songs. Problem solved-ish. I never, ever, in a million years, would have built anything like this before.

It's really hard to sell me on the idea that nothing profound has changed here in terms of the projects we now pick up. Go build an operating system. I'm serious! Claude will practically one-shot it. Mine has smoltcp hooked up to a Rust virtio-net driver Claude pulled out of its butt.

skydhash 9 hours ago||
> This weekend I'm playing with a SwiftUI MusicKit player[…]"Keep a continuous queue of music playing while I'm working in the wood shop"

> I have a real problem, one that's been annoying me since ~2000, which is that I "own" a lot of music but find myself stuck in an epicycle of the same 200 songs.

What’s the algorithm there? How is it different from queueing up your whole library and shuffling it?

> Go build an operating system. I'm serious! Claude will practically one-shot it.

Why would I want this? If I wanted to learn how an operating systems is built, there’s xv6 and the OSTEP book (and I’ve already gone through both) And I’ve been going through OpenBSD code, for a few questions that I had (usb audio and related code, usb mass storage and related code,…). Why would I ever wanted a generated project when there’s plenty out there to learn from.

N_Lens 16 hours ago|||
That’s the trick - always stay hard!
gerdesj 21 hours ago|||
LLMs are an additional tool to add to your arsenal. They are not omnipotent and need care, just like any other tool.

My best effort, so far, at an analogy is a modern drill driver compared to a screw driver/brace and bit/etc:

You can get some remarkable results in a very short time compared to the "old school" gear.

You can get some "amazing" anecdotes eg "I screwed down an entire floor at 16" x 1" c/c within an hour instead of an entire day and I took loads of fag breaks" (I could have used a nail gun instead in half the time but I'll never raise that floor easily in the future, and probably done at twice the cost)

I have several on prem LLMs and access to the rest and I'm pretty sure I'll be extending my analogy to ... brand, eventually.

What I do not expect to be doing is looking for a new job. A drill driver is not a carpenter/site labourer/useful without a person!

maccard 21 hours ago||
But a modern drill absolutely 100% removes the need for a brace and bit. An LLM doesn't replace any existing tools.
ryan_n 20 hours ago|||
From what I've heard for many devs it replaced an IDE... I still use one myself, but I've a lot of people don't anymore.
jaggederest 19 hours ago||
Basically IDE free since May 2025. I actually reinstalled vscode when setting up a new machine and I think I've launched it twice?

cc -> local automated testing -> github -> PR -> heavy integration tests -> review (github ui, +/-) -> manual test locally -> merge -> deploy -> manual test remotely -> synthetic user testing -> repeat

noisy_boy 19 hours ago|||
But what about navigating the code by the call stack? I didn't know that GitHub has a way to do that. Or maybe I'm probably coming across as being dumb enough to be talking about still trying to have a mental model of what calls what.
r3trohack3r 17 hours ago||
Personally, I use a debug agent for that.

I've never used breakpoint debugging, was always a printf debugger. And now an agent can do that loop for me.

Prompt is usually something along the lines of:

>I would expect the behavior of this to be [X] - instead I'm observing [Y]

And the agent will form hypothesis, place printf statements, compile, and scrape logs on loop - each loop ruling out hypothesis or narrowing down what portion of the code is responsible for the unexpected behavior.

It has been able to pin-point the exact line(s) of code responsible every time I've reached for it so far.

fruit2020 19 hours ago|||
Do you not need to use the debugger sometimes? Or can cc debug by itself
simonw 19 hours ago|||
Coding agents can use debuggers if they need to.

From what I've seen they're more likely to run a python -c "import your_code; your_code.do_stuff()" experiment to figure out what's going on though.

locknitpicker 15 hours ago||||
> Do you not need to use the debugger sometimes? Or can cc debug by itself

A key feature of AI coding assistants and coding agents is troubleshooting. It turns out that LLMs excel at pattern matching, specially when coupled with feedback signals. It turns out that troubleshooting represents just that. A few years ago people searched the likes of stack overflow to fix problems, and it turns out LLMs can do the equivalent of that much faster.

jaggederest 19 hours ago|||
I have not used a debugger in anger in perhaps a decade. I write tests, and if that's not enough, I write more tests.

Tests stick around and prevent future problems, whereas the debugger only shows me something once.

addaon 18 hours ago||
But tests show you if a bug is happening, they don’t help you understand the underlying cause of the bug. In a decade, you haven’t hit a compiler codegen issue, a silicon erratum, a race condition, or anything that required actually spending effort understanding the causal path?
jaggederest 3 hours ago||
I don't know what to tell you besides that I've found more, better bugs using comprehensive testing than I ever found with a debugger.

The sole exception to that is that, back in the very early days, troubleshooting IE6 really required a debugger. But everything else, from memory leaks to thread hang issues to deadlocks, testing is better.

2fff 21 hours ago|||
I think we will see very limited human displacement - it'll be in narrow places where it makes sense. Much of it will just be augmentation.
spkm 21 hours ago|||
Remember the OOP Hype 20 years ago? I'm still cleaning shit up from then in our codebase when everyone used patterns after skimming through the GoF book without even knowing why .... My prediction is in 20 years I will clean up the shit that was co-authored by Claude ...

https://mastodon.gamedev.place/@JeremiahFieldhaven/116654345...

awesome_dude 21 hours ago|||
OOP and GoF are not the same thing - conflating the two has been the biggest mistake everyone has made (detractors and proponents alike)
mindcrime 20 hours ago|||
And there's nothing "wrong" with the GoF Patterns per-se. The issue was always people applying them blindly without understanding why (or more to the point, "if") they were needed. Once writing code filled with patterns became "the thing you do"... all bets were off. :-(
dominotw 19 hours ago||
I remember putting stuff like this on my resume "developed X using visitor pattern" . ppl would ask "what is your favourite design pattern" in interviews. lmao.
whattheheckheck 17 hours ago||
Lol the worst pattern
derwiki 16 hours ago|||
Strangler fig is one of the best, with one of the worst names
_puk 14 hours ago||
Yeah, it's still useful to refer to patterns.

Facades and stranglers are massively useful patterns, and help explain concepts to the layman.

Personally I've never been patterns over everything, so I'm not going to now knee jerk and say no patterns ever.

There's a time and a place for everything.

edit Fuck. A reread on that and I sound like AI. Updated

NegativeLatency 15 hours ago|||
“Big ball of mud” is a good one
spkm 21 hours ago|||
I know, but they didn't.
lenerdenator 16 hours ago||||
The idea that a lot of people have in their heads is that if the code doesn't fit the need, you'll just start over completely with a fresh codebase, because it's so fast to generate it.

In other words, there won't be 20-year-old code in this future.

We'll see if that comes to pass, but there's a lot of money betting that will happen; enough to where people will disregard what the downsides are.

dominotw 19 hours ago|||
my roommate at the time was trying to implment all the patterns from gof book at work. it was ridiculous but hype was ridiculous.
faangguyindia 20 hours ago|||
It all feels to me similar to how spectators or laypeople judge pro sports.

Don’t quote me on this, just trying to make a point:

They’ll say you need perfect symmetry to do well in sports, which is highly correlated to development stability in the womb; higher symmetry = perfect development.

Then after some years, news will come: Bruce Lee’s one leg is shorter than the other by a significant amount, and Usain Bolt has a similar asymmetrical development.

Then they’ll flip-flop around their initial argument by claiming that they are outliers so the general rule need not apply.

brother just build what you find interesting and it may work :)

nchmy 11 hours ago||
It's well established that injuries occur at much higher rates when you have asymmetries/imbalances. Not even just physical "deformities" but just when your body is shifted or twisted in some way such that you don't move with balance.
burntsushi 3 hours ago|||
I have been thinking about this sort of progression too. One thing I wonder about is network effects. Are they even important? Now, for sure. Will they be so in a year? I don't know. I'm thinking about tooling centralizing on common primitives. Like, for my own situation, does it matter that everyone is using the same libraries?

If AI becomes the interface, then we will a layer of abstraction above programming languages themselves. Which is kind of wild.

(I don't pretend this is a novel idea. I'm just not that plugged into AI discourse.)

cautiouscat 22 hours ago|||
Haven’t you heard? If you don’t adapt now you’ll be left behind, never to be able to work again! Copilot? That’s so last year. Agentic engineering? You’re already late!
skippyboxedhero 21 hours ago|||
jibecoding is the latest thing: you insult the LLM's bloodline providing it with greater motivation to complete the code you won't review without bugs.
cindyllm 20 hours ago||
[dead]
mrexroad 22 hours ago|||
Do you have a link to your paid content that will put me ahead of the curve so my career will be bulletproof? /s
Swizec 21 hours ago|||
> Until AI is basically in a stable, predictable, state of improvement or stagnation, these takes will continue to be pointless and most likely completely wrong.

Little thing to keep in mind about AI: a technology is only called AI while it doesn’t work yet. Once it works reliable, we give it a proper name and something else becomes AI.

simonw 18 hours ago||
"AI is whatever hasn't been done yet" - Larry Tesler https://en.wikipedia.org/wiki/AI_effect
Bockit 19 hours ago|||
I think it's more: AI assisted engineering is a new skill people are trying to develop and we're on this collective experimentation process, working out how to use AI for engineering with varying degrees of success.

If that's true, any statements defining what is necessary to do should be ignored in that context. I'm still interested in hearing about what people tried, what results they think they saw, and then trying to apply those findings to my own processes.

Which is to say I don't think the pontificating is pointless, but as statements of Real Truth, I agree they're likely wrong. We're too early in the game.

xnx 21 hours ago|||
Overall I agree with this, though I do think that there will be a trend to hoard/keep-secret domain knowledge by professions. Like plumbers will try and make it a trade-secret or protected intellectual property how to change a pipe fitting.
nradov 21 hours ago|||
For basic residential plumbing work the moat is not knowledge. There are already books and YouTube videos that will teach you everything you need to know. Professional plumbers can't stop that. The real moat is that most people don't have time, don't want to buy tools, and don't want to get shit on their hands.

For new construction and commercial work the moat is a contractor's license. They don't allow LLMs to take the licensing exam yet.

trouve_search 8 hours ago|||
The moat is the difference between knowledge and know-how.

You can read all the plumbing books, but you need to get your hands dirty a few times, mess it up and fix it, to get mentally comfortable and efficient with the work

spauldo 19 hours ago||||
Yep. I can do basic plumbing, but I haven't touched it since I started making enough money to pay a plumber to do it for me. Plumbers are worth every dollar they charge if it means I don't have to spend two hours under a sink cursing at rusty bolts.
2fff 21 hours ago|||
"Professional plumbers can't stop that. The real moat is that most people don't have time, don't want to buy tools, and don't want to get shit on their hands."

"don't want to buy tools, and don't want to get shit on their hands"

Thats closer to the truth. The rest of your post is fluff. Its pure economics, not rocket science.

chasd00 18 hours ago||||
How trades gate keep is time. You can’t just become a plumber or electrician on your own. You have to be an apprentice for years no matter your knowledge or skill. This is how it works in trades and unions and where the term “pay your dues” comes from. Like you have to literally pay($$) dues for years before you can move up.
Avicebron 21 hours ago|||
There is a difference between something being a hidden/gate kept trade secret and something being easier for person X to do than person Y through a combination of real world experience and practice.
kuboble 16 hours ago|||
Being a domain expert has been more valuable than being an excellent software developer before the ai.

In 2018 I witnessed one guy with no prior coding experience who built a tool that after a month of coding was making very decent money (more than me), just because he was aware of a particular niche.

He showed me parts of his code and it was as bad as my first program, but his was solving a real life problem.

lumost 16 hours ago|||
Taste, architecture, new innovations. These are all streams of tokens which are subject to the same scaling laws as code, language, and basic classification.

We are going to see a new generation of models which effectively “solves” these problems for most businesses. Likely within the next two years- then we’ll talk about some other problems which limit adoption.

matchagaucho 20 hours ago|||
I'd like to believe that stable state ends in a pair-programming structure, with a systems thinker/engineer and a domain expert.

Someone needs to spot when a linked list is better than a map. And the other needs to spot when clinical trial coding should happen before claims, audits, or patient outreach.

m12k 14 hours ago|||
As software engineers we’ve now suddenly become a sort of “god of the gaps” - our existence is only justified in the (fewer and fewer) situations where the AI can’t do the job just as well on its own
not_kurt_godel 21 hours ago|||
I write software that makes money and AI helps me write software that makes more money.
sodafountan 17 hours ago|||
That's a rare niche; the vast majority of software makes no money whatsoever.

What type of software do you produce?

QuantumFunnel 20 hours ago|||
[flagged]
not_kurt_godel 20 hours ago|||
My comment was in response to:

> How much pontificating needs to be done before people acknowledge nobody has any idea what to do with AI on an individual level?

I explained the idea of what I do with AI on an individual level. Hope that helps.

toastmaster11 19 hours ago|||
Concurred
not_kurt_godel 19 hours ago||
Thank you for this addition to the conversation. Perhaps you wish to also contribute your own response to the question posed by GP.
toastmaster11 18 hours ago||
I am GP, reading comprehension and such.
not_kurt_godel 17 hours ago||
Thank you for your topical pontification in response to my input.
wiseowise 10 hours ago|||
Grifters are trying to get their 5 minutes of fame by posting some unhinged shower thought that they have. It's just that you're noticing it now, because it pops up in the feed. Previously they'd say some shit about Agile, OOP/Functional programming or some other bullshit, and it would be swept under the rug.
slashdave 21 hours ago|||
> nobody has any idea what to do with AI on an individual level?

I appreciate the frustration, but some of us are actually successfully using these tools.

dominotw 19 hours ago||
you completely misread that statement
abhaynayar 22 hours ago|||
Several things can be true at once.
fsckboy 20 hours ago|||
>How much pontificating needs to be done before people acknowledge nobody has any idea what to do with AI on an individual level?

if nobody has any idea what to do, talking about it is the right approach

awesome_dude 21 hours ago|||
So far AI has been a (genuinely) massive improvement for...

Search

It's reading my requests more clearly than (for example) Google's search input ever did, and it's got (some) understanding of how close the result (or fragments of results) are to what I want.

I can ask it about things I know about, and it can answer with strategies I hadn't thought of.

HOWEVER - I still need to understand the results AND AI can overreach - it can say (figuratively) "Oh you are searching for Event handling, therefore I will write a orchestration saga" - which, if I am not across, can get us both in trouble.

Further, we KNOW that AI has no (real) understanding of the responses - it's just token adjacency - and it fails basic logic tests

Current AI is just awesome natural language processing, but it's still got a ways to go to where I would say "It can replace people"

Edit: LLMs demonstrate (almost perfectly) the difference between correlation and causality. LLMs identify correlative patterns, but the job still needs (us) to make the causative judgments.

spkm 21 hours ago|||
Thank you! That's exactly what it is. Instead of presenting you 1000 results (or 0) which you have to manually skim through, it generates 1 result as a summary. And even if there is no actual search result, it will hallucinate you 1 result (full of BS).

But because the result sounds right (and in cases with good data it actually is) people tend to trust it. I do not dismiss the potential, but for me the line is crossed when you take the result for granted without verifying and while I'm sure many here think that is implied, I bet you, at large, it is not and will be even less so in the future.

Brave New World!

vector_spaces 20 hours ago||||
> It's reading my requests more clearly than (for example) Google's search input ever did

I see this take a lot and it puzzles me.

While I think LLMs provide some advantages over traditional search in some modestly nontrivial contexts, they tend to be inferior to traditional search at its peak. I attribute this attitude to two things: the broad progressive enshittification and productization of search, and the fact that (re)search is a skill that most people tend to be bad at. Without massaging, LLMs spit out the most utterly braindead boneheaded queries, which are fine in cases where the problem is very well understood with minimum uncertainty or critical nuance. If your problem has either, God help you. But perhaps those queries are at least as good as the average human generated query

awesome_dude 20 hours ago||
I think that the issue here is that the definition of search/results has changed (in my mind at least they were always - what knowledge are you looking for, followed by, here are the results that carry that knowledge OR point in the right direction, but I recognise that other people will hold more strict definitions)

AI has changed how I find and synthesise information in ways Google never managed - we've always had the problem with Google that we couldn't express exactly what we were looking for - that much I think we can both agree has changed dramatically for the better with LLMs

Edit: I have always held that searching for an answer (whether it be internet or human) has always been about asking the right person, the right question, at the right time.

LLMs most certainly improve that - I don't need to know the exact technical term I am looking to solve in order to get the results I want (eg. I can ask how to "stop (a) function from running too many times" instead of the industry terms "throttling" or "debouncing")

Izkata 1 hour ago||
> Edit: I have always held that searching for an answer (whether it be internet or human) has always been about asking the right person, the right question, at the right time.

At the peak of search they're describing, asking a question was how you'd get subpar results. The best way to search was for things you expected to be in the results - like, for a simplistic example, you wouldn't search for "how do I...", you'd search for something like "How to..."

awesome_dude 36 minutes ago||
Yeah - the plan was to word match - having the right words in the query was the key.

It was also why (one) SEO was to fill the page in a hidden block, every word that could possibly be related (synonyms) to the page content.

On that note I am wondering how the poisoning of the content for AI is going to occur (eventually someone is going to work out how to make LLMs say "Eat at Joes - 1313 Mockingbird lane" whenever someone [else] asks some food related question)

bigballsbjorn 20 hours ago|||
[dead]
dannersy 12 hours ago|||
Hype folks need to move those goal posts to justify all the money and time invested into something we are starting to realize is a liability.
throw1234567891 21 hours ago|||
All of those things matter. One needs to be able to judge the solution in order to make a judgement if it is fine, or not. Why yes, and why no. No matter who you export the typing process to. LLMs are just tools speeding up the typing process.
gedy 20 hours ago|||
I think what matters is.... the person being intelligent. I do not mean this as an us vs them thing, but a LOT of companies have some not very smart people in and running them. It's never about exact skills or roles.

My observation on AI is that some frankly less intelligent folks think they don't need smart people any more because AI makes them smarter. I disagree.

emodendroket 15 hours ago|||
[dead]
dominicq 23 hours ago||
Good post! Also, in my opinion, domain expertise is actually more interesting than pure coding ability. Coding, for me, has always been a means to an end. I'm equally happy with a spreadsheet if it solves my problem, and in fact I hate most apps.
irishcoffee 23 hours ago|
I’ve been an engineer for a while now, where we have a mix of EE, ME, SysE, SWE, and the programmatic folks, lots of software/hardware integration at pretty “low” levels for each discipline, really fun.

One of the things I say is when I’m on my soapbox is: we are all engineers. We have different tools in our toolbox to solve problems. We get paid to solve problems, not (for example) write software. Software is just a tool.

IX-103 6 hours ago||
But there's nothing stopping AI from developing domain expertise. If you fine tune a model based on the records of all previous work (effectively "shadowing" the existing workers) then it can easily learn this domain knowledge. The only difference is that AI companies have gone after programming domain knowledge first. Others will come later.
Garlef 12 hours ago||
From my experience what domain experts are often missing - and at least currently this is also an area where LLMs fail - is the ability to model data and interfaces in a sustainable way and factor in team and domain boundaries.

This is a failure mode that senior engineers have seen a few times throughout their career: They know how certain choices will play out over time... and the kind of problems and roadblocks these choices might cause.

kdmtctl 13 hours ago||
I'm such a generalist. During all my career, from support to decades of C-level, I was equally challenged by domain and IT people for not being deep in everything. But whenever they couldn't come up with a compromise, I was the person who always offered it. Doing purely consulting work now, mostly implementation. And this "little bit of everything" can be strongly multiplied by AI tools, since I already know what exactly I want to achieve, I just need speed and a cross-check.
wg0 23 hours ago|
This is such a sane take. It is THE reality we have been always ignoring.

Writing software has never been difficult. It is the domain that has been the issue. Always.

theLiminator 23 hours ago||
> Writing software has never been difficult.

That's not true at all, sure CRUD might not have been that difficult, but absolutely there is extremely complicated software out there that is really difficult to write in a performant and correct manner.

wg0 22 hours ago|||
Yes. Audio, video encoders, decoders etc, 3D modeling, rendering etc.

That too is "domain" even it feels like it is NOT. Domain of signal processing, Euclidian spaces, information theory and what not. Thar too is all "domain" and that "domain" part is difficult to write.

theLiminator 22 hours ago|||
Then what do you mean by pure software? I think there's essentially zero domain-free software.
dapperdrake 22 hours ago||
I prefer co-domain free software. Has no side-effects.
asdff 22 hours ago||||
It is kind of funny though how all this hand wringing on performance, graphics, quality quality quality, has just resulted in basically same stuff as what I was doing with my computer in 2000 but with enormous resource use in comparison. Still playing games, still same old discussion forums/social media/whatever on the internet, same email and office suite, same chat, same media players, same everything. I can't even see the difference between 1080p and 4k from a couch, and people are trying to sell me 8k to watch the same stuff.

It just does not matter. The ideas matter. Novel functionality matters. But that isn't what any of that is. Same old. And the effort spent, the resources, the energy. All for more polygons on Lara Croft.

saulpw 22 hours ago|||
I mostly agree with you, but you couldn't have have meaningful live videochat between continents in 2000.
bigfatkitten 21 hours ago|||
CU-SeeMe worked pretty well in 1995 if you had access to a half decent Internet connection, which admittedly most people didn’t.

For well funded organisations, ISDN video conferencing facilities were reasonably common.

detourdog 9 hours ago||
Verizon in NYC was trying to make ISDN happen in the home in the mid 90's. I had it. The hard part was getting an ISP that supported SLIP.
detourdog 9 hours ago||||
CuSeeMe certainly was being used before 2000.

https://en.wikipedia.org/wiki/CU-SeeMe

asdff 22 hours ago||||
That took until skype in 2003 I guess. The idea is pretty old though and people were trying for it for a while from different angles.
ethanwillis 21 hours ago|||
Maybe not between continents but we had meaningful live video chat in 1968
jplusequalt 16 hours ago|||
>all this hand wringing on performance, graphics, quality quality quality, has just resulted in basically same stuff as what I was doing with my computer in 2000 but with enormous resource use in compariso

Mordern GPUs are streaming multiprocessors. Complaining that GPUs use a ton of resources is like complaining that a firehose uses a ton of water. Maximum data throughput is the point!

>But that isn't what any of that is. Same old. And the effort spent, the resources, the energy. All for more polygons on Lara Croft

There are MANY novel games being released every year. It's up to you to find them.

asdff 48 minutes ago||
I'm willing to bet all those novel games would have still been great games if they took their underlying mechanics and were making them in early 2000s with that era graphics. Ray tracing isn't a game mechanic. Neither is hair physics.
threethirtytwo 22 hours ago|||
You do realize that all the domains you used in your example are trivial for an LLM to write?
jazz9k 18 hours ago|||
"sure CRUD might not have been that difficult, but absolutely there is extremely complicated software out there that is really difficult to write in a performant and correct manner."

I was a developer for 20 years, before I pivoted to cybersecurity. My hobby projects were always more complex than the software I wrote at my day job.

The majority of software developers are writing some type of CRUD code or glue code for business processes. A small minority are writing complex code at big tech companies.

AI will most likely replace the need for many software developers.

jandrewrogers 22 hours ago|||
Writing software for a domain is itself a domain of expertise, with a similar learning curve. It isn't enough to know the programming language.

For example, it takes years to develop the knowledge and idioms required to effectively write high-performance systems code, which is separate from the language the code is written in. You can have decades of experience in a systems language and zero experience writing modern systems code in that language. Same with embedded code, supercomputing code, etc.

Writing software is only "not difficult" if you've already learned how to write it.

overgard 20 hours ago||
The type of software the average hacker news commentator writes is not difficult. That does not mean there aren't industries where the code is legitimately difficult. Games, embedded, etc.
More comments...