I think this post (and the OSS projects that he mentions that ban AI) are very reactionary.<p>> <i>But the idea that AI has or will surpass humans any time soon in either capabilities or efficiency is simply not true</i><p>AI is already better than most developers. I'm not sure what alternative reality people are remembering, but human coders for the most part have been really awful at writing code. I think the average PR from an LLM is head and shoulders above the average PR from a human. Does it write code in the preferred style and architecture of the project maintainer 100% of the time? No, and neither did humans.<p>I think there are <i>many</i> legitimate criticisms of AI, but "they suck at coding" isn't one of them. The progress we've seen in the last couple of years alone suggest that very soon they will be better at coding than any person. As a coder of over 30 years, I've embraced this fact and come to terms with it. Leverage your knowledge of systems, software engineering and product design and you can be living in a golden era for software development. That's how it feels to me at least.
The problem is that skill at coding is not exactly the same thing as skill at developing and maintaining software, and AI can help there as well, but a swarm of cowboy coder agents will get you to a legacy codebase very very quickly.<p>And even if the AI is better than most humans, the speed means that you get more defects and issues! If a human developer has a change failure rate of say 10%, (1 in 10 changes causes a defect or issue), and AI is twice as good and only introduces bugs 5% of the time, but submits 10x as many changes, then you go from 1 bug per unit of time to 5 bugs per unit of time, so your velocity is up 10x but your defect rate is up 5x...
I generally agree with this. One of the strangest things about LLM driven engineering is holding two seemingly contradictory positions in your head: they’re both better than the median developer, and they’re <i>also</i> much worse at producing artifacts that are comprehensible to humans.<p>I often find myself throwing away large amounts of LLM driven code not because it’s bad, but because it doesn’t fit within my attention span. The code itself looks very reasonable, passes tests, benchmarks well, etc. But I throw it away because the models don’t yet “explain” their decisions in ways that elicit psychological safety. Humans are still very good at that, even when their engineering is worse.
My experience is the same. That is why I write technical specifications for the LLM to follow, and treat the actual code they generate in the same way I treat the assembly produced by a compiler: a black box I rarely peek into.<p>If the code passes the (extensive) tests, I don't need to read or understand it. That said, I retired before LLMs became popular, so my experience is limited to vibe coding at home.
It's the same with any tool. You can buy the most expensive drill but if its used by an inexperienced worker, the only result will be more wrong drilled holes.
Charitably, we could say that “agentic” software engineering is less than 4 years old. I say charitably because I think even that’s an extraordinary stretch. But even at 4 years, I don’t think <i>anybody</i> can fairly claim to be experienced in it in a way that’s going to be stable and fungible for, say, the next 30 years.<p>(My experience has been the polar opposite: the people I know who are the most “AI pilled” are also the ones who have the shortest technical horizons in terms of how transferable they expect their LLM skills to be.)
Yes, we know that Astral has been bought by OpenAI.<p>Don't use Astral, they want to make you unemployed!
I agree, and I think what you’re describing is only scratching the surface of what’s possible today.<p>It’s even more powerful with large data and knowledge sources connected.<p>Takes a lot of work to set up effectively, but when connected to Slack _properly_ (not their MCP; but API which is more powerful), a database of your repo’s PRs/comments, data warehouses including analytics/telemetry and logs; and in a strong harness (including using multiple models simultaneously; like the OMP advisor pattern), what AI can achieve combined your domain expertise and human intelligence is just mind bogglingly crazy.<p>The larger your codebase / product / volume is; the more powerful it gets. AI has found many needles in haystacks that’s just impossible for a single person or team in large companies; because nobody has all the context.<p>I’ve embraced it too now. Initially I felt a bit disempowered and just somewhat uncomfortable.<p>Over time, I realised that I’m still doing serious and interesting engineering: just at a higher level of abstraction.<p>And for the craft and passion of software engineering, I have a couple of pet projects where I use ‘limited AI’. Good to still keep your wits sharp.
I think LLMs can be used productively, but I also think the average PR from an LLM is crap. They can be decent (or even excellent) at writing code, but they're mediocre at deciding what code to write, and terrible at deciding what <i>not</i> to write.
They are only good in the context of the engineer guiding them.<p>I really can’t imagine what would happen if I didn’t manually intervene sometimes and just kept prompting it for the new behavior I wanted.
> Leverage your knowledge of systems, software engineering and product design and you can be living in a golden era for software development.<p>For a short while, maybe. If an LLM can keep track of a 500KSLoC codename, it's gonna easily replace systems knowledge workers, software designers and product designers.<p>None of systems knowledge, software engineering and product design is a moat against this.
I've been really struggling to get AI to write good quality c# code, or to be precise, what I see as good quality.
I'm in two minds on if it matters or not.<p>On one hand I think, I want to be proud of it, I want to be able to explain it, if it breaks I want to be able to figure out why.<p>On the other hand, AI can do all of that with badly written code, so who cares.<p>Edit: however, it still feels like an amazing power tool, but it has taken me months to figure out how to use it.<p>I have the opposite experience of everyone else I follow online, I find it terrible at green field and great at brownfield. Green field it makes horrible choices as it has nothing to follow.<p>I'm in no way a very good programmer, or very smart, but the code I saw most of my co-workers writing was about the same quality as AI, not very good.
It hasn’t climbed the complexity bar for hard software engineering yet, fable still can’t build a fully functioning C Compiler, I think in the long horizon eval it can sometimes build a C pre-processor (not deterministic) given all the tests and a spec. And given the tests is a big deal, humans actually write the tests on their own while developing btw. Anthropics marketing stunt C compiler doesn’t count (that one didn’t even type check).<p>Now the thing to claim “a better coder than humans”, is you can’t just stop at making a production grade C Compiler, you then also need to make the leap to make something new that is a definite improvement over everything that existed before it. This is an also a question of taste not just implementation chops. Think Zigs cross platform C Compiler, Rusts memory safety opinionated compiler and more.<p>The day AI can do both, implement a complex production grade project, and make a conceptual actual improvement upon SOTA is the day I’ll agree AI has become better than humans at coding. I’ve underestimated AI in the past, maybe with 10T of compute they’ll get there, maybe they won’t , we’ll know in the coming years
> <i>human coders for the most part have been really awful at writing code.</i><p>They <i>are</i> better when copying and pasting expert code, even when they don't understand it.
Yeah, it's a bit absurd. There's so many empirically measured benchmarks where LLMs clearly exceed human capabilities and efficiencies!
Make your own benchmark on your own work, keep them to yourself. Try one typical not completely unambiguous spec document like you're likely to have seen. See if the AI asks the right questions, and how it navigates its unknown unknowns.
> AI is already better than most developers<p>By what measure? How do you even compare developer skill?
> AI is already better than most developers.<p>A tool can only be as good as the person who use it.
> AI is already better than most developers.<p>My experience, no its not. It just doesn't fight back as much when you tell it that its wrong.<p>My sister team is vibecoding the shit out of a couple of product PoCs. There is only one person on that team that appears to understand how to vibe code properly. the rest are just producing shite and breaking the service everytime they deploy. However, the code it creates is fine enough, just the architecture is bad, or the prompter is bad.<p>_however_ the problem with the post is that its using tangential metrics to prove the point. The opensource maintainer bit doesn't always mean that the output is bad, it means that either:<p>1) the maintainers hate AI<p>2) the shit they are getting is huge and takes too long to review<p>3) The shite they are getting solves a specific problem for one user at the expense of everyone else<p>4) the PR is nonsense.<p>only one of those options area signal for code quality from LLMs. the rest are about the skill of the creator, or attitude/time budget of the maintainer.
I kind of agree that the post is a bit too far away from the trenches to be able to claim it will reveal "software engineering reality".<p>From where I snipe, I see a big divide between those...<p>1) that try to surrender to AI, aiming to fully replace value-added intellectual effort and often also to augment enterprise value-mask slop busywork...<p>...they fail, and succeed, and the collective suffers.<p>2) those that ride AI to get more challenged, more feedback if any kind, to tread further but with attention to the right details<p>...they succeed
The golden era that hasn't produced anything of note yet. More pro-AI advertisements from someone who needs AI crutches.
that’s the thing, you can have the LLM study and make a skill to only code in the maintainers preferred style or readability.
How do you <i>know</i> your average AI PR is better than a human developer? Most of the teams that I see touting the benefits almost never review the code that's output, or they offload that process to another agent.<p>Like I see people say this, and yet the teams that are AI maxing produce worse code than ever. Software has rapidly gotten more unstable and unsustainable over the past three or so years than I've experienced in the past 20.
> ... you can be living in a golden era for software development.<p>Let's assume for a moment that you're correct. That AI is already better than most developers, for whatever definition of "better" you like, and they will very soon be better than any person. (I think this is a total fantasy and you've failed to recognise the limitations as the article points out, but I digress.)<p>In that case the end goal of these companies is to replace all software engineers. Do you not see that? They've not been hiding this fact. It's a good thing for you and I that these models don't work, because if they did the "golden age" is not coming for us, it's coming for people who own compute capacity and the rest of us will become labourers.
Additionally, if this is true companies that have replaced all their software engineers will discover that they themself can be completely replaced by AI by their former customers.
> you've failed to recognise the limitations as the article points out<p>Fixed weights don't preclude in-context learning and out-of-the-loop weight updates. And that's the only principled limitation mentioned in the post.