This resonated with me as someone who: has read the book of 5 rings (translated), has done quite a lot of martial arts and has been coding for ~50 years.
I work for myself developing apps and selling online. So I have no employer pushing to use AI. But I feel a bit like a dinosaur watching the incoming comet.
Currently, I just use MSCopilot as enhanced StackOverflow and I find it useful for that. But I have been nowhere near Cursor, Claude, harnesses, agents or 'vibe coding'.
It seems my options are:
1. Keep use AIs as an enhanced StackOverflow (e.g. to answer questions about APIs)
2. Embrace the new AI coding tools
Really not convinced about option 2. I don't trust AIs with code bases that I have built over 20 years. Also, I'm not far off retiring and I'm not sure I can be bothered to completely change how I work (again). Would be interested to hear what conclusions any fellow coding dinosaurs have come to.
John Carmack is a personal hero of mine, so it pains me to say this:
Carmack hasn't produced anything noteworthy since AI was invented, therefore, how productive can it really be?
It could be he is doing incredible work in private... but it could also be that he's lost in the weeds, because AI is so counterproductive while feeling the opposite?
I mean his post boils down to "Get on the bandwagon because you might otherwise miss out. All the cool kids do AI now."
There are valid concerns there (and you should probably be playing around with LLMs), but he voiced none of them. He just led with a metaphor about obsolescence and then continued spreading FOMO with an authoritative voice.
That AI still hasn't made my effort and thinking and directing and checking and ideas completely redundant and thus out of job?
It's like you people see everything in black and white and miss that most of the real world is a gradient of shades of grey and quite never full black or white.
What complain? OP asked a question. Carmack created Doom, Quake in 2, 3 years. What have he created in 4 years of AI? Should be exceptional if one of the most productive programmers ever says it makes him more productive.
> It's like you people see everything in black and white and miss that most of the real world is a gradient of shades of grey and quite never full black or white.
I’d go even further. Shades of grey implies two extremes on a linear scale, but the world has colour, meaning wildly different interpretations that go in novel directions.
However, ironically, your comment reads to me as extremely black and white—full of certainty, rigidity, possibly some bad faith interpretation and straw manning—while the one you’re criticising has (some) nuance and doubt and seems open to the idea of being wrong.
Sure, among all these other people doing 'incredible work' for 30+ years publicly, well into their 50s, John Carmack sure is a disappointment by comparison.
I sense sarcasm. But I think you misinterpreted the parent’s point. I read it as: yes, Carmack has made huge contributions but, has not publicly released anything noteworthy since the advent of AI coding. Of course that doesn’t mean he won’t, just that so far nothing he released has backed up his statement.
Can you imagine a football fan going up to Ronaldo and saying hey, I saw an interview you did last week - I think you may be lost in the weeds there with your training regimen and outlook. I want to let you know - I remain a skeptic.
I mean, when you start scoring goals like you did 5 years ago Ronaldo, but until then, I remain a skeptic about that training regimen.
As for misinterpreting - maybe you're misinterpreting. Or maybe it's unproductive and dare I say presumptuous to reply to people you know nothing about with 'you're probably wrong and I'm probably right'. Do you do that in real life? Working out great, I can only assume given you've adopted a similar approach here, or?
Edit: Had to re-read a bunch of stuff about Musashi, and to Carmack's credit, seems to have been a relatively pragmatic guy when it comes to the choice of weapons in a battle, talking both about the benefits and drawbacks of firearms (although they were slightly different ones than we have today)
We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
I love being able to quickly bring out the program that is already running in my head without having to worry about the grind of typing it into a format that the compiler understands. Dealing with API names. Syntax. Language quirks. Library gotchas. A sizeable portion of my successful career as a software engineer was spent on the tiresome process of interacting with a text editor/IDE to get a program to do what I wanted.
I was there when people were still coding assembly. A slow torture where the simplest things took forever to get right.
Once I've mentally solved the problem, the fun is mostly over for me. Pure vibe coding is dull and unsustainable with current technology for all but the simplest systems; AI-assisted coding, on the other hand, rekindled my passion for computers.
I like your constructive outlook and I want to believe that we can now focus on the bigger picture, but I'm not really seeing it around me. Most everyone I know that's "AI-pilled" has spent the newfound capacity on throughput instead of altitude.
Is anyone actually seeing a shift towards improved structure rather than more code, faster? We seem to be living in the Gatling-gun version of the picture John Carmack drew when modernity also ushered into precision marksmanship...
Are those people working on products or platforms? Platforms still have to be rock solid and deliver performance guarantees to the products built on top of them.
The people who are using AI to improve what they were already doing anyway, aren't going around expounding "I made this with AI!"
Like one of my personal projects is a sort of "middleware" for Godot, and it needs to be lean, precise and match certain rules, because it's meant to be used by many games, so I can't blindly trust AI to generate code for it, it'd be too sloppy,
BUT Codex reviews have been a great help in finding bugs that would have taken me ages to even notice on my own. Some of those AI findings helped me overhaul entire subsystems, still manually coded.
>> Is anyone actually seeing a shift towards improved structure rather than more code, faster?
Yes. At work we recently finished a complete rewrite of the platform. The old codebase got abandoned and two new codebases got stood up. Previous stack was Phoenix LiveView and the new one is Phoenix API + Vue /w TypeScript. Zero code shared between the two. We took the opportunity to re-architect a lot of the core functionality and get rid of the tech debt that had been hounding us and killing our velocity for the past six years.
We finished the rewrite in two months. A little over 700k LoC total. 95% of it was planned, orchestrated and written by AI. We could have gotten it done faster, but we were well aware of the potential for slop and thus paid an absurd amount of attention to (and tokens for) code quality. For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous, plus a ton of invariants enforced via deterministic checks. Everything from standard linting and formatting rules to AI-necessitated stuff like "comments cannot be more than five lines each" is in there. At the end of each week, we get together for ~30 minutes to review each bug that was fixed that week (there haven't been that many) and try to figure out if more deterministic checks can be added (or new ones extended) to prevent that class of bug from re-appearing. We actually have an Architecture epic with a dedicated Fable agent orchestrating all the initiatives and tickets in it and keeping track of improvements (and the occasional regression). So things like accessibility, usage of shared helpers, enforcement of common patterns, etc. are all kept track of.
The difference between the old codebase and the two new ones has been night and day. The new codebases, combined, are ~35% larger than what we had before, and yet there are way fewer bugs (we actually got suspicious at first and had to check to make sure our logging instrumentation was configured correctly). Performance is also stellar, features have been a lot easier to add and extend, and everything is a lot easier to find. When someone asks a question or has an issue we have a pretty good idea of what part of the codebase to look in and we're usually right.
It wasn't all unicorns and rainbows. Not everyone on the team was proficient with AI-driven development, so they had to be brought up to speed quickly and taught the tools and also what works and doesn't. Code reviews were also difficult and time-consuming. We had to deal with our anxieties about working in two new codebases none of us had authored much code in ourselves. What made all of it worse was that we were racing towards a deadline imposed by external factors so we all ended up working a lot of hours. It was essentially between getting it done this summer or waiting until next summer and we bit the bullet and did it. It absolutely would not have been possible without AI.
That is interesting, but... is it actually improving structure?
We're mid-way through a similar process at work. Rewriting a legacy app in a new language, with new architecture and new features.
And it's a mess.
We're at 10x loc (admittedly, the new programming language is more verbose than the old one), comments make no sense. Yes, we have ~100% coverage, but most of the tests are meaningless. The agent keeps removing our tests to replace them with tests that are easier to pass, breaking code invariants, removing all the engineered data structures and replacing them with stringly-typed code, etc.
And of course, given the number of LoC (and the fact that the agent rewrites so much code all the time), it's physically impossible that all of them were reviewed by a human being.
AI made it possible, insofar as upper management would never have greenlit the project without AI, but I can't escape the feeling that we're building on quicksands.
Could you share more about how you guys set up the rewrite? I am interested in the shape of the software as well as how you achieved (or aimed to achieve) high quality.
Assuming the LLM never got anything wrong or otherwise had to be re-prompted, that means your devs were reviewing 130 SLOC per hour, on what was described as moderately greenfield (examining new implementations rather than comparing to old historical accidents).
How?
I don't want to sound flippant, but if the point is to add human thought to the mix, that's a high review rate even when examining small tweaks to an existing, working product, even with substantial AI help to pre-filter major gotchas before you bother spending a lot of human effort on the review. That's only 20-30wpm, but a review isn't just scanning or reading code, especially if you're trying to figure out how a new system which doesn't run yet will fit together.
Is that actually a high review rate? Especially if you know the language and domain. Sure, initially there's a learning curve for a new codebase structure, but lots of lines will also be trivial and many changes might also be similar to each other.
For small separate changes in isolation then maybe it's ok? But not for whole days 8 hours each.
But then you need to watch for bugs coming from interaction with previous changes and in 700k loc that might be nontrivial. How do you know which states are reachable and which are not? That takes time.
It only takes a botched condition here (forgot a "not"? swapped "and"/"or"?), a swapped variable name there, code that looks ok, but isn't.
> We could have gotten it done faster, but we were well aware of the potential for slop and thus paid an absurd amount of attention to (and tokens for) code quality. For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous, plus a ton of invariants enforced via deterministic checks.
This is why my current view in terms of LLM productivity gains are:
- debugging and triaging 5x
- refactoring when you have tests in place 3x
- greenfield where you have zero tests is about 1.5x
> For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous,
look, your application works, right? so it doesn't really matter what you or i think, and this is why AI matters. but this, your "100% test coverage" - that is pure slop. just 20 years ago, all the most popular software shipped with NO tests. are you getting it?
> just 20 years ago, all the most popular software shipped with NO tests
not sure what you're point is here. It sounds similar to "we use to use blood letting and leeches and doctors didn't clean their hands and everything was fine so what are you getting at?"
Good tests have real benefits. The fact that people shipped without them in the past in no way suggests they aren't needed or have no point.
Also, 20 years ago SW was tested by QA department and approved before shipping. Don't want to go back to that, but there were testing, just differently.
IMHO getting rid of proper QA done by teams of QA specialists is the main reason for the current software quality crisis (and that already started 15 years ago or so). We should go back to QA teams and proper QA procedures! Automated tests are no replacement, especially when they are set up by the same people designing and building the product.
> just 20 years ago, all the most popular software shipped with NO tests. are you getting it?
Not really?
About 20 years ago, I was working on Firefox and we had millions of tests on CI. I was working on a host of other open source apps and they all had tests (most of them had no CI, of course).
>> but this, your "100% test coverage" - that is pure slop.
Not really, but I can see why some people think that.
We treat 100% test coverage as "required, but by itself not sufficient". It doesn't give us false confidence that everything will be perfect or anything like that. But it provides us with the discipline to make sure no corners are cut, and the bugs that are fixed don't come back.
One refreshing aspect was that during PR reviews we stopped debating whether something needed test coverage. Instead we focused on what was being tested and how.
> One refreshing aspect was that during PR reviews we stopped debating whether something needed test coverage.
I’d be curious to know what percentage of the time spent implementing tests would have otherwise gone to discussions about whether to implement them or not. ;)
>AI-assisted coding, on the other hand, rekindled my passion for computers.
I would be interested to know what you mean by AI-assisted coding.
I've been coding for 50 years (40 professionally) and maintain several largish C++ code bases for commercial apps. There is no way that I am going to let an AI scan (train on), let alone edit, my code. But I do ask MSCoPilot questions, basically using it like turbo-charged StackOverflow. And I do get some value from that, even if it is often wrong. Is that what you mean?
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
Focusing on data structures, architecture and algorithms is what competency in programming has looked like since forever. Building systems out of smaller pieces gets you there.
If your complaint above is that you were struggling with syntax and reading documentation, one might ask if you failed to progress past beginner levels, and now AI is just your cheat-code?
> Focusing on data structures, architecture and algorithms is what competency in programming has looked like since forever
yes, being able to bang out leetcode hard from head on an interview on paper matters so much... oh wait. it does not.
in the real world, outside of interview questions, it hardly matters. when it comes there, I'll optimizite it, but getting the first system up and running in a way I want is way more fun & challenging. need a lock free ringbuffer? I'll look up what's the latest way to build it. or just ask my AI.
I think you are not interpreting GP in the most charitable way. He simply said that not having to manually write all the code lets him spend his energy on bigger things. That is different from "struggling with syntax".
It is the same. I mean many mainstream languages made thinking in datastructures hard. Not a coincidence why functional languages, Haskell, F#, OCAML, Scala, Clojure, LISP, etc. had their enthusiast, as they felt just like what you claim.
The datastructures already did the heavy lifting. The syntax was not something to struggle with, but it was the natural way to stick the bits together.
JavaScript for one never gave me this feeling, and I always felt that either the language, or the libraries, but something was always a struggle to overcome. (Python too... seriously, working with collections is a pain in the "pythonic" way for someone who has experienced LINQ... and for most line of business apps it is all about working with collections.)
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
That would be lovely.
It's sad that we're being forced to vibe code, though, because my day-to-day experience of that is that the agent does not respect the data structures I feed it, nor the architecture, nor the algorithms.
> Pure vibe coding is dull and unsustainable with current technology for all but the simplest systems; AI-assisted coding, on the other hand, rekindled my passion for computers.
I kinda of agree, but still believe that writing most of the critical code yourself has long term benefits (both for you and the code you write). IME the initial mental model hardly survives contact with reality and all those little micro decisions that come up during implementation are good to do on your own and have in your own head instead of being buried in a MEMORY.md where no human ever ventures.
It depends of course where the code sits between "critical bedrock code" and "high level throwaway code".
E.g. the lower level the code, the more I want to get directly involved, even wgen that means typing each line manually.
Also you should try assembly coding with modern (non-LLM) tooling, it feels incredibly more productive than on 30..50 years ago ;)
Also:
> software engineers can focus on data structures, software architecture and algorithms.
Come on, this is was already the case decades before LLMs, that's why an entire zoo of high level languages were created.
I’m the opposite. I don’t believe there is a royal road to understanding anything. For me, the process of programming involves frustration. That is usually when I find my greatest insights.
Syntax isn’t a big deal. Names either. You can look them up. Remember them. Language gotchas are annoying and sometimes problematic.
To me, our job is understanding problems. And for me, understanding the problem involves wrestling with the code. I learn much from modelling problems in code, building theories, testing them.
Once an LLM system has generated some code I haven’t learned anything. Even when I read through the solution. It doesn't require the same activation of my brain. There’s nothing quite like working through the problem yourself.
LLMs definitely feel like they are draining my passion for computers. There were plenty of folks who checked out or were never truly passionate about programming. Now they’re louder than ever. “Nobody cares about code,” and, “optimizing is a waste of time.” Now we don’t even want to understand how it works, or whether it works at all. They repeat the lines their master have told them: get on board or get left behind.
I’m pretty sure I am risking getting, “left behind.” But I’m okay with that. The tech is truly the least interesting thing to me. If I don’t have a career in 10 years… oh well. I’ll still be programming.
The possibility to have an agent implement every little thing that comes up in your mind as you're building doesn't spark the tiniest bit of joy? Previously, "ooh it would be cool if" had to answer to "yeah but it'll take too long". Now, it's more like, "how important is that really?" to stupid ideas that never would have seen the light of day before.
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
That exact sentence could have been said 20 years as well as 40 years ago. I don't know how you programmed pre-LLM, but line-by-line has long been a thing of the past, if it ever existed. I'm sure the folks creating the Apollo software were thinking a lot about data structures, software architecture and algorithms.
a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want. AI just made it 50x better, as exactly as you said, we don't need to deal with the useless junk (what's the API syntax? what's the library syntax? oh it changed in the last 3 versions, let me look up the new API, this and that...).
> a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want
I expect "a lot of people" understand perfectly well that that's where the joy comes from for you. Do you not understand that other people have different motivations?
Crafting code in your preferred language in a way that it is easily understood by others or fulfills some other constraints while doing whatever algorithm requires can be as fulfilling as writing poetry.
I can write „you live, you die, get over with it, life is hard, love hurts” - it basically encodes all wisdom of countless poems, books. Yet I have seen many people getting that idea better when the knowledge of this simple truth is in a form of a story.
Conversely, if you write an algorithm using better structure, better data structures it makes a lot of difference.
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
I prefer an AI that is good at data structures, architecture and algorithms. Then, finally, no more leetcode.
Have you tried live programming (smalltalk, LISP)? Or a proper Edit-Compile-Run cycle with a good editor?
A lot of people are bashing old practices, but from y standpoint, it always seems like a lack of proper (usage of) tooling to streamline the coding phase of building software.
Dear sir, I appreciate the help but, as I mentioned, I've been around since the Assembly days... Been there, done that. I currently have a crazy efficient Edit-Compile-Run setup and a great VSCode personal config, all of which were made a lot more crazy efficient with Codex.
> AI-assisted coding, on the other hand, rekindled my passion for computers.
AI-assisted coding isn't a thing. Why would anyone pay you to code when your competitor spends 1 minute spelling out a problem and doing the same thing for 59 more problems?
As far as I'm concerned coding is dead as a profession, now we are Harness Managers.
Everyone who writes enthusiastically about AI already has the benefit of having worked without AI. They have been schooled in the basics. Enough of us know about data structures, concurrency, networks, language design etc. from the ground up that the knowledge is passed on. I worry about the world that we will be living in when a whole generation has skipped learning the basics the hard way. Given the attendance rates at various educational institutions, I fear that day is already here.
Right, I weirdly feel like we are entering an era where industry doesn’t invest that much in training the next generation - it feels like a rich getting richer scenario in all aspects of society
I think mathematics is feeling that concern with training acutely. The average math department pays its way by teaching in all forms and all levels: they don’t bring in the magnitude of grant money that concretely impacts a university’s budget. But they are already dealing with the consequences of that - that’s why universities that are cutting due to “low student demand” are going after math programs.
> Have you been schooled in farming? Raising livestock? Milking cattle? Does your ability to cook good food ...
Pushing that analogy, AI is the equivalent of automating everything from tilling, growing, all the way to cooking. It is as if the human is involved at the beginning in specifying what they want, and at the end, in plating up the food and consuming the product. The next generation will have no clue about the entire farm-to-table chain.
It's not there yet, but rapidly making it a reality.
Also, there is no one "tech". Different pieces of technology have different levels of effect on the world, and different timelines in which the world can come to terms with it. AI is the thermonuclear weapon introduced to a musket world ... it came upon us suddenly, and instantly flattened the talent/merit based economy. Now everyone has access to the same exoskeleton; the difference between muscles is not important.
The second huge difference between AI (and ordinary tech) is that a literal handful of people are in control of its economics. That kind of power breeds fascism.
> That's a problem with society, not technology.
Semantics. The tech directly enables the incredible power imbalance, and helps seize the means of consensus and debate and reporting. There is no incentive/mechanism left to fix society. An advanced society like the US is weaponized against vaccines, and social media and AI are to blame.
Ironically, this post comes off as out of touch. The purpose of the various martial arts isn't just to win in a life-or-death brawl or murder people as efficiently as possible. Similarly, the point of programming isn't just to generate as much code as possible, or only to be more "productive".
In Musashi's era, meaning the late 1500s, kendo (sword fighting) was absolutely about being as "productive" (read: lethal) as possible.
As it happens, this was also the era when firearms had just been introduced to Japan. In 1575 Oda Nobunaga demolished the Takeda cavalry at the Battle of Nagashino, marking the first time firearms had been used at scale in Japanese combat, and in 1600 Musashi participated in the decisive Battle of Sekigahara where both sides used them extensively.
The end of the Sengoku Jidai was triggered by a warlord (Nobunaga) who equipped his armies with massed ashigaru levies armed with long spears and tanegashima arquebuses. It was absolutely a technological brawl where the valiant highly trained cavalry of warlord's like Takeda Shingen got mowed down by the bullets of musketeers stationed behind well prepared and covered firing positions.
If it was still going on today, the warlords would be adopting drone warfare and vibecoded 3d printed cruise missiles.
Code in most organizations is a means to an end to produce an actual product.
The job of a SWE is to not produce the most sublime readable code with cute language bells and whistles that you can show off to your other programmer friends. Yes its fun to do and interesting, but the main value in writing code is to express your intent so you and other people that are working with you can actually build something of value.
Software has value to the people on your team reading it. The product that you create with your software has a far wider impact than just that. As such, there is for _sure_ optimization pressure on "professional software engineering" to be more productive and actually make the product better to use, faster, with more features users like. The user typically does not care that you used a new C++26 feature, as much as I enjoyed writing it for them.
If I can produce features for users faster and I can iterate on them faster, this is a boon to me. I can program by hand for fun all I want in my spare time, but if I want to produce value for someone else, it is economically infeasible for me to be a luddite, and I will simply be outcompeted. Previously you were outcompeted by smarter teams who out executed you (and who also worked more), and now you can be out executed by basically anyone using an LLM who actually understands that the end goal is making a product that is pleasant to use and actually has utility, not code that is pleasant to read.
You can be an "performative/artisanal programmer" just as you can do "performative/artisanal martial arts." Just know that there will not be a large market for it in the real world.
You're reducing programming to its utility in producing exchange value in the captitalist political economy. That's what "value" means in this context. That's exactly what I'm pointing out. Programming is more than that, if you can think beyond your current economic constraints. Your life's activity ought to be more than just a tool for producing capitalist exchange value.
Does cooking food serve any purpose beyond mass producing food for restaurants to sell?
People are used to paying for food. They delight in paying more for highly rated Michelin starred food, even. Software is the opposite. People really really hate paying for software. It should all be free! The fact that making an additional copy of a piece of software is basically free vs creating an additional plate for dinner is very much not, has a lot to do with that. For sure. But it also means that I don't see a future where the "capitalist political economy" truely "values" aka pays seriously good money for a bespoke, handcrafted, no AI slop here, version of Photoshop to be run only once, and then you poop it out later.
Products in most organizations are an end to making profit.
The job value of an SWE is to maximize that profit. It doesn't matter if the product is better to use, faster, with more features users like - that's an early 20th century model of value production.
What matters is how much money the company can extract from its customers, and how little it can pay its employees. Use dark patterns, increase lock-in, and switch to a rental system with recurrent payments. Minimize employee benefits, require broad non-compete agreements, have long vesting periods and lay people off before its reached, or simply fire them and order the others to pick up the slack using AI.
If you want to write software meant to please the user, do that for fun in your spare time -- though remember that your employer still owns your IP, so it's not like you can create a market competitor.
Alas, the above was meant in sarcasm but is all too true.
The Luddites were not opposed to machines. They were opposed to bad labor practices, with machine-breaking as way of applying pressure on employers.
As someone who did train one of the traditional martial arts for a few years, I appreciate the comparison.
I don't know how much weight your "just" is meant to carry, but I remember a culture of cope and excuses about why "my" flavor wasn't the winner of any MMA event.
But at least I got some exercise, strength, and flexibility out of it.
I think it's an interesting analogy, not to be dismissed so easily.
I don't see him saying the point is volume of code. I see AI generating code, and if I question it, it can justify design choices pretty well. I can give it bug symptoms, and it can find and fix the bug. Usually.
But yes, the analogy breaks down in the fact that I understand what it's saying and understand when it's wrong, because I learned it in the first place.
Or maybe it doesn't break down completely. If an MMA (AI) tells me to move in a way where I know I'll lose my balance, or over extend, I will say no, because of my previously acquired experience.
This post reminded me of the story about Jeet Kun Do [0] after Bruce Lee [1] died.
JKD was supposed to be a martial art that adapted the best techniques from other martial arts. e.g. "have no style" because your style is constantly adapting.
After Lee died, JKD broke into two camps:
1. "We should only teach what Lee taught us and no more. e.g. the techniques he taught us are the core techniques."
2. "Lee taught us to be constantly adapting from other martial arts so there is no list of core techniques."
I've always loved this story as it highlights how humans have essentially two reactions to change: embracing it or fearing it.
This is reductive to the level of the people misusing the Douglas Adams quote, with a sprinkle of false dichotomy. Fear and embrace aren’t the only options, and neither camp is entirely positive or negative.
There is plenty of middle ground which should be exercised. If anything, the reason we’re living in an increasingly shitty shit show shower is that too many people are too eager to selfishly embrace too much, with complete disregard for others or long term outcomes.
'Make sure you don't fall behind!!!' is my least favourite type of post about ai. There's resllt nothing to learn about ai. You're just typing and telling it what to do.
This is like saying there's nothing to learn about programming, you're just telling a computer what to do. :)
It's partly true, but where this logic gets stuck is software engineering, for both the cases.
Just telling the AI what to do won't get you to good software, especially when you want to use dozens of agents working in parallel, when you have something correctness sensitive, when you want the AI to try and solve a research problem you have a hunch about but not a concrete solution.
but the solution, ironically, is not learning more about ai, but learning more about good software engineering, so you can tell when the ai is not doing it
No, software engineering is fundamentally changed because of AI. No amount of digging our heads in the sand is going to undo that.
For example, the traditional best practice cycle of "small incremental change, code review, test, commit" is pretty much obsolete now. The way ten collaborating agents can make short work of a complex project is not something that fits in with our existing software engineering wisdom at all.
We are still trying to figure out the new science of software engineering. And the best way to get better now is to just figure out what works and what does not for your use case.
I'm not talking about the transient aspects of producing software; I'm happy to accept that AI will change that, but also I feel that it will change it in ways that really aren't very hard to learn, and truth be told the more time that passes the smaller the gap will get as the agents get more capable.
what I am talking about is principles that govern what good software looks like, what properties it has to satisfy in order to be extensible and maintainable and performant and all that other good stuff, and the AIs are not going to make that knowledge obsolete any time soon.
Yeah I'm hoping AI can bring us back to software engineering of 20 years ago. Where studying the solution to a problem, finding clever solutions, getting everything to work without getting buried in little concerns is really important and "best practices" can just be a line in agents.md and the uninteresting part can just be handed off.
> But don’t be the out of touch Kung Fu master, heir to lifetimes of tradition, that gets mauled by an amateur MMA fighter.
I have an issue with this analogy, since a professional MMA fighter is a highly skilled individual who has honed their body through years of training.
A more apt analogy might be "don't be the kung fu master who believes they can survive an atomic bomb, dropped from far above by a pilot who does not understand how it works, but who has nevertheless been gifted the ability to deploy it."
When you look at King Fu master as a software dev who refuses to use AI and MMA fighter as a dev who embraces AI.
Vibe coders who know nothing about software development are untrained rubes who got mechanical arm that thinks for itself, they can maul MMA fighter, they can maul Kung Fu master but at the same time arm might just rip off their own face.
It's interesting to see how over the span of just a few years a lot of people went from:
> Architecture astronauts are out of touch and shouldn't give any advice because they haven't written code in ages. Only the hands on engineers can shape it since the design evolves in step with writing the code.
To
> I focus on the architecture patterns and high level goals and let the LLM take care of the rest.
Similar commentary was shared about anyone not writing the code daily, not just the architects.
No gotchas, I just think it's something which calls for introspection.
I guess in ten years we'll see which is the out of touch Kung Fu master.
I do see a whole set of people doing mystical passes in the air, sometimes with wires holding 'em up, in a set of ritual beliefs propped up by vast accumulations of power, money and pride, not to be questioned.
Didn't expect Carmack to be among those waving his hands about.
If it's so amazing, let's see the amazing thing he does. Go ahead. I'm sure Doom needs a really on-point web page with Inter.
In particular regarding free as in freedom, so about access and control. Just like I never enjoyed working with proprietary coding platforms, OS, or IDEs, I’m not particularly excited about proprietary models.
Check out DeepSeek v4.1 Flash, just released, and I am enjoying it more than Claude.
No one can run it locally.. Yet.. But give it a few years and I wouldn't be surprised if models of that capability were standard for programming laptops.
It's funny, but to relax I was reading Tim Berners-Lee's FAQ for kids. He has a section about "I'm interested in Math -- what exciting stuff is there we don't do at school?". He quickly sketches out what ideas might get us to Maxwell's Equation, ironically enough. But, what a joy it is to see a person who believes in the public domain, and who we have everything to thank for right now, saying "The main thing is, to have fun."
Because someone profits from it. If your man had truly embraced Zen after, y’know, becoming wealthy enough to never need anything, it feels like freedom from want would have come pretty easy. Instead we have to find our examples in poor people after they die.
This post brought to you by DraftKings. Reach Nirvana and its five bucks off your next bet on the Bardo!
Don't throw the baby out with the bathwater.
It makes more sense to read his 'public statements' and judge them individually rather than in aggregate. No one is correct all the time.
As for this current post (just a tweet really, public statement sounds overly official), I think he's making sense. If you don't follow industry trends, you'll eventually be out of touch. Whether you're a senior software engineer or engineering manager, keeping current with the evolution of tech will make you better at your job. Today that happens to be related to following AI developments, but it applied equally to learning higher level programming languages in the 90s, or big data engineering practices in the 2010s.
Elon Musk, Paul Graham, Steve Yegge and now, sadly John Carmack. Your average hacker scoffs at the idea of religion or faith, but somehow is comfortable with complete unquestioning fealty to whichever person who did something interesting with technology in the past and made enough money to afford drugs you don’t get arrested for and then they started prophesying.
Before you stone me, remember every prophet was downvoted in their own forum.
I see it as those who learn to use AI effectively are seeing massive benefits. Those that haven't seen those benefits are still skeptical.
Someone who's seen the benfits, knows, with proof, the benefits exist. They're like Copernicus who realized the plants go around the sun, not the earth. The others are still like those who look up, see the planets go around the sky, and can't believe the earth is not at the center. They then shout "you're lying, you're crazy, burn the hertic!"
The story of the discovery of heliocentricism is a lot more complex than this; the people who didn't immediately accept heliocentric theories (including the ancient Greeks - look up Aristarchus) often had good, scientific reasons for doing so. Or just look up at the sky at night yourself and ask yourself how you, personally, would confirm it if someone told you that what you see in the sky is better explained by the Earth moving around the sun than the sun moving around the Earth.
The nice thing about religious faith is that most minds can hold only one at a time. I may believe in an oddly resurrected deity who took the shape of a man, but I don't have room for anything crazier.
"We are fools for Christ's sake." 1 Corinthians 4:10
Is that the nice thing about religious faith? Polytheism seems somewhat more tolerant of others. And religious pluralism takes in one step further.
I am sure about few things, but it seems to me that monotheism and religious exclusivism at some times represent the worst aspects and outcomes of religious faith.
Sure, but it is that Christ, Buddha or any of the other incarnations of the same idea? I am right there with you, believe it or not, but don’t John 3:16 the wrong football game.
> Elon Musk, Paul Graham, Steve Yegge and now, sadly John Carmack. Your average hacker scoffs at the idea of religion or faith, but somehow is comfortable with complete unquestioning fealty to whichever person who did something interesting with technology in the past and made enough money to afford drugs you don’t get arrested for and then they started prophesying.
Why do you characterize people you disagree with as having "complete unquestioning fealty" to any of these figures who did something interesting with technology in the past? Seriously, why do you think that accurately characterizes anyone's view? I think this observation that John Carmack made on Twitter has some merit to it - it doesn't mean that I worship John Carmack as my god, or even that I think he's necessarily correct about any other issue. And why would I need to do either of those things to think that the one specific observation of his that we're talking about in this thread has merit to it?
> The introduction chronicled the evolution of swordsmanship and martial arts in general from pragmatic battlefield necessities to sports, historical curiosities, and hobbies.
Eh? Martial arts has always been a mix of utility and cultural artifact.
Greco-Roman wrestling flourished in a/alongside of military utility. Greeks and Romans had swords, shields, spears, bows and arrows. Boxing also traces its history all the way back to the Greeks.
Japanese, Korean, and Chinese arts developed in a society with, also, swords, shields, spears, bows and arrows. Notably these cultures often included weapons training ("kobudo" in Japanese) in their curriculum but that did not phase out the empty-handed aspect of the art.
Catch wrestling developed among sailors who would not be strangers to guns and rifles.
BJJ developed, well, today.
There has always been a component of sportsmanship and self-improvement in martial arts. Carmack misreads this introduction, methinks.
Is there a name for this pervasive psychological phenomenon where someone reads an ancient text and becomes convinced of its profound relevance to their own field? Seems to be especially common amongst the influencers of the tech sphere.
That’s great for martial artists where the new arts are objectively better and more robust against the wider array of attacks one must withstand today.
But software…? He’s declaring victory at virtually every level but the highest. Who honestly thinks JS should be cemented as permanent? X86/RISCV? CMake? It’s cool to abstract away the lower tiers when our tools are this powerful but it seems silly to leave this much performance, readability, and extensibility on the table forever.
Yep. Having to type the code is a form of accidental complexity, and with it gone, you can focus more on the problem to solve, getting it down faster.
Of course it's possible for it to go off the rails. Consider that a wildly swung sword can do damage you can't do with your bare hands. To prevent this, constrain your model to the solution shape you want by grounding it; give it contact with reality; ways to run the code it's generating and refine it to meet your goals; granular tests; etc.
The new job is in how you wield the tools and it is at least as complex as the old.
My problem with AI is not that they aren't useful, John. Like everything else in life the question is what we shape ourselves to be as a culture, as a community, what is the path we want to take. It's not on the same scale than ditching assembly instruction for a C compiler.
I get why most people get with the flow of what competition taught us: if you can't fight them join them. Yet I think it's demoralising we're forced to live the life forced upon us by a few techbros without real collective intelligence about the use of our resources and goals for the future. Again, it always has been a bit like that but never at this scale.
I don't think with the models we have, you shouldn't need to even write a single line of code. What you need is to prompt it right, check for over engineering, check for edge cases, test it very thoroughly. That means don't accept it writing 10,000 lines of code that you cannot review or test properly. Make modules small enough that can be reviewed/tested properly.
The author of the work that John Carmack is referencing is named Musashi, which is also the (coincidental?) name of a WW2 Japanese Yamato class battleship, which is quite fitting. Musashi the battleship having met its end at the hand of carrier launched aircraft, which remain a dominant technology to this day.
Aircraft carriers are to a small extent superseded in their own right by strategic bombers and ballistic missiles. We may see nuclear aircraft carriers eventually superseded to some extent by missile/drone swarms and missile/drone deployment platforms, or some other threat.
If the new dominant technology, military in the sense of being used to dominate your adversaries in any arena, relies on data centers, is that infrastructure considered pretty robust? Will that data center infrastructure fully supersede the nuclear powered aircraft carriers, as has been done to battleships? Do hardened data centers and the software they run represent the main locus of national front line capability? Are AI researchers more like WW2 pilots, or are they more akin to the people who worked on the Manhattan project?
This post makes me think harder about physical computer infrastructure. Continuing the metaphor, silicon fabs, computer manufacturing supply chains and their related infrastructure are certainly the WW2 drydocks of our modern conflict, the WW2 drydocks having been critical for the Americans to churn out aircraft carriers. And the drydocks were only one piece, but might have been considered one of the most brittle.
Some seemingly brittle pieces of AI/data center infrastructure today are the fabs and the communication links. As far as I know, the fiber optic cables connecting continents are so exposed it's almost ridiculous, the cables lay directly on the ocean floor. If severing these links favors one or another global actor, my main question is why hasn't this already been done? You can ask the same questions about severing oil pipelines and the various global shipping chokepoints. I do wonder if fiber optic cables are defensible at all in the final analysis. And what life would/will be like without fiber optic connection between continents.
I'm not sure how much more durable satellite links are, due to the cascading debris effects of Kessler syndrome.
A key idea is that if the transoceanic communication links between the Americas and Eurasia were to be cut, either powers based in Eurasia or a power based in the Americas would gain an advantage.
Semiconductor fabs... Well, if I were a military strategist in charge of national security, I definitely wouldn't publish the location of every fab. And a a self respecting superpower wouldn't leave its EUV machine production external, or would it?
Fabless semiconductor companies and AI researchers are critical to current national security capabilities in the way that people who developed radar were critical to WWII. In the long enough term some people think that eventually data centers and the software running inside will supersede and encompass these functions. The question being increasingly not if, but when. Some people think that if it can be done by a computer, it eventually will be.
It really is all about timing, the Japanese thought the Pacific conflict with the USA would be short.
John, if the introduction of the translation of Book of Five Rings is so good, could you please share the identifying information including the translator or the person who wrote the introduction?
I mean, there is still a place in the world for a Kung Fu master… it’s just not as someone trying to win in an anything goes combat competition.
If you think there are going to be as many jobs in the future for people writing all their code by hand, I hate to break it to you. However, there will still be some jobs, and fewer people who want to do it. It will still be a path for some people.
HN is loaded with out of touch Kung Fu masters. They were the loudest skeptics against AI. Still a lot here.
It's human nature. If your identity is defined by your kung fu and a technology is about to obsolesce your kung fu, then all logic goes out the window as you go all out in protecting your identity. It's mostly for themselves. They have to lie to themselves and tell themselves that they still "matter".
I've been doing martial arts for more than 20 years, some in TMA, some in modern boxing/kickboxing. I have yet to meet an "out of touch Kung Fu master" in person. Nobody thinks they can clear the bar or win in a ruleset they haven't trained for. I mean I don't deny Frank Dux, George Dilman, and the DUST guy exist, nor do I support their claims. It's just that they are larger-than-life personalities to start with and I haven't met them in person.
Similarly, most of the programmers skeptical about AI---me included---don't really do so out of a threat to a domain we've mastered. The problem is, models, to this day, need supervision so they understand requirements, so they know where to properly look for prior art, so that they "understand" the existing architecture. That includes you, Claude. Our kung fu has been six months away from obsolescence since roundabouts 2022 and in 2026 they even rehired a bunch of out-of-touch kung fu masters.
I honestly feel personally attacked by this and I don't consider myself to be an out of touch kung fu master or technologist at all. It is just very odd to read such an inflammatory comment on HN and then have people pretend this is correct and perfectly socially acceptable to say.
Like put your shoes into the person you are arguing against, with some empathy, would you want to be treated this way?
It's funny that we almost agree except you have it 100% backwards.
The out of touch kung fu masters are all retired or close to it. They continue to shout about their big bet on AI as loudly as possible to protect their egos and, as a last ditch effort, whatever money they threw in.
After all, everyone who is mid-career and younger cannot possibly be a master of anything. Of course they're using AI at work, but that is an extremely far cry from the AI actually helping. They use it because it's shoved down their throats and they don't want to rock the boat. Working extra hours from home is the perfect way for everyone to save face.
In other words, the older generation is delusional. Nobody is surprised except the older generation.
This resonated with me as someone who: has read the book of 5 rings (translated), has done quite a lot of martial arts and has been coding for ~50 years.
I work for myself developing apps and selling online. So I have no employer pushing to use AI. But I feel a bit like a dinosaur watching the incoming comet.
Currently, I just use MSCopilot as enhanced StackOverflow and I find it useful for that. But I have been nowhere near Cursor, Claude, harnesses, agents or 'vibe coding'.
It seems my options are:
1. Keep use AIs as an enhanced StackOverflow (e.g. to answer questions about APIs)
2. Embrace the new AI coding tools
Really not convinced about option 2. I don't trust AIs with code bases that I have built over 20 years. Also, I'm not far off retiring and I'm not sure I can be bothered to completely change how I work (again). Would be interested to hear what conclusions any fellow coding dinosaurs have come to.
John Carmack is a personal hero of mine, so it pains me to say this:
Carmack hasn't produced anything noteworthy since AI was invented, therefore, how productive can it really be?
It could be he is doing incredible work in private... but it could also be that he's lost in the weeds, because AI is so counterproductive while feeling the opposite?
I remain a skeptic.
> because AI is so counterproductive while feeling the opposite
Wow that resonated by a scary amount.
Can you elaborate on this with real-world examples you've experienced?
I mean his post boils down to "Get on the bandwagon because you might otherwise miss out. All the cool kids do AI now."
There are valid concerns there (and you should probably be playing around with LLMs), but he voiced none of them. He just led with a metaphor about obsolescence and then continued spreading FOMO with an authoritative voice.
I can achieve more with AI than without.
What's the complain exactly?
That AI still hasn't made my effort and thinking and directing and checking and ideas completely redundant and thus out of job?
It's like you people see everything in black and white and miss that most of the real world is a gradient of shades of grey and quite never full black or white.
> What's the complain exactly?
What complain? OP asked a question. Carmack created Doom, Quake in 2, 3 years. What have he created in 4 years of AI? Should be exceptional if one of the most productive programmers ever says it makes him more productive.
What does he have to show?
> It's like you people see everything in black and white and miss that most of the real world is a gradient of shades of grey and quite never full black or white.
I’d go even further. Shades of grey implies two extremes on a linear scale, but the world has colour, meaning wildly different interpretations that go in novel directions.
However, ironically, your comment reads to me as extremely black and white—full of certainty, rigidity, possibly some bad faith interpretation and straw manning—while the one you’re criticising has (some) nuance and doubt and seems open to the idea of being wrong.
Sure, among all these other people doing 'incredible work' for 30+ years publicly, well into their 50s, John Carmack sure is a disappointment by comparison.
I sense sarcasm. But I think you misinterpreted the parent’s point. I read it as: yes, Carmack has made huge contributions but, has not publicly released anything noteworthy since the advent of AI coding. Of course that doesn’t mean he won’t, just that so far nothing he released has backed up his statement.
Can you imagine a football fan going up to Ronaldo and saying hey, I saw an interview you did last week - I think you may be lost in the weeds there with your training regimen and outlook. I want to let you know - I remain a skeptic.
I mean, when you start scoring goals like you did 5 years ago Ronaldo, but until then, I remain a skeptic about that training regimen.
As for misinterpreting - maybe you're misinterpreting. Or maybe it's unproductive and dare I say presumptuous to reply to people you know nothing about with 'you're probably wrong and I'm probably right'. Do you do that in real life? Working out great, I can only assume given you've adopted a similar approach here, or?
Did Ronaldo say he's never been a better football player?
Would a person who is lost in the weeds come up with such excellent though-formulations like this?
> Musashi would probably have been pretty enthusiastic about assault rifles.
Musashi famously "retired to a cave, Reigandō, living as a hermit to write The Book of Five Rings" (https://en.wikipedia.org/wiki/Miyamoto_Musashi), for those not in the know.
Edit: Had to re-read a bunch of stuff about Musashi, and to Carmack's credit, seems to have been a relatively pragmatic guy when it comes to the choice of weapons in a battle, talking both about the benefits and drawbacks of firearms (although they were slightly different ones than we have today)
I’d be pretty relieved, too, if I thought the scope of AI’s impact could be described by just an assault rifle.
“Fun” fact: Even the creator of one of the most widely recognised and used assault riffles wasn’t enthusiastic about it by the end.
https://www.npr.org/sections/thetwo-way/2014/01/13/262096410...
We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
I love being able to quickly bring out the program that is already running in my head without having to worry about the grind of typing it into a format that the compiler understands. Dealing with API names. Syntax. Language quirks. Library gotchas. A sizeable portion of my successful career as a software engineer was spent on the tiresome process of interacting with a text editor/IDE to get a program to do what I wanted.
I was there when people were still coding assembly. A slow torture where the simplest things took forever to get right.
Once I've mentally solved the problem, the fun is mostly over for me. Pure vibe coding is dull and unsustainable with current technology for all but the simplest systems; AI-assisted coding, on the other hand, rekindled my passion for computers.
I like your constructive outlook and I want to believe that we can now focus on the bigger picture, but I'm not really seeing it around me. Most everyone I know that's "AI-pilled" has spent the newfound capacity on throughput instead of altitude.
Is anyone actually seeing a shift towards improved structure rather than more code, faster? We seem to be living in the Gatling-gun version of the picture John Carmack drew when modernity also ushered into precision marksmanship...
Are those people working on products or platforms? Platforms still have to be rock solid and deliver performance guarantees to the products built on top of them.
The people who are using AI to improve what they were already doing anyway, aren't going around expounding "I made this with AI!"
Like one of my personal projects is a sort of "middleware" for Godot, and it needs to be lean, precise and match certain rules, because it's meant to be used by many games, so I can't blindly trust AI to generate code for it, it'd be too sloppy,
BUT Codex reviews have been a great help in finding bugs that would have taken me ages to even notice on my own. Some of those AI findings helped me overhaul entire subsystems, still manually coded.
>> Is anyone actually seeing a shift towards improved structure rather than more code, faster?
Yes. At work we recently finished a complete rewrite of the platform. The old codebase got abandoned and two new codebases got stood up. Previous stack was Phoenix LiveView and the new one is Phoenix API + Vue /w TypeScript. Zero code shared between the two. We took the opportunity to re-architect a lot of the core functionality and get rid of the tech debt that had been hounding us and killing our velocity for the past six years.
We finished the rewrite in two months. A little over 700k LoC total. 95% of it was planned, orchestrated and written by AI. We could have gotten it done faster, but we were well aware of the potential for slop and thus paid an absurd amount of attention to (and tokens for) code quality. For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous, plus a ton of invariants enforced via deterministic checks. Everything from standard linting and formatting rules to AI-necessitated stuff like "comments cannot be more than five lines each" is in there. At the end of each week, we get together for ~30 minutes to review each bug that was fixed that week (there haven't been that many) and try to figure out if more deterministic checks can be added (or new ones extended) to prevent that class of bug from re-appearing. We actually have an Architecture epic with a dedicated Fable agent orchestrating all the initiatives and tickets in it and keeping track of improvements (and the occasional regression). So things like accessibility, usage of shared helpers, enforcement of common patterns, etc. are all kept track of.
The difference between the old codebase and the two new ones has been night and day. The new codebases, combined, are ~35% larger than what we had before, and yet there are way fewer bugs (we actually got suspicious at first and had to check to make sure our logging instrumentation was configured correctly). Performance is also stellar, features have been a lot easier to add and extend, and everything is a lot easier to find. When someone asks a question or has an issue we have a pretty good idea of what part of the codebase to look in and we're usually right.
It wasn't all unicorns and rainbows. Not everyone on the team was proficient with AI-driven development, so they had to be brought up to speed quickly and taught the tools and also what works and doesn't. Code reviews were also difficult and time-consuming. We had to deal with our anxieties about working in two new codebases none of us had authored much code in ourselves. What made all of it worse was that we were racing towards a deadline imposed by external factors so we all ended up working a lot of hours. It was essentially between getting it done this summer or waiting until next summer and we bit the bullet and did it. It absolutely would not have been possible without AI.
That is interesting, but... is it actually improving structure?
We're mid-way through a similar process at work. Rewriting a legacy app in a new language, with new architecture and new features.
And it's a mess.
We're at 10x loc (admittedly, the new programming language is more verbose than the old one), comments make no sense. Yes, we have ~100% coverage, but most of the tests are meaningless. The agent keeps removing our tests to replace them with tests that are easier to pass, breaking code invariants, removing all the engineered data structures and replacing them with stringly-typed code, etc.
And of course, given the number of LoC (and the fact that the agent rewrites so much code all the time), it's physically impossible that all of them were reviewed by a human being.
AI made it possible, insofar as upper management would never have greenlit the project without AI, but I can't escape the feeling that we're building on quicksands.
LLMs are a game-changer. You work more for less money.
Could you share more about how you guys set up the rewrite? I am interested in the shape of the software as well as how you achieved (or aimed to achieve) high quality.
> We finished the rewrite in two months. > racing towards a deadline imposed by external factors so we all ended up working a lot of hours.
2 months of 80 hour weeks is 4 months of regular weeks. Can you clarify how many hours your team was putting in? And how large was your team?
Probably averaging 70. 9 devs and 1 QA engineer.
Assuming the LLM never got anything wrong or otherwise had to be re-prompted, that means your devs were reviewing 130 SLOC per hour, on what was described as moderately greenfield (examining new implementations rather than comparing to old historical accidents).
How?
I don't want to sound flippant, but if the point is to add human thought to the mix, that's a high review rate even when examining small tweaks to an existing, working product, even with substantial AI help to pre-filter major gotchas before you bother spending a lot of human effort on the review. That's only 20-30wpm, but a review isn't just scanning or reading code, especially if you're trying to figure out how a new system which doesn't run yet will fit together.
Is that actually a high review rate? Especially if you know the language and domain. Sure, initially there's a learning curve for a new codebase structure, but lots of lines will also be trivial and many changes might also be similar to each other.
For small separate changes in isolation then maybe it's ok? But not for whole days 8 hours each.
But then you need to watch for bugs coming from interaction with previous changes and in 700k loc that might be nontrivial. How do you know which states are reachable and which are not? That takes time.
It only takes a botched condition here (forgot a "not"? swapped "and"/"or"?), a swapped variable name there, code that looks ok, but isn't.
No don’t worry they said it’s not slop because there’s tests lol
> We could have gotten it done faster, but we were well aware of the potential for slop and thus paid an absurd amount of attention to (and tokens for) code quality. For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous, plus a ton of invariants enforced via deterministic checks.
This is why my current view in terms of LLM productivity gains are:
- debugging and triaging 5x
- refactoring when you have tests in place 3x
- greenfield where you have zero tests is about 1.5x
> For example, there is a 100% test coverage requirement in both server and client, combined with AI-driven review rules that say all tests must be non-vacuous,
look, your application works, right? so it doesn't really matter what you or i think, and this is why AI matters. but this, your "100% test coverage" - that is pure slop. just 20 years ago, all the most popular software shipped with NO tests. are you getting it?
> just 20 years ago, all the most popular software shipped with NO tests
not sure what you're point is here. It sounds similar to "we use to use blood letting and leeches and doctors didn't clean their hands and everything was fine so what are you getting at?"
Good tests have real benefits. The fact that people shipped without them in the past in no way suggests they aren't needed or have no point.
Also, 20 years ago SW was tested by QA department and approved before shipping. Don't want to go back to that, but there were testing, just differently.
IMHO getting rid of proper QA done by teams of QA specialists is the main reason for the current software quality crisis (and that already started 15 years ago or so). We should go back to QA teams and proper QA procedures! Automated tests are no replacement, especially when they are set up by the same people designing and building the product.
> just 20 years ago, all the most popular software shipped with NO tests. are you getting it?
Not really?
About 20 years ago, I was working on Firefox and we had millions of tests on CI. I was working on a host of other open source apps and they all had tests (most of them had no CI, of course).
What kind of software are you talking about? Test harnesses were commonly used in 2006. JUnit was created in 1997.
And 80 years ago cars didn't have seatbelts. Your point?
>> but this, your "100% test coverage" - that is pure slop.
Not really, but I can see why some people think that.
We treat 100% test coverage as "required, but by itself not sufficient". It doesn't give us false confidence that everything will be perfect or anything like that. But it provides us with the discipline to make sure no corners are cut, and the bugs that are fixed don't come back.
One refreshing aspect was that during PR reviews we stopped debating whether something needed test coverage. Instead we focused on what was being tested and how.
> One refreshing aspect was that during PR reviews we stopped debating whether something needed test coverage.
I’d be curious to know what percentage of the time spent implementing tests would have otherwise gone to discussions about whether to implement them or not. ;)
>AI-assisted coding, on the other hand, rekindled my passion for computers.
I would be interested to know what you mean by AI-assisted coding.
I've been coding for 50 years (40 professionally) and maintain several largish C++ code bases for commercial apps. There is no way that I am going to let an AI scan (train on), let alone edit, my code. But I do ask MSCoPilot questions, basically using it like turbo-charged StackOverflow. And I do get some value from that, even if it is often wrong. Is that what you mean?
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
Focusing on data structures, architecture and algorithms is what competency in programming has looked like since forever. Building systems out of smaller pieces gets you there.
If your complaint above is that you were struggling with syntax and reading documentation, one might ask if you failed to progress past beginner levels, and now AI is just your cheat-code?
Do you remember how bad documentation was? I still have nightmares about Twisted.
> Focusing on data structures, architecture and algorithms is what competency in programming has looked like since forever
yes, being able to bang out leetcode hard from head on an interview on paper matters so much... oh wait. it does not.
in the real world, outside of interview questions, it hardly matters. when it comes there, I'll optimizite it, but getting the first system up and running in a way I want is way more fun & challenging. need a lock free ringbuffer? I'll look up what's the latest way to build it. or just ask my AI.
I think you are not interpreting GP in the most charitable way. He simply said that not having to manually write all the code lets him spend his energy on bigger things. That is different from "struggling with syntax".
It is the same. I mean many mainstream languages made thinking in datastructures hard. Not a coincidence why functional languages, Haskell, F#, OCAML, Scala, Clojure, LISP, etc. had their enthusiast, as they felt just like what you claim.
The datastructures already did the heavy lifting. The syntax was not something to struggle with, but it was the natural way to stick the bits together.
JavaScript for one never gave me this feeling, and I always felt that either the language, or the libraries, but something was always a struggle to overcome. (Python too... seriously, working with collections is a pain in the "pythonic" way for someone who has experienced LINQ... and for most line of business apps it is all about working with collections.)
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
That would be lovely.
It's sad that we're being forced to vibe code, though, because my day-to-day experience of that is that the agent does not respect the data structures I feed it, nor the architecture, nor the algorithms.
> Pure vibe coding is dull and unsustainable with current technology for all but the simplest systems; AI-assisted coding, on the other hand, rekindled my passion for computers.
Agreed.
I kinda of agree, but still believe that writing most of the critical code yourself has long term benefits (both for you and the code you write). IME the initial mental model hardly survives contact with reality and all those little micro decisions that come up during implementation are good to do on your own and have in your own head instead of being buried in a MEMORY.md where no human ever ventures.
It depends of course where the code sits between "critical bedrock code" and "high level throwaway code".
E.g. the lower level the code, the more I want to get directly involved, even wgen that means typing each line manually.
Also you should try assembly coding with modern (non-LLM) tooling, it feels incredibly more productive than on 30..50 years ago ;)
Also:
> software engineers can focus on data structures, software architecture and algorithms.
Come on, this is was already the case decades before LLMs, that's why an entire zoo of high level languages were created.
I’m the opposite. I don’t believe there is a royal road to understanding anything. For me, the process of programming involves frustration. That is usually when I find my greatest insights.
Syntax isn’t a big deal. Names either. You can look them up. Remember them. Language gotchas are annoying and sometimes problematic.
To me, our job is understanding problems. And for me, understanding the problem involves wrestling with the code. I learn much from modelling problems in code, building theories, testing them.
Once an LLM system has generated some code I haven’t learned anything. Even when I read through the solution. It doesn't require the same activation of my brain. There’s nothing quite like working through the problem yourself.
LLMs definitely feel like they are draining my passion for computers. There were plenty of folks who checked out or were never truly passionate about programming. Now they’re louder than ever. “Nobody cares about code,” and, “optimizing is a waste of time.” Now we don’t even want to understand how it works, or whether it works at all. They repeat the lines their master have told them: get on board or get left behind.
I’m pretty sure I am risking getting, “left behind.” But I’m okay with that. The tech is truly the least interesting thing to me. If I don’t have a career in 10 years… oh well. I’ll still be programming.
ya i find all LLM output to be incredibly boring and unskillful, I can ship vibe bugs fast with the best of them but it brings me no joy.
I'll never let myself be left behind but the joy professionally of writing quality software is 100% gone.
The possibility to have an agent implement every little thing that comes up in your mind as you're building doesn't spark the tiniest bit of joy? Previously, "ooh it would be cool if" had to answer to "yeah but it'll take too long". Now, it's more like, "how important is that really?" to stupid ideas that never would have seen the light of day before.
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
That exact sentence could have been said 20 years as well as 40 years ago. I don't know how you programmed pre-LLM, but line-by-line has long been a thing of the past, if it ever existed. I'm sure the folks creating the Apollo software were thinking a lot about data structures, software architecture and algorithms.
a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want. AI just made it 50x better, as exactly as you said, we don't need to deal with the useless junk (what's the API syntax? what's the library syntax? oh it changed in the last 3 versions, let me look up the new API, this and that...).
it's great.
> a lot of people don't understand that the joy of making something is not coding but actually being able to build anything I want
I expect "a lot of people" understand perfectly well that that's where the joy comes from for you. Do you not understand that other people have different motivations?
Crafting code in your preferred language in a way that it is easily understood by others or fulfills some other constraints while doing whatever algorithm requires can be as fulfilling as writing poetry.
I can write „you live, you die, get over with it, life is hard, love hurts” - it basically encodes all wisdom of countless poems, books. Yet I have seen many people getting that idea better when the knowledge of this simple truth is in a form of a story.
Conversely, if you write an algorithm using better structure, better data structures it makes a lot of difference.
coding for the sake of coding is, well, dumb.
The number of down votes the parent comment has seems to me like a litmus test of people who will use AI and those that are just critical of it.
I have my reservations about AI but so far I’ve found ways to make me faster. So I’ll continue to use it but make sure to review my usage regularly.
Is painting for the sake of painting dumb too?
that's a dumb comparison.
> We are going from the era of manual, line-by-line mental model transcription to one where software engineers can focus on data structures, software architecture and algorithms.
I prefer an AI that is good at data structures, architecture and algorithms. Then, finally, no more leetcode.
You're describing software developers, even better, coders, not really engineers.
Have you tried live programming (smalltalk, LISP)? Or a proper Edit-Compile-Run cycle with a good editor?
A lot of people are bashing old practices, but from y standpoint, it always seems like a lack of proper (usage of) tooling to streamline the coding phase of building software.
Dear sir, I appreciate the help but, as I mentioned, I've been around since the Assembly days... Been there, done that. I currently have a crazy efficient Edit-Compile-Run setup and a great VSCode personal config, all of which were made a lot more crazy efficient with Codex.
This is where I’m at as well. It is incredibly liberating I feel very empowered
> AI-assisted coding, on the other hand, rekindled my passion for computers.
AI-assisted coding isn't a thing. Why would anyone pay you to code when your competitor spends 1 minute spelling out a problem and doing the same thing for 59 more problems?
As far as I'm concerned coding is dead as a profession, now we are Harness Managers.
You guys can downvote all you want. If you don't already realize this you'll realize soon enough.
Everyone who writes enthusiastically about AI already has the benefit of having worked without AI. They have been schooled in the basics. Enough of us know about data structures, concurrency, networks, language design etc. from the ground up that the knowledge is passed on. I worry about the world that we will be living in when a whole generation has skipped learning the basics the hard way. Given the attendance rates at various educational institutions, I fear that day is already here.
Right, I weirdly feel like we are entering an era where industry doesn’t invest that much in training the next generation - it feels like a rich getting richer scenario in all aspects of society
I think mathematics is feeling that concern with training acutely. The average math department pays its way by teaching in all forms and all levels: they don’t bring in the magnitude of grant money that concretely impacts a university’s budget. But they are already dealing with the consequences of that - that’s why universities that are cutting due to “low student demand” are going after math programs.
> I worry about the world that we will be living in when a whole generation has skipped learning the basics the hard way.
Have you been schooled in farming? Raising livestock? Milking cattle?
Does your ability to cook good food depend upon your ability to till soil and sow seeds?
I don't mean that in ass way but re: what other comments said:
> it feels like a rich getting richer scenario in all aspects of society
That's a problem with society, not technology.
Holding back technology won't fix society.
> Have you been schooled in farming? Raising livestock? Milking cattle? Does your ability to cook good food ...
Pushing that analogy, AI is the equivalent of automating everything from tilling, growing, all the way to cooking. It is as if the human is involved at the beginning in specifying what they want, and at the end, in plating up the food and consuming the product. The next generation will have no clue about the entire farm-to-table chain.
It's not there yet, but rapidly making it a reality.
Also, there is no one "tech". Different pieces of technology have different levels of effect on the world, and different timelines in which the world can come to terms with it. AI is the thermonuclear weapon introduced to a musket world ... it came upon us suddenly, and instantly flattened the talent/merit based economy. Now everyone has access to the same exoskeleton; the difference between muscles is not important.
The second huge difference between AI (and ordinary tech) is that a literal handful of people are in control of its economics. That kind of power breeds fascism.
> That's a problem with society, not technology.
Semantics. The tech directly enables the incredible power imbalance, and helps seize the means of consensus and debate and reporting. There is no incentive/mechanism left to fix society. An advanced society like the US is weaponized against vaccines, and social media and AI are to blame.
I read your first sentence as:
> Everyone who writes enthusiastically about AI already has the benefit of not having worked with AI
... because if you really do, and you actaully a capable developer, you become much less enthusiastic.
Anyway, definitely agree with your point, and let us also remember that it is our human output and expression which LLMs are trained on.
Ironically, this post comes off as out of touch. The purpose of the various martial arts isn't just to win in a life-or-death brawl or murder people as efficiently as possible. Similarly, the point of programming isn't just to generate as much code as possible, or only to be more "productive".
In Musashi's era, meaning the late 1500s, kendo (sword fighting) was absolutely about being as "productive" (read: lethal) as possible.
As it happens, this was also the era when firearms had just been introduced to Japan. In 1575 Oda Nobunaga demolished the Takeda cavalry at the Battle of Nagashino, marking the first time firearms had been used at scale in Japanese combat, and in 1600 Musashi participated in the decisive Battle of Sekigahara where both sides used them extensively.
The end of the Sengoku Jidai was triggered by a warlord (Nobunaga) who equipped his armies with massed ashigaru levies armed with long spears and tanegashima arquebuses. It was absolutely a technological brawl where the valiant highly trained cavalry of warlord's like Takeda Shingen got mowed down by the bullets of musketeers stationed behind well prepared and covered firing positions.
If it was still going on today, the warlords would be adopting drone warfare and vibecoded 3d printed cruise missiles.
Code in most organizations is a means to an end to produce an actual product.
The job of a SWE is to not produce the most sublime readable code with cute language bells and whistles that you can show off to your other programmer friends. Yes its fun to do and interesting, but the main value in writing code is to express your intent so you and other people that are working with you can actually build something of value.
Software has value to the people on your team reading it. The product that you create with your software has a far wider impact than just that. As such, there is for _sure_ optimization pressure on "professional software engineering" to be more productive and actually make the product better to use, faster, with more features users like. The user typically does not care that you used a new C++26 feature, as much as I enjoyed writing it for them.
If I can produce features for users faster and I can iterate on them faster, this is a boon to me. I can program by hand for fun all I want in my spare time, but if I want to produce value for someone else, it is economically infeasible for me to be a luddite, and I will simply be outcompeted. Previously you were outcompeted by smarter teams who out executed you (and who also worked more), and now you can be out executed by basically anyone using an LLM who actually understands that the end goal is making a product that is pleasant to use and actually has utility, not code that is pleasant to read.
You can be an "performative/artisanal programmer" just as you can do "performative/artisanal martial arts." Just know that there will not be a large market for it in the real world.
You're reducing programming to its utility in producing exchange value in the captitalist political economy. That's what "value" means in this context. That's exactly what I'm pointing out. Programming is more than that, if you can think beyond your current economic constraints. Your life's activity ought to be more than just a tool for producing capitalist exchange value.
Does cooking food serve any purpose beyond mass producing food for restaurants to sell?
Absolutely correct take. People are so caught up in doing the bidding, they forget what it is all about.
People are used to paying for food. They delight in paying more for highly rated Michelin starred food, even. Software is the opposite. People really really hate paying for software. It should all be free! The fact that making an additional copy of a piece of software is basically free vs creating an additional plate for dinner is very much not, has a lot to do with that. For sure. But it also means that I don't see a future where the "capitalist political economy" truely "values" aka pays seriously good money for a bespoke, handcrafted, no AI slop here, version of Photoshop to be run only once, and then you poop it out later.
Products in most organizations are an end to making profit.
The job value of an SWE is to maximize that profit. It doesn't matter if the product is better to use, faster, with more features users like - that's an early 20th century model of value production.
What matters is how much money the company can extract from its customers, and how little it can pay its employees. Use dark patterns, increase lock-in, and switch to a rental system with recurrent payments. Minimize employee benefits, require broad non-compete agreements, have long vesting periods and lay people off before its reached, or simply fire them and order the others to pick up the slack using AI.
If you want to write software meant to please the user, do that for fun in your spare time -- though remember that your employer still owns your IP, so it's not like you can create a market competitor.
Alas, the above was meant in sarcasm but is all too true.
The Luddites were not opposed to machines. They were opposed to bad labor practices, with machine-breaking as way of applying pressure on employers.
The whole latter part of the post is exactly about that.
https://news.ycombinator.com/item?id=49668392
As someone who did train one of the traditional martial arts for a few years, I appreciate the comparison.
I don't know how much weight your "just" is meant to carry, but I remember a culture of cope and excuses about why "my" flavor wasn't the winner of any MMA event.
But at least I got some exercise, strength, and flexibility out of it.
I think it's an interesting analogy, not to be dismissed so easily.
I don't see him saying the point is volume of code. I see AI generating code, and if I question it, it can justify design choices pretty well. I can give it bug symptoms, and it can find and fix the bug. Usually.
But yes, the analogy breaks down in the fact that I understand what it's saying and understand when it's wrong, because I learned it in the first place.
Or maybe it doesn't break down completely. If an MMA (AI) tells me to move in a way where I know I'll lose my balance, or over extend, I will say no, because of my previously acquired experience.
This post reminded me of the story about Jeet Kun Do [0] after Bruce Lee [1] died.
JKD was supposed to be a martial art that adapted the best techniques from other martial arts. e.g. "have no style" because your style is constantly adapting.
After Lee died, JKD broke into two camps:
1. "We should only teach what Lee taught us and no more. e.g. the techniques he taught us are the core techniques."
2. "Lee taught us to be constantly adapting from other martial arts so there is no list of core techniques."
I've always loved this story as it highlights how humans have essentially two reactions to change: embracing it or fearing it.
0 - https://en.wikipedia.org/wiki/Jeet_Kune_Do
1 - https://en.wikipedia.org/wiki/Bruce_Lee
This is reductive to the level of the people misusing the Douglas Adams quote, with a sprinkle of false dichotomy. Fear and embrace aren’t the only options, and neither camp is entirely positive or negative.
There is plenty of middle ground which should be exercised. If anything, the reason we’re living in an increasingly shitty shit show shower is that too many people are too eager to selfishly embrace too much, with complete disregard for others or long term outcomes.
'Make sure you don't fall behind!!!' is my least favourite type of post about ai. There's resllt nothing to learn about ai. You're just typing and telling it what to do.
This is like saying there's nothing to learn about programming, you're just telling a computer what to do. :)
It's partly true, but where this logic gets stuck is software engineering, for both the cases.
Just telling the AI what to do won't get you to good software, especially when you want to use dozens of agents working in parallel, when you have something correctness sensitive, when you want the AI to try and solve a research problem you have a hunch about but not a concrete solution.
but the solution, ironically, is not learning more about ai, but learning more about good software engineering, so you can tell when the ai is not doing it
No, software engineering is fundamentally changed because of AI. No amount of digging our heads in the sand is going to undo that.
For example, the traditional best practice cycle of "small incremental change, code review, test, commit" is pretty much obsolete now. The way ten collaborating agents can make short work of a complex project is not something that fits in with our existing software engineering wisdom at all.
We are still trying to figure out the new science of software engineering. And the best way to get better now is to just figure out what works and what does not for your use case.
I'm not talking about the transient aspects of producing software; I'm happy to accept that AI will change that, but also I feel that it will change it in ways that really aren't very hard to learn, and truth be told the more time that passes the smaller the gap will get as the agents get more capable.
what I am talking about is principles that govern what good software looks like, what properties it has to satisfy in order to be extensible and maintainable and performant and all that other good stuff, and the AIs are not going to make that knowledge obsolete any time soon.
Yeah I'm hoping AI can bring us back to software engineering of 20 years ago. Where studying the solution to a problem, finding clever solutions, getting everything to work without getting buried in little concerns is really important and "best practices" can just be a line in agents.md and the uninteresting part can just be handed off.
the point of AI hype is to increase shareholder value.
The system that solved Navier-Stokes certainly was not about OpenAI engineers just typing and telling it what to do.
The recent advancement in math with the Riemann Hypothesis by Jared Sumner was basically him saying "you can do it! keep going!", however.
> In 2022, he left Oculus to work on his AGI startup, Keen Technologies
https://en.wikipedia.org/wiki/John_Carmack
oh
https://xxcancel.com/ID_AA_Carmack/status/209844326221423009...
> But don’t be the out of touch Kung Fu master, heir to lifetimes of tradition, that gets mauled by an amateur MMA fighter.
I have an issue with this analogy, since a professional MMA fighter is a highly skilled individual who has honed their body through years of training.
A more apt analogy might be "don't be the kung fu master who believes they can survive an atomic bomb, dropped from far above by a pilot who does not understand how it works, but who has nevertheless been gifted the ability to deploy it."
I would say analogy is still apt.
When you look at King Fu master as a software dev who refuses to use AI and MMA fighter as a dev who embraces AI.
Vibe coders who know nothing about software development are untrained rubes who got mechanical arm that thinks for itself, they can maul MMA fighter, they can maul Kung Fu master but at the same time arm might just rip off their own face.
But he said amateur.
He and others can host their brain in the cloud for all i care.
It's interesting to see how over the span of just a few years a lot of people went from:
> Architecture astronauts are out of touch and shouldn't give any advice because they haven't written code in ages. Only the hands on engineers can shape it since the design evolves in step with writing the code.
To
> I focus on the architecture patterns and high level goals and let the LLM take care of the rest.
Similar commentary was shared about anyone not writing the code daily, not just the architects.
No gotchas, I just think it's something which calls for introspection.
I guess in ten years we'll see which is the out of touch Kung Fu master.
I do see a whole set of people doing mystical passes in the air, sometimes with wires holding 'em up, in a set of ritual beliefs propped up by vast accumulations of power, money and pride, not to be questioned.
Didn't expect Carmack to be among those waving his hands about.
If it's so amazing, let's see the amazing thing he does. Go ahead. I'm sure Doom needs a really on-point web page with Inter.
"don’t be the out of touch Kung Fu master"
posts on Twitter
> WorldEnder
> Its just that, it used to be free. All I needed was a computer.
https://xcancel.com/rustishard/status/2098853622263976328#m
Same here.
In particular regarding free as in freedom, so about access and control. Just like I never enjoyed working with proprietary coding platforms, OS, or IDEs, I’m not particularly excited about proprietary models.
Check out DeepSeek v4.1 Flash, just released, and I am enjoying it more than Claude. No one can run it locally.. Yet.. But give it a few years and I wouldn't be surprised if models of that capability were standard for programming laptops.
His analogy might be accidentally appropriate given MMA-fighters propensity to develop CTE.
Common table expression?
> Chronic traumatic encephalopathy (CTE) is a progressive degenerative brain disease caused by repeated head injuries and hits to the head.
Why are we always at war?
It's funny, but to relax I was reading Tim Berners-Lee's FAQ for kids. He has a section about "I'm interested in Math -- what exciting stuff is there we don't do at school?". He quickly sketches out what ideas might get us to Maxwell's Equation, ironically enough. But, what a joy it is to see a person who believes in the public domain, and who we have everything to thank for right now, saying "The main thing is, to have fun."
https://www.w3.org/People/Berners-Lee/Kids.html
Because someone profits from it. If your man had truly embraced Zen after, y’know, becoming wealthy enough to never need anything, it feels like freedom from want would have come pretty easy. Instead we have to find our examples in poor people after they die.
This post brought to you by DraftKings. Reach Nirvana and its five bucks off your next bet on the Bardo!
I understand why people value the code John Carmack has released but I do not understand why people value his public statements.
"eventually id Tech 5 is going to be open source also. This is still the law of the land at id"[0]
"Great! I think Microsoft has been a good parent company for gaming IPs"[1]
By sheer coincidence, John Carmack is peddling machine generated code.[2]
[0] https://web.archive.org/web/20081003111457/http://www.linuxg...
[1] https://x.com/ID_AA_Carmack/status/1308069857913720832
[2] https://80.lv/articles/john-carmack-s-agi-startup-keen-techn...
Don't throw the baby out with the bathwater. It makes more sense to read his 'public statements' and judge them individually rather than in aggregate. No one is correct all the time.
As for this current post (just a tweet really, public statement sounds overly official), I think he's making sense. If you don't follow industry trends, you'll eventually be out of touch. Whether you're a senior software engineer or engineering manager, keeping current with the evolution of tech will make you better at your job. Today that happens to be related to following AI developments, but it applied equally to learning higher level programming languages in the 90s, or big data engineering practices in the 2010s.
1st link is broken
https://web.archive.org/web/20081003111457/http://www.linuxg...
I have a new theory as of this moment.
Elon Musk, Paul Graham, Steve Yegge and now, sadly John Carmack. Your average hacker scoffs at the idea of religion or faith, but somehow is comfortable with complete unquestioning fealty to whichever person who did something interesting with technology in the past and made enough money to afford drugs you don’t get arrested for and then they started prophesying.
Before you stone me, remember every prophet was downvoted in their own forum.
I see it as those who learn to use AI effectively are seeing massive benefits. Those that haven't seen those benefits are still skeptical.
Someone who's seen the benfits, knows, with proof, the benefits exist. They're like Copernicus who realized the plants go around the sun, not the earth. The others are still like those who look up, see the planets go around the sky, and can't believe the earth is not at the center. They then shout "you're lying, you're crazy, burn the hertic!"
The story of the discovery of heliocentricism is a lot more complex than this; the people who didn't immediately accept heliocentric theories (including the ancient Greeks - look up Aristarchus) often had good, scientific reasons for doing so. Or just look up at the sky at night yourself and ask yourself how you, personally, would confirm it if someone told you that what you see in the sky is better explained by the Earth moving around the sun than the sun moving around the Earth.
The nice thing about religious faith is that most minds can hold only one at a time. I may believe in an oddly resurrected deity who took the shape of a man, but I don't have room for anything crazier.
"We are fools for Christ's sake." 1 Corinthians 4:10
Is that the nice thing about religious faith? Polytheism seems somewhat more tolerant of others. And religious pluralism takes in one step further.
I am sure about few things, but it seems to me that monotheism and religious exclusivism at some times represent the worst aspects and outcomes of religious faith.
Sure, but it is that Christ, Buddha or any of the other incarnations of the same idea? I am right there with you, believe it or not, but don’t John 3:16 the wrong football game.
> Elon Musk, Paul Graham, Steve Yegge and now, sadly John Carmack. Your average hacker scoffs at the idea of religion or faith, but somehow is comfortable with complete unquestioning fealty to whichever person who did something interesting with technology in the past and made enough money to afford drugs you don’t get arrested for and then they started prophesying.
Why do you characterize people you disagree with as having "complete unquestioning fealty" to any of these figures who did something interesting with technology in the past? Seriously, why do you think that accurately characterizes anyone's view? I think this observation that John Carmack made on Twitter has some merit to it - it doesn't mean that I worship John Carmack as my god, or even that I think he's necessarily correct about any other issue. And why would I need to do either of those things to think that the one specific observation of his that we're talking about in this thread has merit to it?
> The introduction chronicled the evolution of swordsmanship and martial arts in general from pragmatic battlefield necessities to sports, historical curiosities, and hobbies.
Eh? Martial arts has always been a mix of utility and cultural artifact.
Greco-Roman wrestling flourished in a/alongside of military utility. Greeks and Romans had swords, shields, spears, bows and arrows. Boxing also traces its history all the way back to the Greeks.
Japanese, Korean, and Chinese arts developed in a society with, also, swords, shields, spears, bows and arrows. Notably these cultures often included weapons training ("kobudo" in Japanese) in their curriculum but that did not phase out the empty-handed aspect of the art.
Catch wrestling developed among sailors who would not be strangers to guns and rifles.
BJJ developed, well, today.
There has always been a component of sportsmanship and self-improvement in martial arts. Carmack misreads this introduction, methinks.
https://news.ycombinator.com/item?id=49668392
Also, don’t be the one who fights sharp swords with Marvin Minsky’s useless boxes.
Is there a name for this pervasive psychological phenomenon where someone reads an ancient text and becomes convinced of its profound relevance to their own field? Seems to be especially common amongst the influencers of the tech sphere.
So what does this guy have to show for working on AI research for more than half a decade at this point? Apparently full time too.
That’s great for martial artists where the new arts are objectively better and more robust against the wider array of attacks one must withstand today.
But software…? He’s declaring victory at virtually every level but the highest. Who honestly thinks JS should be cemented as permanent? X86/RISCV? CMake? It’s cool to abstract away the lower tiers when our tools are this powerful but it seems silly to leave this much performance, readability, and extensibility on the table forever.
https://xcancel.com/ID_AA_Carmack/status/2098443262214230095 for convenience
I also code as a hobby. It seems like a pretty good thing to have as a hobby.
Don’t tell me what to do
Yep. Having to type the code is a form of accidental complexity, and with it gone, you can focus more on the problem to solve, getting it down faster.
Of course it's possible for it to go off the rails. Consider that a wildly swung sword can do damage you can't do with your bare hands. To prevent this, constrain your model to the solution shape you want by grounding it; give it contact with reality; ways to run the code it's generating and refine it to meet your goals; granular tests; etc.
The new job is in how you wield the tools and it is at least as complex as the old.
My problem with AI is not that they aren't useful, John. Like everything else in life the question is what we shape ourselves to be as a culture, as a community, what is the path we want to take. It's not on the same scale than ditching assembly instruction for a C compiler.
I get why most people get with the flow of what competition taught us: if you can't fight them join them. Yet I think it's demoralising we're forced to live the life forced upon us by a few techbros without real collective intelligence about the use of our resources and goals for the future. Again, it always has been a bit like that but never at this scale.
We're souless automatons feeding a machine god.
So, more people are excited for the vision of Idiocracy to be fully realized.
I don't think with the models we have, you shouldn't need to even write a single line of code. What you need is to prompt it right, check for over engineering, check for edge cases, test it very thoroughly. That means don't accept it writing 10,000 lines of code that you cannot review or test properly. Make modules small enough that can be reviewed/tested properly.
The author of the work that John Carmack is referencing is named Musashi, which is also the (coincidental?) name of a WW2 Japanese Yamato class battleship, which is quite fitting. Musashi the battleship having met its end at the hand of carrier launched aircraft, which remain a dominant technology to this day.
Aircraft carriers are to a small extent superseded in their own right by strategic bombers and ballistic missiles. We may see nuclear aircraft carriers eventually superseded to some extent by missile/drone swarms and missile/drone deployment platforms, or some other threat.
If the new dominant technology, military in the sense of being used to dominate your adversaries in any arena, relies on data centers, is that infrastructure considered pretty robust? Will that data center infrastructure fully supersede the nuclear powered aircraft carriers, as has been done to battleships? Do hardened data centers and the software they run represent the main locus of national front line capability? Are AI researchers more like WW2 pilots, or are they more akin to the people who worked on the Manhattan project?
This post makes me think harder about physical computer infrastructure. Continuing the metaphor, silicon fabs, computer manufacturing supply chains and their related infrastructure are certainly the WW2 drydocks of our modern conflict, the WW2 drydocks having been critical for the Americans to churn out aircraft carriers. And the drydocks were only one piece, but might have been considered one of the most brittle.
Some seemingly brittle pieces of AI/data center infrastructure today are the fabs and the communication links. As far as I know, the fiber optic cables connecting continents are so exposed it's almost ridiculous, the cables lay directly on the ocean floor. If severing these links favors one or another global actor, my main question is why hasn't this already been done? You can ask the same questions about severing oil pipelines and the various global shipping chokepoints. I do wonder if fiber optic cables are defensible at all in the final analysis. And what life would/will be like without fiber optic connection between continents.
I'm not sure how much more durable satellite links are, due to the cascading debris effects of Kessler syndrome.
A key idea is that if the transoceanic communication links between the Americas and Eurasia were to be cut, either powers based in Eurasia or a power based in the Americas would gain an advantage.
Semiconductor fabs... Well, if I were a military strategist in charge of national security, I definitely wouldn't publish the location of every fab. And a a self respecting superpower wouldn't leave its EUV machine production external, or would it?
Fabless semiconductor companies and AI researchers are critical to current national security capabilities in the way that people who developed radar were critical to WWII. In the long enough term some people think that eventually data centers and the software running inside will supersede and encompass these functions. The question being increasingly not if, but when. Some people think that if it can be done by a computer, it eventually will be.
It really is all about timing, the Japanese thought the Pacific conflict with the USA would be short.
John, if the introduction of the translation of Book of Five Rings is so good, could you please share the identifying information including the translator or the person who wrote the introduction?
Use and learn the tools, even if it sucks and is painful. It does not take long to feel how they work at all.
Once you have that you can pick and choose when to engage this new tool at will to "not fall behind."
It doesn't have to be all or nothing.
I mean, there is still a place in the world for a Kung Fu master… it’s just not as someone trying to win in an anything goes combat competition.
If you think there are going to be as many jobs in the future for people writing all their code by hand, I hate to break it to you. However, there will still be some jobs, and fewer people who want to do it. It will still be a path for some people.
HN is loaded with out of touch Kung Fu masters. They were the loudest skeptics against AI. Still a lot here.
It's human nature. If your identity is defined by your kung fu and a technology is about to obsolesce your kung fu, then all logic goes out the window as you go all out in protecting your identity. It's mostly for themselves. They have to lie to themselves and tell themselves that they still "matter".
I've been doing martial arts for more than 20 years, some in TMA, some in modern boxing/kickboxing. I have yet to meet an "out of touch Kung Fu master" in person. Nobody thinks they can clear the bar or win in a ruleset they haven't trained for. I mean I don't deny Frank Dux, George Dilman, and the DUST guy exist, nor do I support their claims. It's just that they are larger-than-life personalities to start with and I haven't met them in person.
Similarly, most of the programmers skeptical about AI---me included---don't really do so out of a threat to a domain we've mastered. The problem is, models, to this day, need supervision so they understand requirements, so they know where to properly look for prior art, so that they "understand" the existing architecture. That includes you, Claude. Our kung fu has been six months away from obsolescence since roundabouts 2022 and in 2026 they even rehired a bunch of out-of-touch kung fu masters.
I honestly feel personally attacked by this and I don't consider myself to be an out of touch kung fu master or technologist at all. It is just very odd to read such an inflammatory comment on HN and then have people pretend this is correct and perfectly socially acceptable to say.
Like put your shoes into the person you are arguing against, with some empathy, would you want to be treated this way?
Funny thing coming from a person with such a bio.
It's funny that we almost agree except you have it 100% backwards.
The out of touch kung fu masters are all retired or close to it. They continue to shout about their big bet on AI as loudly as possible to protect their egos and, as a last ditch effort, whatever money they threw in.
After all, everyone who is mid-career and younger cannot possibly be a master of anything. Of course they're using AI at work, but that is an extremely far cry from the AI actually helping. They use it because it's shoved down their throats and they don't want to rock the boat. Working extra hours from home is the perfect way for everyone to save face.
In other words, the older generation is delusional. Nobody is surprised except the older generation.
So, don't be John Carmack. Got it.
Resubmission of I recently went through a translation of Musashi's Book of Five Rings - https://news.ycombinator.com/item?id=49660833 (1 comment)
Slop posting