What exhausts me isn’t “falling behind.” It’s watching the profession collectively decide that the solution to uncertainty is to pile abstraction on top of abstraction until no one can explain what’s actually happening anymore.<p>This agentic arms race by C-suite know-nothings feels less like leverage and more like denial. We took a stochastic text generator, noticed it lies confidently, wipes entire databases and harddrives, and responded by wrapping it in managers, sub-agents, memories, tools, permissions, workflows, and orchestration layers so we don’t have to look directly at the fact that it still doesn’t understand anything.<p>Now we’re expected to maintain a mental model not just of our system, but of a swarm of half-reliable interns talking to each other in a language that isn’t executable, reproducible, or stable.<p>Work now feels duller than dishwater, enough to have forced me to career pivot for 2026.
I think AI-assisted programming may be having the opposite effect, at least for me.<p>I'm now incentivized to use <i>less</i> abstractions.<p>Why do we code with React? It's because synchronizing state between a UI and a data model is difficult and it's easy to make mistakes, so it's worth paying the React complexity/page-weight tax in order for a "better developer experience" that allows us to build working, reliable software with less typing of code into a text editor.<p>If an LLM is typing that code - and it can maintain a test suite that shows everything works correctly - maybe we don't need that abstraction after all.<p>How often have you dropped in a big complex library like Moment.js just because you needed to convert a time from one format to another, and it would take too long to hand-write that one feature (and add tests for it to make sure it's robust)? With an LLM that's a single prompt and a couple of minutes of wait.<p>Using LLMs to build black box abstraction layers is a choice. We can choose to have them build LESS abstraction layers for us instead.
For moment you an use `date-fns` and tree shake.<p>I'd rather have LLMs build on top of proven, battle-tested production libraries than keep writing their own from scratch. You're going to fill up context with all of its re-invented wheels when it already knows how to use common options.<p>Not to mention that testing things like this is <i>hard</i>. And why waste time (and context and complexity) for humans and LLMs trying to do something hard like state syncing when you can focus on something else?
Every dependency carries a cost. You are effectively outsourcing part of the future maintenance of your project to an external team.<p>This can often be a very solid bet, but it can also occasionally backfire if the library you chose falls out of date and is no longer maintained.<p>For this reason I lean towards fewer dependencies, and have a high bar for when a dependency is worth adding to a project.<p>I prefer a dozen well vetted dependencies to hundreds of smaller ones that each solve a problem that I could have solved effectively without them.
> Why do we code with React?<p>...is a loaded question, with a complex and nuanced answer. Especially when you continue:<p>> it's worth paying the React complexity/page-weight tax<p>All right; then why do we code in React when a smaller alternative, such as Preact, exists, which solves the same problem, but for a much lower page-weight tax?<p>Why do we code in React when a mechanism to synchronize data with tiny UI fragments through signals exists, as exemplified by Solid?<p>Why do people use React to code things where data doesn't even change, or changes so little that to sync it with the UI does not present any challenge whatsoever, such as blogs or landing pages?<p>I don't think the question 'why do we code with React?' has a simple and satisfactory answer anymore. I am sure marketing and educational practices play a large role in it.
Yeah, I share all of those questions.<p>My cynical answer is that most web developers who learned their craftsin the last decade learned frontend React-first, and a lot of them genuinely don't have experience working without it.<p>Which means hiring for a React team is easier. Which means learning React makes you more employable.
Our industry wants disruption, speed, delivery! Automatic code generation does that wonderfully.<p>If we wanted safety, stability, performance, and polish, the impact of LLMs would be more limited. They have a tendency to pile up code on top of code.<p>I think the new tech is just accelerating an already existing problem. Most tech products are already rotting, take a look at windows or iOS.<p>I wonder what will it take for a significant turning point in this mentality.
Could we all just agree to stop using the term "abstraction". It's meaningless and confusing. It's cover for a multitude of sins, because it really could mean anything at all. Don't lay all the blame on the c-suite; they are what they are, and have their own view. Don't moan about the latest egregious excess of some llm. If it works for you, use it; if it doesn't, don't. But, stop whinging.
It’s wild that programmers are willing to accept less determinism.
It's not something that suddenly changed. "I'll generate some code" is as nondeterministic as "I'll look for a library that does it", "I'll assign John to code this feature", or "I'll outsource this code to a consulting company". Even if you write yourself, you're pretty nondeterministic in your results - you're not going to write exactly the same code to solve a problem, even if you explicitly try.
Contrary to code generation, all the other examples have one common point which is the main advantage, which is the alignment between your objective and their actions. With a good enough incentive, they may as well be deterministic.<p>When you order home delivery, you don’t care about by who and how. Only the end result matters. And we’ve ensured that reliability is good enough that failures are accidents, not common occurrence.<p>Code generation is not reliable enough to have the same quasi deterministic label.
I think those that are most successful at creating maintainable code with AI are those that spend more time upfront limiting the nondeterminism aspect using design and context.
It's wild that management would be willing to accept it.<p>I think that for some people it is harder to reason about determinism because it is similar to correctness, and correctness can, in many scenarios be something you trade off - for example in relation to scaling and speed you will often trade off correctness.<p>If you do not think clearly about the difference with determinism and other similar properties like (real-time) correctness which you might be willing to trade off, you might think that trading off determinism is just more of the same.<p>Note: I'm against trading off determinism, but I am willing to think there might be a reason to trade it off, just I worry that people are not actually thinking through what it is they're trading when they do it.
> It’s wild that programmers are willing to accept less determinism.<p>It's wild that you think programmers is some kind of caste that makes any decisions.
Mortgages don't pay for themselves.
You can have the best of both worlds if you use structured/constrained generation.
The good ones don't accept. Sadly there's just many more idiots out there trying to make a quick buck
There has always been a laissez-faire subset of programmers who thrive on living in the debugger, getting occasional dopamine hits every time they remove any footgun they previously placed.<p>I cannot count the times that I've had essentially this conversation:<p>"If x happens, then y, and z, it will crash here."<p>"What are the odds of that happening?"<p>"If you can even ask that question, the probability that it will occur at a customer site somewhere sometime approaches one."<p>It's completely crazy. I've had variants on the conversation from hardware designers, too. One time, I was asked to torture a UART, since we had shipped a broken one. (I normally build stuff, but I am your go-to whitebox tester, because I hone in on things that look suspicious rather than shying away from them.) When I was asked the inevitable "Could that really happen in a customer system?" after creating a synthetic scenario where the UART and DMA together failed, my response was:<p>"I don't know. You have two choices. Either fix it where the test passes, or prove that no customer could ever inadvertently recreate the test conditions."<p>He fixed it, but not without a lot of grumbling.
My dad worked in the auto industry and they came across a defect in an engine control computer where they were able to give it something like 10 million to one odds of triggering.<p>They then turned the thing on, it ran for several seconds, encountered the error, and crashed.<p>Oh, that's right, the CPU can do millions of things a second.<p>Something I keep in the back of my mind when thinking about the odds in programming. You need to do extra leg work to make sure that you're measuring things in a way that's practical.
I mean we've had to cope with users for ages, this is not that different.
My work is better than it has been for decades. Now I can finally think and experiment instead of wasting my time on coding nitty-gritty detail, impossible to abstract. Last autumn was the game changer, basically Codex and later Opus 4.5; the latter is good with any decent scaffolding.
I have to admit, LLMs do save a lot of typing a d associated syntax errors. If you know what you want and can spot and fix mistakes made by the LLM then they can be pretty useful. I don’t think it’s wise to use them for development if you are not knowledgeable enough in the domain and language to recognize errors or dead ends in the generated code though.
What are you pivoting to?
> It’s watching the profession collectively decide that the solution to uncertainty is to pile abstraction on top of abstraction until no one can explain what’s actually happening anymore.<p>The ubiquitous adoption of LLMs for generating code is mostly a sign of bad abstraction or the absence of abstraction, not the excess of abstraction.<p>And choosing/making the right abstraction is kind of the name of the game, right? So it's not abstraction per se that's a problem.
Every technical person has been complaining about this for the entire history of computer programming<p>Unless you’re writing literal memory instructions then you’re operating on between 4 and 10 levels of abstraction already as an engineer<p>It has never been tractable for humans to program a series of switches without incredible number of abstractions<p>The vast majority of programmers never understood how computers work to begin with
Wow - can we coin "Slopbrain" for people who are so far gone into AI eventualism that they can no longer function? Liked "cooked" but "slopped" or something. Good grief lol. Talk about getting lost in the sauce...
Twitter folks call this LLM or AI Psychosis.
Just one more context harness. Bro. Just one more agent cli and we will have those 10x speedups Sam Altman promised. Please bro, just one more tool and we'll replace all programmers....
This is what I keep hearing. "You just need something more agentic" "if you had the context length you could've fixed that" etc etc. yeah sure. I'll believe it when I see it. For me it's parsing 3000 page manuals for relevant data. I can do it fairly competently from experience, but I see a lot of people not familiar with them struggle to extract the info they need, and AIs just cannot hold all that context in my experience
And there it is again, the "powerful alien tool" that was just "handed to us".<p>No decades of research and massive allocation of resources over the last few years as well as very intentional decision making by tech leadership to develop this specific technology.<p>Nope, it just mysteriously dropped from the sky one day.
My company takes between Christmas and New Years off. I took a week before that off too. I have not used AI in that time. The slower pace of life is amazing. But when I get back to coding it will be back to running at 180%. It’s the new norm. However I’ve decided to take longer “no computer” breaks in my day. I have to adapt but I need to defend my “take it slow” times and find some analogue hobbies. The shift is real and you can’t wind it back.
I’ve been taking my son for stroller walks more often over Christmas. I bring a headset for listening to music, podcasts, audiobooks, tech talks. “Be effective.” But I end up just walking and thinking, realising this is “free time”.<p>It sounds ridiculous and easy to say spending time walking and thinking will improve your decisions and priorities that no productivity having will.<p>I only actually did slow down for a while because I had to for the wellbeing of my family. Sure feels important to not always be on top of everyone else’s business.
> There's a new programmable layer of abstraction to master (in addition to the usual layers below) involving agents, subagents, their prompts, contexts, memory, modes, permissions, tools, plugins, skills, hooks, MCP, LSP, slash commands, workflows, IDE integrations, and ...<p>This sounds unbearable. It doesn't sound like software development, it sounds like spending a thousand hours tinkering with your vim config. It reminds me of the insane patchwork of sprawl you often get in DevOps - but now brought to your local machine.<p>I honestly don't see the upside, or how it's supposed to make any programmer worth their weight in salt 10x better.
I am a software developer and mainly a programmer since decades now. I love programming. I love to be "once" with the computer. I will never give this joy up. If I need to sell shoes at daytime, I will program real computer programs in the evenings. If it won't be possible with modern machinery anymore, I will take my Commodore 64. I am a free man.
> OpenAI's sales and marketing expenses increased to _$2 billion_ in the first half of 2025.<p>Looks like AI companies spend enough on marketing budgets to create the illusion that AI makes development better.<p>Let's wait one more year, and perhaps everyone who didn't fall victim to these "<i>slimming pills</i>” for developers' brains will be glad about the choice they made.
As an Opus user, I genuinely don’t understand how someone can work for weeks or months without regularly opening an IDE. The output almost always fails.<p>I repeatedly rewrite prompts, restate the same constraints, and write detailed acceptance criteria, yet still end up with broken or non-functional code.its very frustrating to say the least Yesterday alone I spent about $200 on generations that now require significant manual rewrites just to make them work.<p>At that point, the gains are questionable. My biggest success is having the model take over the first Design in my app and I take it from there, but those hundred lines if not thousand lines of code it generates are so Messi, it's insanely painful to refactor the mess afterwards
My trick is to explicitly roll play that we’re doing a spike. This gets all of the models to ignore all of the details they normally get hung up on. Once I have the basics in place, I can tell it to fix details.<p>It’s _always_ easier to add more code than it is to fix broken code.
What does your software creation workflow look like? Do you have a design phase?
Sometimes I have a similar file or related files. I copy their names and say use them as reference.
Code quality improves by 10 times if you do so. Even providing a a example from framework's getting started works great too for new project.<p>Yeah the pain of cleaning up small mess is great too. I had some tests failing and type failing issues, I thought I will fix it later by only using AI prompt. As the size was growing, failing Typescript issues was growing too. At some point it was 5000+ type issues and countless number of failing unit tests. Then more and more. I tried to fix with AI, since it was not possible fixing old way. Then I discarded the whole project when it was around 500k lines of code.
I hardly ever open an IDE anymore.<p>I use Claude Code and Cursor. What I do:<p>- use statically typed languages: TypeScript, Go, Rust, Python w/ types<p>- Setup linters. For TS I have a bunch of custom lint rules (authored by AI) for common feedback that I've given. (<a href="https://github.com/shepherdjerred/monorepo/tree/main/packages/eslint-config/src/rules" rel="nofollow">https://github.com/shepherdjerred/monorepo/tree/main/package...</a>)<p>- For Cursor, lots of feedback on my desired style. <a href="https://github.com/shepherdjerred/scout-for-lol/tree/main/.cursor/rules" rel="nofollow">https://github.com/shepherdjerred/scout-for-lol/tree/main/.c...</a><p>- Heavy usage of plan mode. Tell AI something like "make at least 20 searches to online documentation", support every claim with a reference, etc. Tell AI "make a task for every little thing you'll implement"<p>- Have the AI write tests, particularly the more expensive ones like integration and end-to-end, so you have an easy way to verify functionality.<p>- Setup Claude Code GHA to automatically review PRs. Give the review feedback to the agent that implemented it, either via copy-pasting or tell the agent "fetch review comments and fix them".<p>Some examples of what I've made:<p>- Many features for <a href="https://scout-for-lol.com/" rel="nofollow">https://scout-for-lol.com/</a>, a League of Legends bot for Discord<p>- A program to generate TypeScript types for Helm charts (<a href="https://github.com/shepherdjerred/homelab/tree/main/src/helm-types" rel="nofollow">https://github.com/shepherdjerred/homelab/tree/main/src/helm...</a>)<p>- A program to summarize all of the dependency updates for my Homelab (<a href="https://github.com/shepherdjerred/homelab/tree/main/src/deps-email" rel="nofollow">https://github.com/shepherdjerred/homelab/tree/main/src/deps...</a>)<p>- A program to manage multiple instances of CLI agents like Claude Code (<a href="https://github.com/shepherdjerred/monorepo/tree/main/packages/multiplexer" rel="nofollow">https://github.com/shepherdjerred/monorepo/tree/main/package...</a>)<p>- A Discord AI bot in the style of my friends (<a href="https://github.com/shepherdjerred/monorepo/tree/main/packages/birmel" rel="nofollow">https://github.com/shepherdjerred/monorepo/tree/main/package...</a>)
This is what an AGENTS.md - <a href="https://agents.md/" rel="nofollow">https://agents.md/</a> (or CLAUDE.md) file is for. Put common constraints to correct model mistakes/issues with respect to the codebase, e.g. in a “code style” section.
I’ve had decent results from it. What programming language are you using?
Why would you spend $200 a day on Opus if you can pay that for a month via the highest tier Claude Max subscription? Are you using the API in some special way?
> strengths and pitfalls of fundamentally stochastic, fallible, unintelligible and changing entities suddenly intermingled with what used to be good old fashioned engineering<p>Sounds fever dreamish. Thank you sincerely (not) for creating it!
I admit to pangs of this, but it's really never made any sense because the implication is that the profession is now magically closed off to newcomers.<p>Imagine someone in the 90s saying "if you don't master the web NOW you will be forever behind!" and yet 20 years later kids who weren't even born then are building web apps and frameworks.<p>Waiting for it to all shake out and "mastering" it then is still a strategy. The only thing you'll sacrifice is an AI funding lottery ticket.
I have never felt this much <i>ahead</i> as a programmer. So many developers I see, including at my workplace, are blindly prompting models hoping to solve their problem and failing every step of the way. The people who truly <i>understand</i> what is happening are still in the ruling class, and their skills are not going to be irrelevant anytime soon.
For the longest time, the joy of creation in programming came from solving hard problems. The pursuit of a challenge meant something. Now, that pursuit seems to be short-circuited by an animated being racing ahead under a different set of incentives. I see a tsunami at the beach, and I’m not sure whether I can run fast enough.
I see it more like a playing a text adventure game. You give it commands and sometimes it works, and sometimes the results are unexpected.
Not to mention many companies speedrunning systems of strange and/or perverse incentives with AI adoption.<p>That being said, Welch’s grape juice hasn’t put Napa valley out of business. Human taste is still the subjective filter that LLMs can only imitate, not replace.<p>I view LLM assisted coding (on the sliding scale from vibe coding to fancy auto complete) similar to how Ableton and other DAW software have empowered good musicians that might not have made it otherwise due to lack of connections or money, but the music industry hasn’t collapsed completely.
In the music world, I would say that, rather than DAWs, LLM-assisted coding is more like LLM-assisted music creation.
> I can run fast enough.<p>Can you do some code reviews while you're running?
(Inception scene) here a minute is seven hours
Does any of you bother the fact that now you have to pay money in order to do your job? I mean AI model subscriptions. Somehow it feels wrong for me to pay for tools that are trying to replace me.
Between subscription software and subscription AI and the rising prices of computer hardware, the idea of a "personal computer" is quickly dying.
IDEs used to be extremely expensive back in the 1990s. IDEs such as Microsoft Visual Studio and IBM's Visual age for Java were quite expensive subscription as I recall. subsequently, open source IDEs like Eclipse and VisualStudio seem to have become the norm.
Visual Studio has never been open source, though some of the underlying build tools and compilers are.<p>Visual Studio Code is a different thing... and claims to be open source, but by intent and approach really is closer to source available.
paying to train* and fund the research for the tools to replace us
> Clearly some powerful alien tool was handed around except it comes with no manual<p>Using tools before their manual exists is the <i>oldest</i> human trick, not the newest.
If you want to chase the mob off the cliff, go ahead. Insanity and stupidity aren't sound life strategies, though. They're a sign you have lost the plot.
I love that Agile and Scrum is still unmentioned. Can we stick a fork in it yet?
No, no, no.<p>We need to have a scrum with 3 agents each from the top 4 AI vendors, with each agent adhering to instructions given by a different programmer.<p>It's kind of like Robot Wars, except the damage is less physical and more costly.
This is from the man who has no finished open source projects and who recommended camera-only FSD to Tesla, which he also did not finish.<p>The actually productive programmers, who wrote the stack that powers the economy <i>before and after</i> 2023 need not listen to these cheap commercials.
I’m convinced much of this is all noise - people seem to be focusing on the wrong unit of analysis. Producing software and lots of it has never been a problem - coming up with the right projects and producing a vertically differentiated product to what already exists is.
Mind you he is in the industry, and founding a company whose success depends on this stuff.
Being a nondeterministic tool, the output for a given input can vary. Rather than having a solid plan of, "if I provide this input, then that will happen", it's more like, "if I do something like this, I can expect something like that, probably, and if not, then try again until it works, I suppose".<p>What are the productivity gains? Obviously, it must vary. The quality of the tool output varies based on numerous criteria, including what programming language is being used and what problem is trying to be solved. The fact that person A gets a 10x productivity increase on their project <i>does not</i> mean that person B will also get a 10x productivity increase on their project, no matter how well they use the tool.<p>But again, tool usage itself is variable. Person A themselves might get a 10x boost one time, and 8x another time, and 4x another time, and 2x another time.
Non determinism does not imply non correctness. You can have the LLM do 10 different outputs, but maybe all 10 are valid solutions. Some might be more optimal in certain situations, and some might appeal to different people aesthetically.
Nondeterminism indeed does not imply non-correctness.<p>All ten outputs might be valid. All ten will almost certainly be different -- though even that is not guaranteed.<p>The OP referred to the notion of there being no manual; we have to figure out how to use the tool ourselves.<p>A traditional programming tool manual would explain that you can provide input X and expect output Y. Do this, and that will happen. It is not so clear-cut with AI tools, because they are -- by default, in popular configurations -- nondeterministic.
Non determinism of AI feels like a compiler which will on same input code spit out different executable on every run. Fixing bugs will become more like a ritual to satisfy whims of the machine spirit.
But how different? Compilers do, in fact, spit out different binaries with each run. There are timestamps and other subtle details embedded in them (esp compiler version and linking) that make the same source result in a different binary. "That's different"; "that's not the same thing!" I see you thinking. As long as the AI prompt "make me a login screen" results in a login screen appropriate for the rest of the code, and not "rm -rf ~/", does it matter if the indeterminism produces a login page with a Google login page before the email login button or after?
Also interesting is the possibility that a 10x boost for person A might still be slower than person B not using AI.
i know how he feels :/
I for one am not using AI, will not touch that steaming pile of manure with a 10 yard stick, and I couldn't care less about the so called magnitude 9 earthquake. When this bubble finally bursts into nothingness, I'll be still here practicing my craft and providing real value for my clients.
Behind who?<p>Is there someone already mastering “agents, subagents, their prompts, contexts, memory, modes, permissions, tools, plugins, skills, hooks, MCP, LSP, slash commands, workflows, IDE integrations, and a need to build an all-encompassing mental model for strengths and pitfalls of fundamentally stochastic, fallible, unintelligible and changing entities suddenly intermingled with what used to be good old fashioned engineering” ?<p>And do they have a blog?
> Behind who[m]?<p>Why, the other rats in front of you in the race, of course!<p>As the pithy, if cheese expression goes, read not the times; read the eternities. People who spend so much time frantically chasing superficial ephemera like this are people without any sense of life's purpose. They're cogs in some hellish consumerist machine.
I have been using Copilot, Cursor, then CC for a little more than a year now. I have written code with teams using these tools and I am writing mostly for myself now. My observations have been the following:<p>1) These tools obviously improved significantly over the past 12 months. They can churn out code that makes sense in the context of the codebase, meaning there is more grounding to the codebase they are working on as opposed to codebases they have been trained on.<p>2) On the surface they are pretty good at solving known problems. You are not going to make them write well-optimized renderer or an RL algorithm but they can write run-of-the-mill business logic better _and_ faster than I can-- if you optimize for both speed of production and quality.<p>3) Out of the box, their personality is to just solve the problem in front of them as quickly as possible and move on. This leads them to make suboptimal decisions (e.g. solving a deadlock by sleeping for 2 seconds, CC Opus 4.5 just last night). This personality can be altered with appropriate guidance. For example, a shortcut I use is to append "idiomatic" to my request-- "come up with an idiomatic solution" or "is that the most idiomatic solution we can think of." Similarly when writing tests or reviewing tests I use "intent of the function under test" which makes the model output better solution or code.<p>4) These models, esp. Opus 4.5 and GPT 5.2, are remarkable bug hunters. I can point at a symptom and they come away with the bug. I then ask them to explain me why the bug happens and I follow the code to see if it's true. I have not come across a bad bug, yet. They can find deadlocks and starvations, you then have to guide them to a good fix (see #3).<p>5) Code quality is not sufficient to create product quality, but it is often necessary to sustain it. Sustainability window is shorter nowadays. Therefore, more than ever, quality of the code matters. I can see Claude Code slowly degrading in quality every single day--and I use it every single day for many hours. As much as it pains me to say this, compared to Opencode, Amp, and Toad I can feel the "slop" in Claude Code. I would love to study the codebases of these tools overtime to measure their quality--I know it's possible for all but Claude Code.<p>6) I used to worry I don't have a good mental model of the software I build. Much like journaling, I think there is something to be said about the process of writing/making actually gives you a very precise mental model. However, I have been trying to let that go and use the model as a tool to query and develop the mental model post facto. It's not the same but I think it is going to be the new norm. We need tooling in this space.<p>7) Despite your own experiences with these tools it is imperative that they be in your toolbox. If you have abstained from them thus far, perhaps best way to get them incorporated is by starting to use them for attending to your toil.<p>8) You can still handcraft code. There is so much fun, beauty and pleasure it in to deny doing it. Don't expect this to be your job. This is your passion.
Yeah. OR. You just ignore the bullshit until the bubble burst. Then we'll see what's left and it will <i>not</i> be what the majority think.
The "bubble" is in the financial investment, not in the technology. AI won't disappear after the bubble bursts, just like the web didn't disappear after 2000. If anything, bursting the financial bubble will most likely encourage researchers to experiment more, trying a larger range of cheaper approaches, and do more fundamental engineering rather than just scaling.<p>AI is here to stay, and the only thing that can stop it at this stage is a Butlerian jihad.
AI has been here long before LLM’s… also I dislike the people seemingly tying the two terms together as one.
Not even Butlerian Jihad will stop the current progress at this point.
I maintain, the web today is not what people though it would be in 1998. The tech has it's uses, it's just not what snake oil sellers are making it to be. And talking about Butlerian jihad is borderline snake oil selling.
There seems to be a lot of churn, like how js was. We can just wait and see what the react of llms ends up being.
Man, this is giving me a cognitive dissonance compared to my experiences.<p>Actually, even the post itself reads like a cognitive dissonance with a dash of the usual "if it's not working for you then you are using it wrong" defence.
I feel exactly like Karpathy here. I have some work to do, and I know exactly what I need to do, and I'm able to explain it to AI, and the AI seems to understand me (I'm lately using Opus 4.5). I wrote down a roadmap, it should take me a few weeks of coding. It feels like with a proper workflow with AI agents, this work should be doable in one or two days. Yet, I know by now that it's not going to be nearly that fast. I'll be lucky if I finish 30% faster than if I just code the entire damn thing myself. The thing is, I am a huge AI optimist, I'm not one of the AI skeptics, not even close. Karpathy is not an AI skeptic. We just both feel this sense of possibility, and the fact that we can't make AI help us more is frustrating. That's all. There's no telling anyone else "it's on you if you can't make it work for you". I think Karpathy figured out by now, and at least I did, that the number of AI skeptics by now far outnumbers the number of AI optimists, and it has become something akin to a political conviction. It's quite futile to try and change someone's mind about whether AI is good, bad, overhyped, underused, etc. People picked their side and that's that.
I think you articulated perfectly why it's a bubble and why execs are so eager to push it everywhere. It's so alluring, it constantly feels like we're on the verge of something great. No wonder so many people have their brains fried by it.
“We just both feel this sense of possibility, and the fact that we can't make AI help us more is frustrating”<p>The mirage is alluring.
I think of it this way. If you dropped Einstein with a time machine two thousand year ago, people would think he is some crazy guy doing scribbles in the sand.
No one would ever know how smart he is. The same is with people and advanced AGI like Gemini 3 Pro or Chatgpt 5.2 Pro.
We are just dumber than them.
> We are just dumber than them.<p>you are, for sure.
Why do you think the models are AGI?<p>I also like to think that Einstein would be smart enough to explain things from a common point of understanding if you did drop him 2000 years in the past (assuming he also possesses the scientific knowledge humanity accrued in that 2000 year gap). So, your analogy doesn't really make a lot of sense here. I also doubt he'd be able to prove his theories with the technology of the past but that's a different matter.<p>If we did have AGI models, they would be able to solve our hardest problems (assuming a generous definition of AGI) even if we didn't immediately understand exactly how they got there. We already have a lot of complex systems that most people don't fully understand but can certainly verify the quality of. The whole "too smart for people to understand that they're too smart" is just a tired trope.
You are certainly dumber than them if you think they are AGI. These models are smart and getting smarter, but they are not AGI.
You think they have “advanced AGI” and are worried about keeping up with the software industry? There would be be nothing to keep up with at that point.<p>To use an analogy, it would be like spending all your time before a battle making sure your knife is sharp when your opponent has a tank.
> There's a new programmable layer of abstraction to master (in addition to the usual layers below) involving agents, subagents, their prompts, contexts, memory, modes, permissions, tools, plugins, skills, hooks, MCP, LSP, slash commands, workflows, IDE integrations, and a need to build an all-encompassing mental model for strengths and pitfalls of fundamentally stochastic, fallible, unintelligible and changing entities suddenly intermingled with what used to be good old fashioned engineering.<p>Slop-oriented programming
"I've never felt this much behind as a programmer. The profession is being dramatically refactored as the bits contributed by the programmer are increasingly sparse and between. I have a sense that I could be 10X more powerful if I just properly string together what has become available over the last ~year and a failure to claim the boost feels decidedly like skill issue. There's a new programmable layer of abstraction to master (in addition to the usual layers below) involving agents, subagents, their prompts, contexts, memory, modes, permissions, tools, plugins, skills, hooks, MCP, LSP, slash commands, workflows, IDE integrations, and a need to build an all-encompassing mental model for strengths and pitfalls of fundamentally stochastic, fallible, unintelligible and changing entities suddenly intermingled with what used to be good old fashioned engineering. Clearly some powerful alien tool was handed around except it comes with no manual and everyone has to figure out how to hold it and operate it, while the resulting magnitude 9 earthquake is rocking the profession. Roll up your sleeves to not fall behind."
[flagged]
I don't usually post something like this, but this is so fucking stupid. I'm prepared to stand by that. Let's see in a few years if I'm right.<p>"AI" is literally models trained to make you think it's intelligent. That's it. It's like the ultimate "algorithm" or addiction machine. It's trained to make you think it's amazing and magical and therefore you think it's amazing and magical.
This could apply if we looked at questions in vacuum - someone had a conversation and was judging the models based on that. But some of us just use it for work and get good results daily. "Intelligent" is irrelevant; it's "useful". It doesn't matter what feelings I have about it if it saves me 2h of typing from time to time.
To me, as just another kinda old (I’m 49) swe, the biggest benefit of using an LLM tool is it saves a shit ton of typing. I know what I want and I know when it’s right, just saving me from typing it all out is worth $20 bucks a month.
It’s trained to (lossy) compress large amounts of data. The system prompts have leaked and it’s just instructed to be helpful, right? I don’t entirely disagree with your sentiment, though. It’s brute force.
I have been telling everybody I know over the Christmas break that I have been coding from around 10-36 years of age, as a career and always in my spare time as a hobby. I have a lacklustre computer science knowledge and never worked at the scale of FANG etc but am still rather confident in my understanding of code and the tech scene in general. I've been telling people I haven't "coded" for almost 6 months now, I only interface with agentic setups and only open my IDE to make copy and config changes.<p>I understand we are all in different camps for a multitude of reasons;<p>- The jouissance of rote coding and abstraction<p>- The tree of knowledge specifically in programming, and which branches and nodes we each currently sit at in our understanding<p>- Technical paradigms that humans may have argued about have now shifted to obvious answers for agentic harnesses (think something like TDD, I for one barely used that as a style because I've mostly worked in startups building apps and found the cost of my labour not worth it, but agentic harnesse loops absolutely excel at it)<p>- The geography and size of the markets we work in<p>- The complexity of the subject matter / domain expertise<p>- The cost prohibitive nature of token based programming (not everyone can afford it, and the big fish seemingly have quite the advantage going fourth)<p>- Agentic coding has proven it can build UI's very easily, and depending on experience, it can build a very very many things easily. it excels in having feedback loops such as linting or simple javascript errors, which are observability problems in my opinion. Once it can do full stack observability (APM, system, network), it's ability to reason and correct problems on the fly for any complex system seems overly easy from my purvue.<p>- At the human nature level, some individuals prefer to think in 0's and 1's, some in words, some inbetween, and so on, what type of communication do agentic setups prefer?<p>With some of that above intuition that is easily up for debate, I've decided to lean 100% into agentic coding, I think it will be absolutely everywhere and obviously with humans in the loop but I don't think humans will need to review the pull requests. I am personally treating it as an existential threat to my career after having seen enough of what it's capable of. (with some imagination and a bit of a gambling spirit, as us mere mortals surely can't predict the future)<p>With my gambit, I'm not choosing to exit the tech scene and instead optimistically investing my mental prowess into figuring out where "humans in the loop" will be positioned. Currently I'm looking into CI level tooling, the known being code quality, and all the various forms of software testing paradigms. The emerging evals in my mind will keep evolving and beyond testing our ideas of model intelligence and chat bot responses will do a lot more.<p>---<p>A more practical rant: If you are building a recommendation engine for A and B, the engine could have X amount of modules that return a score which when all combined make up the final decision between A and B. Forgive me but let's just use dating as an example. A product manager would say we need a new module to calculate relevance between A and B based off their food preferences. An agentic harness can easily code that module and create the tests for it. The product manager could ask an LLM to make a list of 1000 reasons why two people might be suitable for dating. The agent could easily go away and code and test all those modules and probably maintain technical consistency but drift from the companies philosophical business model. I am looking into building "semantic linting" for codebases, how can the agent maintain the code so it aligns with the company's business model. And if for whatever reason those 1000 modules need to be refactored, how can the agent maintain the code so it aligns with the company's business model. Essentially trying to make a feedback loop between the companies needs and the code itself. To stop the agent and the business from drifting in either directions, and allowing for automatic feedback loops for the agent to fix them. In short, I think there will be new tools invented that us human's will be mastering as to Karpathy's point.
The thing that always trips me up is the lack of isolation/sandboxing that all of the AI programming tools provide.
I want to orchestrate a workforce of agents, but they can't be trusted not to run amok.<p>Does anyone have a better way to do this other than spinning up a cloud VM to run goose or claude or whatever poorly isolated agent tool?
I'm working on a solution [0] for this. My current approach is:<p>1. Create a new Git worktree<p>2. Create a Docker container w/ bind mount<p>3. Provide an interface for easily switching between your active worktrees/containers.<p>For credentials, I have an HTTP/HTTPS mitm [1] that runs on the host with creds, so there are zero secrets in the container.<p>The end goal is to be able to manage, say, 5-10 Claude instances at a time. I want something like Claude Code for Web, but self-hosted.<p>[0]: <a href="https://github.com/shepherdjerred/monorepo/tree/main/packages/multiplexer" rel="nofollow">https://github.com/shepherdjerred/monorepo/tree/main/package...</a><p>[1]: <a href="https://github.com/shepherdjerred/monorepo/pull/156" rel="nofollow">https://github.com/shepherdjerred/monorepo/pull/156</a>
I have seen Claude disable its sandbox. Here is the most recent example from a couple of weeks ago while debugging Rust:
"The panic is due to sandbox restrictions, not code errors.
Let me try again with the sandbox disabled:"<p>I have since added a sandbox around my ~/dev/ folder using sandbox-exec in macOS. It is a pain to configure properly but at least I know where sandbox is controlled.
That refers to the sandbox "escape hatch" [1], running a command without a sandbox is a separate approval so you get another prompt even if that command has been pre-approved. Their system prompt [2] is too vague about what kinds of failures the sandbox can cause, in my experience the agent always jumps straight to disabling the sandbox if a command fails. Probably best to disable the escape hatch and deal with failures manually.<p>[1] <a href="https://code.claude.com/docs/en/sandboxing#configure-sandboxing" rel="nofollow">https://code.claude.com/docs/en/sandboxing#configure-sandbox...</a><p>[2] <a href="https://github.com/Piebald-AI/claude-code-system-prompts/blob/main/system-prompts/tool-description-bash-sandbox-note.md" rel="nofollow">https://github.com/Piebald-AI/claude-code-system-prompts/blo...</a>
If they cannot be trusted, why would you use them in the first place?
Obviously people perceive value there, but on the surface it does seem odd.<p>"These things are more destructive than your average toddler, so you need to have a fence in place kind of like that one in Jurassic Park, except you need to make sure it absolutely positively cannot be shut off, but all this effort is worthwhile, because, kind of like civets, some of the artifacts they shit out while they are running amok appear to have some value."
It’s shocking the collective shrug I get from our security people at work. I attend pretty serious meetings about genAI implementations and when I ask about points of view around security given things as crazy as “adversarial poetry” is a real thing I just get shrugs. I get the feeling they don’t want to be the ones to say “no, don’t bring genai to our clients” but also won’t dare say “yes, our client’s data is safe with integrated genai”.
Love the mix of metaphors.
I run them inside a sandbox
<a href="https://github.com/ashishb/amazing-sandbox" rel="nofollow">https://github.com/ashishb/amazing-sandbox</a>