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.
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.
Put another way: live coding, meta programming, high level abstraction, all have been possible for some 60 years now. Two generations! We don't need the monstrous amounts of accidental complexity involved in running dozens of GB in RAM for LLMs and all the "harness" apparatus, we have had from the right tooling for almost a century (!) now.
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...
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.
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?
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.
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.
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. ;)
Cars today are safer than ever. Drivers (in my memory anyway) have never been worse.
However, what actually happens is that careless drivers often cripple or kill innocent bystanders in other vehicles as a result of their poor driving. That's why seatbelt laws and improved vehicle safety features are a good thing.
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).
Are you getting older? A lot of people anchor their intuition of time and history to a certain year. There are probably still lots of people who think the 1990s is not that long ago even though it’s now over a quarter century since it ended. Maybe you mentally default to 2012 or so, when it might be true that most popular software shipped without automated tests (although manual QA was a lot more extensive in 1992).
But 20 years ago is now 2006, and unit tests were well established as a best practice. Perl had extensive automated tests in the late 1990s that everyone who ever compiled Perl would have noticed, since they were run by default and produced obvious output. Kent Beck’s “Test Driven Development: By Example” was released in 2002, and popularized both the name and practice.
I agree with the spirit of what you wrote, but my recollection of the timeline is different. The first decade of the 2000s was peak Crazy Agile Advocacy, but IIRC it wasn’t until the 2010s that unit testing really became almost universal practice. Much before that and it was still tangled up with XP, TDD and lots of other things that certainly weren’t universally accepted as good practices (notwithstanding the strident advocacy of a certain group of consultants/authors/speakers/bloggers and their fans).
I remember, back in the mid-2000s, when we had some consultants brought in to talk about different aspects of quality and testing. There were several working groups, each led by one of those external consultants, and one of them was about unit testing. This was in a relatively large software development organisation for the time, a few thousand people, and while some parts of the organisation had some form of automated testing operating by then, it definitely was not the case that the well-known products produced by the organisation all had a unit test suite. Other practices we’d consider routine today, such as peer code reviews, were also in their infancy during that period: some were doing them, many were not, and generally we had much less experience of how to do them effectively than we have today.
As an industry, I don’t think we really matured in how even the most ardent fans of unit testing were writing test suites until the 2010s either. In the 2000s, we still had lots of people mocking the entire universe and then writing unit tests that were 99% testing those mocks because of 100% test coverage requirements, and similar dogmatic nonsense.
By the 2020s, I think there was much more awareness of that automated testing is generally a good idea, but there are different kinds/levels of automated testing and finding a mix that suits each project’s specific needs is important. One of the great benefits from the more recent AI tools, particularly the agentic ones over the past year or so, has been that it has clearly demonstrated both the value of a good automated test strategy and how much of a waste of time vacuous tests are.
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?
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.
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.
It's possible, I think, but humans cannot do repetitive mental work (like reviewing code) constantly without atrophy.
Can I review 130 SLoC/hour? Sure. Can I do it 80 hours a week? No. Not even a single 8-hour workday.
I could see a world potentially where they came up with a magic prompt allowing each proposed PR to be cohesive, shippable, well factored, and everything else you need to be able to actually review it at a higher level and be comfortable with the results, but I'm skeptical. That's a major innovation if they managed to do so even as a one-off, and that wasn't the thing they highlighted when talking about the project.
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
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.
https://www.hanselman.com/blog/stringly-typed-vs-strongly-ty...
Reviews? They were the first casualty.
If your code base is script-kiddy garbage, your models are only going to keep writing more garbage. You should throw it all away. I expect that isn’t an option. Try instead instructing the model that the code you have is legacy garbage written in a hurry that needs siginificant refactoring, but that right now I need one new feature written to these new standards instead. Take it one small piece at a time. Don’t let context go beyond 100k. Good luck!
Can you be more specific? "Improve structure" can mean different things to different people.
We've ensured that agents strictly adhere to code architecture rules, using both agentic review rules and deterministic CI gates. Everything from file naming, location and namespacing to the "shape" of each file that shares the same role are consistent. We can trace functions of the same role across the same set of modules, with abstractions and code reuse where they make sense. Once someone learns the code in one part of the codebase, their understanding of that "spine" translates to other areas - the only differences relate to the specific business rules governing those areas.
>> 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.
Code review was difficult at the start due to the volume of code. One insight we gained midway through though is that the value humans bring to code review is judgment and business context. So we created a code-atlas skill that creates an artifact for PR reviewers. That artifact highlights the most important parts of the code. For example, if a PR author has made the choice to use soft-deletes when the product uses hard-deletes for everything else, that is flagged by the code atlas, and a human reviewer can use that to ask questions about it. Meanwhile, things like boilerplate are de-emphasized; any problems associated with them are reliably found and flagged by AI reviewers anyway. The refreshing part about this is that this has almost completely eliminated bike-shedding: people no longer argue about module naming or whether a comment is worded properly.
Yeah, we did that, too.
But every time I end up, for some reason, digging up deep in the code, I realize that it's not nearly sufficient in our case.
Also what kind of problems did you have with LiveView?
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.
I'm making full-stack applications at the moment.
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.
I'll never let myself be left behind but the joy professionally of writing quality software is 100% gone.
My answer was it to "ooh it would be cool if" has always to build a PoC of the thing or a MVP, then I can flesh it out when I need more features. Sometimes a web app can be a single PHP script, and a cli command can be as simple as a single file C program. Or using tkinter with python for GUI.
The answer to "ooh it would be cool if I can travel fast" is not "yeah but it'll take too long to build a car". It's "let's build a kick scooter first".
If I did not toil on it I wont use it most likely. There's a very very small amount of software I ACTUALLY desperately need in a way that I would not care how it came to exist.
Do not get me wrong, those things exist, i have a plethora of dog shit vibe code websites, clis and tuis and other random stuff on a self hosted forgejo. They did their job now they die. But it brought me no joy, in fact it was rather unpleasant the entire time doing it.
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?
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.)
Someone who says that programming is not about working at the level of about data structures and algorithms without LLMs raises red flags.
Also, are you implying that docs became better in the AI era?
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.
That's about reciting standard data structures like stack and queues. I think parent is talking more about the design of primitives for the domain of the software. That requires creativity and insight.
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.
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.
I prefer an AI that is good at data structures, architecture and algorithms. Then, finally, no more leetcode.
it's great.
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?
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.
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.
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 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?
It all depends of course where the code sits between "low level mission critical code" and "high level throw-away code". every non-trivial project has code across that entire range.
E.g. the lower level the code, the more I want to get directly involved, and that may mean typing each line manually to get that code directly into my head (IME for that purpose, writing is better than reading - have that manually written code reviewed by LLM instead).
Of course that only works if you don't have a manager breathing down your neck who insists on prioritising implementation speed over quality ;)
Also you should try assembly coding with modern (non-LLM) tooling, it feels incredibly more productive than with the primitive tools on slow machines of the past.
Also:
> software engineers can focus on data structures, software architecture and algorithms.
Come on, this is was already "normal" decades before LLMs, that's why an entire zoo of high level languages was created which allow to describe a solution in a highly abstract (yet still precise) way. Replacing this high level problem specification in a programming language with a "sloppy" human language specification is arguably even a step back.
(also tbf, I'm writing this comment while sitting in a cafe while the LLM at home is busy coding a GL mocking library ;) (which is exactly the boring type of throwaway code which should be automated)
Or do you blindly trust what machine tells you at whatever time you are communicating with it?
Architecture I might give not needing line-by-line model. But I really doubt the same with data structures and algorithms. Those are in the end build from lines.
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra#Use_of_tech...
AI would here be the word processor.
"Walking on stilts made me taller"?
Why? What makes you think your data structure design, architecture and algorithms are ever going to surpass AI in the near future?
You honestly can't see a (near) future where those 3 elements are done by AI, not by you?
That said, I think AI is still many years or decades away from completely replacing the Software Engineering profession. My kids are entering college right for a CS degree and that's what I tell them. I have skin in the game as I'm ultimately responsible for them.
I could be wrong, but anyone's opinion is at most an educated guess at this point.
I also prefer to drive cars with manual transmissions.
Agree. I made no judgement call.
>Just because Carmack
"Just because a man, who has some cachet with mountain climbers for being the first to climb mount everest doesn't mean he's any more correct about how to climb mount everest than a raving lunatic". That's your pitch?
Carmac has shipped massive selling, fun games, using low-level, innovative techniques, back when such crazy shit was necessary. The issue is the difference between what is necessary ("Miyamoto") and what is prescriptive ("Kung Fu").
> That’s ok! The retro computing scene is delightful, full of people building and exercising old skills for the love of it.
I'd say it probably depends on the kind of work you do - if the low level details are exciting then that's totally understandable. But if you're dealing with more rote CRUD work or soul sucking enterprise bullshit, then probably less so and the low level details are obstacles to getting things done, alongside sometimes unreasonable workloads.
I'm reminded of: https://www.stilldrinking.org/programming-sucks
> Every programmer starts out writing some perfect little snowflake like this. Then they’re told on Friday they need to have six hundred snowflakes written by Tuesday, so they cheat a bit here and there and maybe copy a few snowflakes and try to stick them together or they have to ask a coworker to work on one who melts it and then all the programmers’ snowflakes get dumped together in some inscrutable shape and somebody leans a Picasso on it because nobody wants to see the cat urine soaking into all your broken snowflakes melting in the light of day. Next week, everybody shovels more snow on it to keep the Picasso from falling over.
That said, AI will probably saturate most CRUD work first, which doesn't make for great job prospects.
Even those who work with CRUD apps need to know things like computational complexity of standard container types, and how to pick basic data structures or choose which basic algorithms to use. Otherwise you'll end up implementing things that have an unreasonably high computational cost that will rear its head at the wrong time.
> That said, AI will probably saturate most CRUD work first, which doesn't make for great job prospects.
I think so too. Today's AI models excel at makeshift plumbing. The boring CRUD jobs are the first ones to go with a prompt.
I see this a lot and I'm not sure why people don't think AI will be able to do this too. The self-play training that got them writing code can be used for this too.
Do you have examples of things that would be hard to train for? One that could be compensated for with changes elsewhere in the business process?
What I mean is that these things decant into technical decisions and even with all the AI in the world running a DB schema migration does not become any more trivial.
This is what declarative programming gives us, not what LLM-based generation offers.
> 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.
Using natural instead of a formal language to get probabilistic results based on token fields is not bypassing arbitrary constraints of the compiler, it is dereliction of the responsibility to know and articulate precisely what you are specifying.
Hadn’t good developers been focussing on those things, and other high-level modelling that relates the software system back to the underlying real world domain, for many years before the LLMs were in the picture?
I’d even say that it’s one of the most reliable markers of a more senior/experienced developer that their code reads like a clear and logical explanation of what the system does and why, with concerns well separated and minor details and technicalities abstracted away so they don’t clutter the rest of the code.
M currently re-writing an app that I wrote years ago. All the issues came from data structures, queries, architecture that didn’t fit what emerged as the use case.
Now I can focus on those things and work far faster, and even ADJUST architecture, theorize about pros and cons of changes as I work … sometimes I find that some adjustments are easier than I thought.
The result is far faster development, and a more optimal result where I can stay focused on improvements / efficiency rather than random minutia.
I bet thieves feel a rush when they rob a store. Does that also make it right?
AI is getting good at picking those as well. Frontier models can be fed a vague problem, analyze the code base, and pick out an architectural solution that makes sense.
We're going from a world that needs specialized "software engineers" to speak the language of the machine into one where ordinary people need only sit down and think, "what exactly would solve my problem here?", spell it out in ordinary procedural language, and get a software solution that employs best practices without the intervention of professional computer-touchers.
Tim Bryce was right 20 years ago. Abolish programmers, bring back systems analysts!
However, you cannot forget that there are problems where - all the knowledge of - AI don't help. Problems where letting AI do the work for you means putting more time and effort than doing yourself.
Problems where you need to be so precise in your prompt/spec that at that point you're coding in English. But English don't compile.
I like the idea of power tools vs hand tools. AI is a power tool, but that are times that the most pragmatic approach is using a hand tool.
"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...
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.
"We are fools for Christ's sake." 1 Corinthians 4:10
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.
"We have given up our wisdom for Christ, but you have insight because of Christ. We are weak, but you are strong. You are honored, but we are dishonored"
Not quite the same of what you imply is it?
So yeah, there's a base unit of meaning which is well beyond one or two verses (something I wish the church would learn).
I feel you aren't accounting for exactly how much "crazier" churches/sects can be, both currently and historically.
Also I want to add some Claremont era flourish to my response, ja?
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 massive benefits should be visible to outside observers as well, but where are they?
The issue is that doesn’t necessarily mean that customers will pay more, as most of the features of software are not actually core.
Doesn't look very much like growing prosperity as much as vacuuming value into the core of the corporate world system.
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?
Carmack has cheerfully admitted to being wrong in the past, for example admitting that the Saturn port of Doom should have used the Saturn's hardware primitives for a smoother experience rather than a faithful replication of the PC's BSP renderer which made it slow. When brilliant guys like him are wrong, they often are in profound ways.
Of course, it's important to be right when there are consequences on the line, but being wrong isn't ipso facto something bad.
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.
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.
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.
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.
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.
I think this will change quite a bit too. Code being readable is one of our core tenets. Functions fitting within, approximately, a screen of code used to be ideal.
Modern AI as already past solving that problem. You can give it a million line codebase, ask where something specific is happening, and it'll tell you in less than a minute.
If we can de-emphasize readability, what do we gain?
Custom hand rolled containers and data structures for your use cases are somewhat frowned upon unless really needed. Well, probably not anymore.
What about a manually inlined mega-function with loops unrolled that pre-empts some of the compiler's work? No way that would fly a couple of years ago. Already seeing this in performance sensitive code.
Yup. A lot of work is going in to reducing the skill required to operate AI agents.
For accomplishing the same task, yes.
But given these tools straight out of science fiction, why on earth would you be stuck doing the same things? There's no point spending human thought over something an agent has just automated yesterday.
Think bigger, take on more ambitious projects that are perpetually at the limits of what you and AI can accomplish.
Yet anyone who claims that fails to procure sufficient evidence or instruction on how exactly training the to-be software engineer in the age of AI should be. Until that happens, people still learn DSA, write code manually, and train their problem solving skills with programming exercises.
And I mean handwriting them, not ordering "one solution for Leetcode 1133 in Rust, please" so we can proclaim that we're writing Rust so fast that I don't have to read a book about it anymore.
Of course there's no instruction on how to succeed in a rapidly changing new field.
Do you think someone is more likely to succeed by getting their hands dirty and trying things out or waiting around for 'instruction' to be available?
> people still learn DSA, write code manually, and train their problem solving skills with programming exercises.
Maybe you're confusing computer science with software engineering? I agree that you'd still need to learn about algorithms, just like calculators do not reduce the need of learning algebra and trigonometry.
Counterpoint: a friend of mine who's not a developer has vibe coded multiple apps. They work just fine. Granted they're not particularly complex (e.g. domain specific CRUD type apps) - but clearly the skills required to do that are just "ability to talk to the AI" - in other words, everybody can do it.
The baseline of what you can do without being an expert has jumped significantly. My claim is that the baseline of what you can do being an expert has also jumped significantly.
You're not really 'keeping up' with anything, you're just fooling yourself into being part of a process that wants to eradicate your presence.
It's almost like embracing this stuff is giving them an illusion of control they don't have
This post brought to you by DraftKings. Reach Nirvana and its five bucks off your next bet on the Bardo!
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.
https://en.wikipedia.org/wiki/John_Carmack
oh
posts on Twitter
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.
If it was still going on today, the warlords would be adopting drone warfare and vibecoded 3d printed cruise missiles.
The key for Nobunaga is "Ashigaru". Nobunaga gave the guns to the peasants. That also means that Nobunaga mass produced the guns to a level that no one else was doing.
Yes it was a technological brawl, but inadvertently it was one that worked with and uplifted the Ashigaru into a real combat force.
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.
Does cooking food serve any purpose beyond mass producing food for restaurants to sell?
Especially if it comes from Carmack, a guy who doesn't need to pay rent any more and can in fact live the rest of his life without concern for producing value, etc etc. He is currently doing exactly what he wants, just because he wants it. And that happens to be VR stuff, currently, afaik. And that's his choice. So when he speaks deeply condescending about other people doing exactly what they want ("retro computing is so delightful") it definitely comes from a different place as "hey I just want to pay my rent".
Well, yes? If you want to write code that isn't useful to anyone and just gives you warm fuzzies, go for it. I've done plenty of that. But it's exceptionally selfish to try to forbid technological improvements so that you can get paid to work exactly how you want to.
Does cooking food serve any purpose beyond mass producing food for restaurants to sell?
Should we ban industrial agriculture so that you can feel more proud of your rooftop garden?
how can one exist in modern society without being an exchange value in the capitalist political economy?
linux is where it is because it is able to be a critical part of said capitalist political economy. even if you want to be a FOSS contributor all your life, you need someone to figure out the "economy" part of it.
food is a false equivalence in this case.
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.
In the sense they were not opposed to all machines as a concept. They were definitely against machines they thought reduced their labor value:
"They wrecked specific types of machinery that posed a threat to the particular industrial interests in each region. In the Midlands, these were the "wide" knitting frames used to make cheap and inferior lace articles.[22] In the North West, weavers sought to eliminate the steam-powered looms threatening wages in the cotton trade. In Yorkshire, workers opposed the use of shearing frames and gig mills to finish woollen cloth.[23]"
Citations in
Otherwise it would be like claiming that an industrial union is opposed to people working in factories by pointing to a strike action and concluding they members just want to stand around outside the factory instead of work.
Recall that my comment is in response to "it is economically infeasible for me to be a luddite".
If that means something like "infeasible for me to oppose bad labor practices" then collective action is the typical response to bad labor practices.
If that means something like "infeasible for me to destroy the employer's use of AI" then I think that's mistaking what Luddites did as being the Luddite goal.
You can say Luddites were not only opposed to machines they thought cost them (which was the main reason they started the trouble they did at that point), but they also (insert labor practices).
Read their writings or contemporary reports. The wiki page has ample references to good material.
"Luddites were not opposed to the use of machines per se (many were skilled operators in the textile industry); they attacked manufacturers who were trying to circumvent standard labour practices of the time".
How is that meaningfully different than what I wrote?
If you don’t see the first as a not honest, misleading restatement of the latter, then we think fundamentally differently about accurate statements.
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.
"We aren’t there yet, but carefully writing code completely by hand is moving from a -jitsu to a -do. "
IIRC Carmac has done judo (I'm not sure to what level).
What you say is true for modernized budō disciplines. They have very different purposes.
But this this is not what Musashi was concerned with. He was practicing kenjutsu (not kendo) / writing about hyōhō.
The primary criterion was absolutely murdering people as efficiently as possible in a life and death situation.
"The true Way of sword fencing is the craft of defeating the enemy in a fight, and nothing other than this"
That's a retroactively-applied justification to save the embarrassment for martial arts that don't make the cut for modern CQB.
Similar has already happened with martial arts, as OP mentions, and you've grown up with the new definition/focus not the original one.
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.
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.
uhmmm and what have y'all been doing to prevent fascism and wealth inequality up until the point -before- AI became a thing?
What did you do about the mandatory government IDs required to access the internet?
What did you do to reduce police brutality and unaccountability in the USA?
AI is the ONE thing that COULD give the common peasantry a chance.
..maybe that's why so many fires are being stoked against it.. *thinking emoji*
The peasantry stands no chance. Unless there is a French Revolution style uprising
Yeah civilians are not going to win with weapons anymore. The imbalance there has been ridiculously disproportionate for decades.
But the common peon can use AI to look up laws and rights and other information and shit to see what we CAN still do.
USE it before they take that away too.
The peasantry is not on the side that enforces the law. AI is. AI is a force multiplier. The more force you have, the more multiples of it you en up with. Flock uses AI to do surveillance at scale. Every cloud service has NSA backdoors.
what then?
We go back to how it was before AI
And everyone will have a better life?
Let's hear your plan
I don't have a better plan for humanity. I only have fear.
No radio, no newspapers, no town criers, no gossip at the alewife's house?
> I don't have a better plan for humanity. I only have fear.
So your best move is to go around spreading that fear without offering ways to fix shit or inspiring anyone else to do so?
My best move is to influence the people I care about to reduce dependence on these things and seek happiness in non-tech things (where tech is defined as those controlled by corporations), from community, live life from first principles. You are forcing me to answer a strange binary ... propose a fix for the world at large, or let me continue with all this shit. The world isn't as black and white.
Anyway, I'm done with this thread.
does that affect your cooking skills in any way?
In fact, if you divide your time between growing your own produce AND honing your cooking, both of those skills may suffer
compared to devoting your time to just focusing on one ability.
Otherwise if you try to do everything you'll never be as good as a full-time farmer or a full-time chef.
or how about another analogy:
Say one day your idea for a dish requires softer or sweeter carrots, etc, but oops you spent the last season only growing crunchier and mellower carrots, what're you gonna do now? With external suppliers you always have a wider choice of ingredients better suited to the end product you want at any given time.
No! And good thing I'm not a farmer!
You're equating life skills to professional skills. I was not taught to milk a cow, but my milk comes from someone who was. The topic is whether software engineers in a professional context learned certain things about software.
Your milk likely comes from an automated milker machine..
If tractors plowed reliably 95% of the time, but unless carefully monitored the other 5% of the time they would blow a big hole in the ground, it would be difficult to abandon your shovel entirely.
> 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.
(I spent a few minutes checking, but couldn't find the original quote)
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.
> 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.
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".
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.
That is a very generous assessment of Frank Dux and George Dillman.
Dillman at least started off as the real deal. Dux was a total fantasist. I still find it hard to believe any bought into his 'blood sport' story, let alone made a film about it.
How do you recognize someone who isn’t lying to themselves? It’s hard. There’s no definitive answer but lies people tell themselves tend to be rosy and comforting. When someone tells you their own identity has been eviscrerated by AI that’s not a comforting lie. It’s more than likely a practical analysis.
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.
Like put your shoes into the person you are arguing against, with some empathy, would you want to be treated this way?
Unless if you feel it’s referring to you then you’re saying what I said is true. If what I said is true, then it’s not an attack is it? I’m just spitting facts. So don’t get offended, don’t think of it as an attack.
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.
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.
> We're souless automatons feeding a machine god.
whats the machine, capitalism?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?
> 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.
Going from the specification to the code is not a one way street. You adapt the whole chain. Saying the only thing that matters is the spec is squinting your eyes and hoping for the best.
You stop learning how things actually end up in memory, compute, storage and network this way. Not sure how you can build a secure and fast spec then.
And even if you do know i never understand why not typing it out. You can use a lib if you don't want to worry about these details or know you are not skilled enough (tls f.e. ...). But having AI do it introduces uncertainty where there can be determinism.
I think it's just laziness and people not liking the pain of learning or needing to show off whatever first. Who knows. Still don't see a reason to use these tools outside of learning or whatever i used a google search for before.
Arguably, architecture is the only thing that ever mattered. Below the level of architecture you're dealing either with algorithms or API calls. Algorithms can be validated by tests and API calls can be validated by tests and the type system.
But architecture is the one thing that could make or break a project and that you can't test for ahead of time. You either know how to create a good architecture or you don't. In fact, the whole point of the Spolsky's Architecture Astronauts' essay is that bad architecture (and bad architects) are a big problem.
AI works amazingly well below the level of architecture, but (I've found) it's not very good at architecture.
That exploration helped me see whether general "best practices" are applicable in this frame, and let me justify if not.
That was also prevailing opinion pre LLM:
> Only the hands on engineers can shape it since the design evolves in step with writing the code.
So I'm curious to know where people changed their minds.
But I don't think you expect an architect to have written all the code, right? I don't even think you expect an architect to have read all the code.
The whole point of being a good architect is understanding the abstractions so that we can focus on the overall system without necessarily knowing all the details. I don't need to know the FFT math behind JPEG to integrate an image library.
So there's no real change in opinion. Architects were never expected write or even understand every line of code.
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.
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.
Wow that resonated by a scary amount.
At the end of the day, LLMs are still tools.
Convenient way of saying "you're holding it wrong".
But that's boring and you can't build a YouTube audience around it.
LLMs are just tools indeed.
I don’t know what to say to those types anymore. Live and let live I guess.. or in this case, not live I suppose.
Useful talk and meetings all day is fine, but these are just to write busy/billable hours for all these useless folk with no value for the project. And socially I like listening and talking, just not for this.
I'm currently working on porting a mid-sized project to a new architecture, new programming language and of course adding new features.
Getting a new feature implemented is quite easy. You spend a few hours brainstorming specs with the agent, then ask it to implement it. This gives you extremely frequent code drops that add a new brick, add a new feature, etc. All of this with 100% code coverage (we also have mutation testing, strongly-typed code, standard and custom linters, etc.)
Then you look at the code. Code that has passed review, generally. You realize that the database schema has been broken silently, and that the agent has rewritten the tests or the golden fixtures to match. You realize that it has made assumptions that contradict the specifications and the product is going to break once it's in the hand of users. You realize that the 100% code coverage is essentially a convenient lie, because the code and tests have been written to make passing easy. You realize that none of the security golden rules have been followed, and that has managed to happen because the agent has somehow deactivated linting.
Why did it pass reviews? Well, because of deadlines. And because there is simply so much code (and so much unparsable/misleading documentation) that it's simply impossible to review all of this. And because things move so fast that nobody understands the CI pipeline anymore, and the explanations of the agent are convincing enough that surely, it knows better than you?
On the upside, bugfixing becomes so fast! Just add a new test, wait a few dozen minutes, and a new Merge Request appears. With equally convincing/misleading explanations, and something else broken.
After ~4 months, we had a bare bones deliverable, which we're now steadily expanding. If we had had to write the product manually, I suspect that it would have taken us at least one year, possibly two. So, that's the productivity increase. The productivity decrease is that what we have is not a product but a glorified demo, something that will work very nicely on the happy path, but on any other path, all bets are off.
> "Why did it pass reviews? Well, because of deadlines. And because there is simply so much code (and so much unparsable/misleading documentation) that it's simply impossible to review all of this. And because things move so fast that nobody understands the CI pipeline anymore, and the explanations of the agent are convincing enough that surely, it knows better than you?"
I have come to realize that AI is so "successful" because the system in which it is being deployed was designed to push product as fast and cheaply as possible from the start.
Humans are usually overworked and stretched to their breaking point, which I originally saw as the source of our broken software woes, which, like our streets in the US, just get a new layer of asphalt to cover up the crumbling bits each year instead of rebuilding the infrastructure with reliability and longevity in mind.
My former employer was using both Claude and Codex for firmware that was driving an over-burdened power circuit that itself was partially designed with ChatGPT. All of the individuals involved approach LLMs with god-fearing reverance because they do not understand _how_ the LLM works, just that it _does_ in a "good enough" way and they can offload their thinking, which is something we all wish we could do because thinking is hard, time-consuming and costly. I get it.
But like you mentioned, tests were being passed, not because the code was sound, but because the tests were altered to match the results. This is not necessarily the fault of the agent, either; it's just interpretting the prompt(s) - written by a flawed human, btw - with stochastic mechinations that seem to make a great deal of sense on the surface, but remain unable to be followed or repeated by the brains of (most of) its users.
As a rresult, I had to deal with product that work great in the field...at least at first, before it start literally catching fire, ruining its own powertrain because everything the agents touched became too complex with too many subtle cracks in the veneer to review properly. The system (read; capitalism) demanded viable product quickly to please investors, and the burnt-out humans who decided to try this AI thing ended up trusting it nearly completely, so any ideas of repeatable and complete testing, diagnostics and root cause failure analysis morphed into a sloppy "it works on the bench" checklist before being sold to a customer who had come to trust that their deceptively simple product would just work as advertised.
I'm going to die on the hill that AI as a replacement for our brains is precisely how we will make ourselves go extict, but I am old enough to already be regarded as a crufty dinosaur who is stuck in his ways, and I'm made peace with all of that. What I can't get my head around is watching people use this awesome tool (and it is, admittedly, awesome) to literally just speed up all the mistakes they were already making. Perhaps it is because I am aging, but slowing down and having a think seems more valuable to me now than it ever has, especially when creating something new. AI is powerful and, like any good tool, could be useful in the right hands, but more often than not I see it being used as an accelerant for all the worst parts of product development to appease a market that has suddenly been told they can now pick all three points on the Iron Triangle instead of just two. This makes about as much sense to me as taking a laxitive when you already are suffering diarrhea.
> and the explanations of the agent are convincing enough that surely, it knows better than you.
I feel this in my bones. I also get to watch the misalignment feedback loop close itself when the next agent sees that security rules aren't followed because of a hallucinated 20 line justification in a code comment, and then it decides that the project _is_ a demo and then confidently writes even more security holes into the codebase.
Then when you catch the issue, the agent pushes back against the fix because it would need a schema change and production DB migration.
They are very good at that.
> Then you look at the code. Code that has passed review, generally. You realize that the database schema has been broken silently, and that the agent has rewritten the tests or the golden fixtures to match.
I find that the code review leg of this is critical to invest a lot of energy into hardening.First is don't trust the code review from your local harness, even if it uses sub-agents; externalize it into another system.
Second is to get your most critical human code reviewers to encode their heuristics in markdown files and feed those to the code review agents.
Third, if possible, is to bring the code review "into the loop" so that it's not only running in the PR, but also running in the coding loop so the coding agent has immediate, external feedback. Final PR code review is a backstop.
This pattern [0] works well because it solves for some team level problems where folks are using different harnesses or different models (consistency issues) and it means that code reviews don't just sit at the end of the loop; it actively alters the code production cycle.
We do spend all our time either code reviewing or talking with clients but the latter was already the case and the former was just better spaced out over time as this would before take many months.
If you company is all about creating things that go on the internet, sure, AI is your thing. But for most companies the internet is a communications tool rather than a product. Those companies are not seeing the claimed productivity gains.
Everyone in smaller companies describes various efforts to get AI to do more that ultimately end up involving lots of corrections or nurse-maiding ChatGPT to get it to do exactly what they need, when what they need is often so formulaic they should already have a process.
Nobody I talk to describes it in terms of massive productivity gains. Everyone describes it as a puzzle they feel variously compelled to solve.
I’m a critical user, not a categorical denier. But there are certain categories where I see the current AI face a wall: fitting new ideas, or existing code into an existing architecture particularly. Or work on the backend when constraints are not strictly enforced (for various historical reasons). Schematic understanding is still an issue.
Sometimes additional chunkings and detailed planning/instructions suffice. But other time, humans are still the best vehicles to code.
Plenty of reasons, including:
1. They don't (yet) know how to use AI to accomplish what they need.
2. The ROI is still meaningfully positive and they don't want to have to do it themselves.
3. Having a third-party do the work provides protection for decision-makers. If the project fails, the third-party takes the blame and "nobody gets fired for buying IBM".
4. The vendor does bring valuable insight to the table and pairs it with the use of AI to deliver a result that wouldn't have been possible in-house.
This doesn't mean that everyone will be able to get work and maintain their rates in AI world but some people will.
Meanwhile they've apparently played with LLM porting of Postgres (or Postgres features?) and "would not put it in production"[2], so we can also guess the kind and scope of features being discussed here.
We can have fun and make money right? Possibly at the same time but not in that case.
Which is fine, great even (I do the same thing!), but in trying different things outside your day job, it seems like you do understand why people working on different things than you might be "reporting all these negative AI experiences"?
The code their Astra+Fable setup, automatically generated from requests customers leave in voicemails, is apparently so good they never correct it. If the stories being woven are true, the SLA is literally just a middleman's 100k cut.
At the very least there might be some particulars here that aren't universally applicable.
Indeed, welcome to enterprise software.
It's not a general argument, they made specific claims, but vague posted (and implying everyone else must be crazy) to the point that the conversation is derailed by a bunch of people trying to figure out what they meant.
> it still wouldn't invalidate the core thesis of LLMs providing business value.
lol, no, "providing business value" is not what was claimed:
>> What are people here doing exactly that they are not riding the gravy train and even reporting all these negative AI experiences?
People talk a lot about how "real programmers" used to have to clean up or actually deploy everyone's half-baked MS Access app, and that sort of thing will probably still be the case for a while.
So we are switching to LLMs to be fucking miserable in our jobs?
A year ago, LLMs were not useful for me as a programmer. Now they are: the models are better, they can use long contexts more effectively, and the harnesses are better at helping the models. Nowadays my job is mostly not programming, but LLMs let me organize and prepare tools in spare time rather than needing days or weeks of attention. I would not trust them on a 200k+ line project -- and Claude Opus 5 has issues even on 50k LOC projects -- but they absolutely can help given good direction and a narrow enough scope.
I do actually understand that.
I have done this very put the Access database on the web job myself. (FWIW I was well-paid for it and the firm I worked for earned a fortune, but this was in 1997)
Of course they will do it by themselves.
Because it's cheaper.
I mean it's weird that we all imagine reasons why we're still relevant when we have set fire to the thing that made us indispensable.
It's cheaper.
Very few things in this world are all-or-nothing, and not every purchasing decision is based on price alone.
Do you always buy the cheapest meal? Car? When you renovate your house, do you always choose the cheapest contractor?
Tons of developers will lose their jobs, and many more will find it hard to maintain the salaries/rates the industry has been accustomed to. This is already happening. The days where an average graduate from a run-of-the-mill CompSci program or even a coding bootcamp could sleepwalk into a $150,000+/year entry-level job are largely gone. The days where you have job security simply because you're a competent developer with 10 years of experience are in the process of going away.
This does not mean that there is no subset of developers who cannot be successful in this market. There are people who are doing just fine because they know how to articulate their value and sell themselves to employers or clients.
I mean, that's exactly what's starting to happen, we have more and more clients to whom we propose a quote and their answer is "guess i'll just vibe code it" or come to use with an app that they vibe-coded and does the job, and they're content with it. So far it seems to work out just fine for them.
They can do it. What's the issue?
It's easy if you're already an expert at software engineering and know how to leverage AI. For people like that, it's a phenomenal upgrade (this is true for me and several co-workers I chat with, all of whom are chasing cool ideas on side projects). But if you're non-technical, or not use to thinking about requirements, or think that using AI is "give me the prompt", it's a pretty big moat to cross.
Because it's not (yet) that easy, especially if we're talking a complex and genuinely useful app. Agentic coding is fast, but it's not magic.
> I’m a critical user, not a categorical denier. But there are certain categories where I see the current AI face a wall: fitting new ideas, or existing code into an existing architecture particularly.
Exactly. Which is why Joe Average still will have little to no luck vibe coding anything serious or novel. You still (IME) need a lot of active guidance, still need to push away from dead ends and propose alternative algorithms, and it takes hundreds of prompts to go from concept to what I would consider beta. (But, this is just my own experience, and it's possible I'm doing it wrong?)
The spirit of the parent comment is true. People feel like it's productive and even if they make something worse, they are going to use it.
OK so, it sounds empty and miserable to me, but we can stipulate that this is how it is working out for you.
Given that stipulation: how long do you think this can possibly last, when you are in a race to the bottom with everybody else who is doing this?
Have you made plans about how you will get out of your office lease, downsize, subcontract this button-pushing to even cheaper people overseas, etc.? Are you ready to lay off everyone who works for you, downsize your house to a smaller mortgage? Because you're on a burning platform. If you can do this, so can everyone else.
I mean, I think we all are, possibly, on the same burning platform; I don't think I can fully avoid AI so I am trying to make sense of it.
But I intend to fully avoid being in a race with other phone whisperers if I can.
I think the years of software development/employment for problem solving, in and of itself, are numbered at this point. When people start to understand how relatively easy this stuff is, they're going to be in-housing everything. Not only for price but also because of increased flexibility/confidentiality/control, and even lower concept-to-live timelines.
What third party stuff continues to exist will see its comp plummet. I imagine now you can already get some really nice quality software contracted out on places like fiverr for nothing simply because the skill involved to produce quality solutions has plummeted.
But yeah — I mean, I am a freelancer who burned out for reasons that are rather more influenced by the SaaS wave. That was hard to compete with. People choose between the solution that meets their needs and changing their processes to meet the ten-times-cheaper solution that doesn't, and that decision is often not at all irrational; by and large you want as many of your problems to be shared problems as possible.
I am trying to return to work so I am looking at what AI can really do for me, but the conclusion I draw is that since I cannot simply burn token money to solve people's problems, and because bugs cost me money, I need a strategy where I remain in full control of actual code, but LLMs help me do things faster. If I can't solve that, I am out.
Perhaps AI will upend the SaaS market before it fucks the freelancer market and the balance may temporarily shift. But it probably won't.
And at that point, as a fiftysomething, even with a bit of financial security, I start thinking about living a rather shorter, happier life, instead of a longer one. Because as much as I might have ideas, I don't think there is much I can switch to where I have appropriately deep skills to survive AI there, and all those alternative jobs will be oversubscribed and less likely to hire me.
I wonder if people in this industry have understood what we are doing to ourselves, to our friends.
But in these parts of the world, making a few bucks doing whatever in the software world goes so much further. Because of that I think LLMs are bringing in something like a temporary golden age. And these parts of the world will be the last to have the lights go out on software simply because the low cost of living means there's a whole lot more slack to give before things get bad.
Quality of life will not improve, because I will be lonelier (plus I have a great quality of life here in other ways, that many places cannot match) but I am mostly reconciled to that loss. I will have a fair bit more flexibility in use of space, which means I can be a bit more of a portfolio-earner; I do have some fringe skills that could make some money still, and I can have a little workshop or studio.
> But in these parts of the world, making a few bucks doing whatever in the software world goes so much further.
I am (undiagnosed but very obviously) ADHD and I don't tend to find it easy to make a sustainable income off "a few bucks" here and there; the effort expenditure in managing it always ends up subsidising the work. It's part of why I am burned out. I need thicker strands of work and those are fewer and further between.
I have little certainty when things will get bad, but I do think it likely it happens in the next five or six years, and I do know that when things do get bad they favour the young. Which I am not. It is clear to me that I am never getting an ordinary dayjob in the tech industry again.
I don't mean to sound particularly gloomy but I think mine is the generation whose lifespans will dramatically shorten. I think a lot of single middle aged people (men mostly) in the tech industry will choose the time and manner of their departure. Because we are deliberately creating both misery and job insecurity.
Since you already have that in you, I think you'll be surprised what you'll find - entire communities of interesting English speaking tech-oriented folks, many with more than a few grey hairs, would be just the start. And don't forget the teaching aspect. If you have a degree, smarts, some basic charisma, and can roll with a bit of chaos - you'll find plentiful opportunities to teach any topic imaginable. It's not just English, like many think. It's really quite fun!
I do not have the psychological constitution to teach kids so I am not going to do that.
But teaching/training adults is an industry that AI will destroy because the baseline income — the stuff nobody else wanted to do but you could earn from — will be eliminated, increasingly by policy directives from above. I have some ideas in that regard but it is difficult to see how I won't end up competing with LLMs when even open weights models are pretty good at coming up with tech tutorials etc.
Broadly I think there is undue optimism about what will be left to move to when the programming jobs dry up.
(Thank you for the discussion, though! I may sound quite negative but actually I am doing better than I have been for years, and it is always useful to provoke one's own thoughts)
I don't think AI will touch education. A good case study there is Khanmigo which was to be Khan Academy's revolutionary AI tutor. There's been a million articles written about the topic. It completely failed, in spite of receiving massive sponsorship and imposition in various educational settings. And I'm kind of surprised that Khan himself didn't understand or predict this. As you probably know, great intrinsically motivated students don't really need teachers. You could give them a book or a sort of LLM tutor, and they'd excel completely independently. But then there are the other 95% of students you have to consider.
And those other 95% tend to fall into camps of either being a bit less gifted in the cognitive domain, or lacking motivation. Depending on exactly where they stand on the balance of two, a good teacher can have a huge impact, whereas 'go learn with the LLM for a few hours' would have them tune out instantly. It's because teaching isn't just about literally teaching, but about forming a rapport and trying to gradually push those 95% into more of the habits and patterns of the 5%, but without them realizing they're being pushed in that direction. An LLM there is almost entirely nonsensical.
I know fiverr will start delivering nice software in 5 years and that’s what I worry about. By that time fiverr is probably just a chatbox though without humans, as what is the point?
The days of b2b saas subscriptions doing one simple thing well for 3 or so users are however numbered.
And your competition is not non-skilled people using AI to take your jobs. It is _cheaper people_ using AI to take your jobs. All the things that outsourcing teams used to struggle to match are much less of a struggle to match when you are actively depersonalising your own effort by handing it to Claude.
It’s spectacular for small projects, limited-scope apps (eg marketing campaigns etc) and for market-testable prototypes.
But if you don’t review and edit the code, things become unmaintainable soup very fast, with subtle logic bugs all over the place. And if you do review and edit the code, when working in large nontrivial codebases, then in my experience AI doesn’t actually go faster even if it feels like that at the start of each task.
Obviously this only holds if you have any sort of code quality standard to begin with (and I agree that with small / short-lived products you don’t need one)
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 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?
Should they be forced to sit back and tell stories of the good old days because their knees are blown out?
Do you believe that one of the greatest living programmers is so washed up at 50 that _even with the greatest LLM tools_ cannot ship something publicly in four years to back up his claims?
> 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)
https://www.npr.org/sections/thetwo-way/2014/01/13/262096410...
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.
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.
What complain? OP asked a question. Carmack created Doom, Quake in 2, 3 years. What has 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?
He's doing research, not product work now.
He's been spinning his wheels for a while. Carmack is a great example of how important working on the right stuff is. He's undoubtedly a brilliant programmer. Through him we get to see that a brilliant programmer working on non-programming tasks, can produce nothing.
(Note I'm not being pollyannish here -- a lot of codegen downright sucks).
Maybe it's him, maybe it's his employer. I don't know. I am skeptical of AI's impact on work myself but I just don't think AI is the only thing to blame here.
Carmack is an amazing engineer, a genius even, but either the age of the individual contributor creating the entire thing from the ground up is over, and he's bored of it, trying to find a niche where this still works, or he is exploring the areas in which to apply his curiosity.
What I'm saying is that his current productivity or lack of thereof isn't a marker of how AI is productive (or not) in general
It was at an era where someone good at their craft can get the recognition they deserve. However, while some things he managed to figure out himself.. other things were ideas from others. He simply tried it and reviewed the results!
Looking in the games industry today - an 'individual' is not going to get the same recognition like John Carmack back in the day (or Ken Silverman, etc)
This industry is LARGE. Any god-like programmer trying things within a large corporation is not likely to get noticed today as they hide away in the background pushing an in-house games engine forward. I am sure there are a fair number of John Carmacks out there. Invisible... nameless legends pushing things, etc.
As for indie companies - why risk trying to be a 2026 version of John Carmack when Godot, Unreal, etc, exists. Its a different world today!
Same thing for AI. I bet there have been some legendary programmers working on AI in the last 10 years. Again, nameless individuals behind the brand.
If any names are mentioned... its likely CEO's or other higher ups... not the talent underneath. I guess thats good business strategy and works [for the business].
Focusing on John Carmack - I am not taking anything away from him. He is a legend. I am sure he contributed towards VR before and after Meta purchase. With AI.. I guess we will see.
At the end of the day the guy could walk away and focus on hobbies. Still has a lot of batteries left. More power to him.
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.
I once saw an early black and white film of 2 Chinese Kung Fu masters fighting in a ring. Some sort of grudge match I think. It was embarrassing. You would see better technique outside a Wetherspoons pub at 2am.
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.
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.
I'd wager that the most common reaction to change is actually "wearily accept it as there is no realistic option".
Most change is deleterious to those affected; it requires them to change how they live or work, or pay more, just to maintain the status quo. This sort of change is usually imposed by large organisations against which the individual is helpless.
When people are faced with that sort of change it's little wonder they complain about it, but eventually they have to submit to it or face a degredation in their life or work.
Then those who imposed the change roll their eyes and say "ugh, people are so afraid of change," being insulated from and benefitting from it.
The next time you receive a ToS update from your $FAVORITEVENDOR that negatively affects how you do something, or a new tax filing requirement from $GOV that takes up more of your personal time, do come on here and post about how you embraced the change.
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.
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.
Run it on a throwaway system, pick a codebase you’ve always wanted to fix something about but didn’t have the time. Like you wanted to do a major refactoring or do a library migration to a better maintained library. Or you want to rewrite part of a program in rust for performance/security improvements.
The hardest part for me is sometimes it is hard to write what I want in a prompt; but you don’t have to put everything into the prompt, you can make a code edit as an example and then say; look at this diff, it is doing X; look for and apply this some transformation across codebase Y
If you have a good codebase, AI will have good patterns to follow and will produce pretty good code; and you can quickly iterate on the results (maybe over new context windows) and get high quality code that looks very close, if not indistinguishable from the pre-existing code.
Also try it with a frontier model though. With $20 for a one-month sub you can get a decent amount of GPT-6 Astra usage.
Thanks for the suggestion. But I don't have a throwaway system. All 3 of my codebases are commercial software that I charge money for. Also, I don't trust an AI not to serve substantial parts of my codebase to a competitor. Maybe I will try it if I start a new project. I fancy a go doing some Webassembly graphics at some point.
>Or you want to rewrite part of a program in rust for performance/security improvements.
My code is battle tested and robust through years of use. I don't rewrite stuff unless there is a real need.
An alternative way is using it as a pair programmer, which is one step above enhanced StackOverflow.
Seems like a fundamentally poor analogy. Software development is collaborative, not competitive.
If so… Very poor choice of metaphor. Nothing resembles AI coding quite so much as the mystical master waving his hands in karate-style movements, seeing dozens of his opponents helplessly bowl themselves over, and eventually coming to believe he truly has the power to defeat any enemy.
If I still edited videos I would have “make no mistakes” fly out of his hands, and the students would have little “you’re absolutely right” and “that’s on me” captions on them as they flip themselves over.
Most jobs, programming included, aren’t like that at all. There’s an element of competition, but you don’t get killed by somebody who does it better. Maybe they get paid more, but you can still have a job too.
I read this advice like: in a world of backhoes, don’t be a guy with a shovel. Except a guy with a shovel is still very useful in the modern world. Backhoes are great but can’t do everything. And even for jobs they can, the shovel might be good enough.
I suppose it comes down to how hyper-competitive some people are, particularly the "greats", that working on software is in the same category as fisticuffs.
> something as mundane and non-violent as computer programming gets compared with violent combat
ever worked at s large corporation?I have yet to see evidence that AI produces code that is higher in quality than human-written code. I have yet to see anyone show that burning through tokens is economically smarter than paying human engineers. All that is being revealed is how companies and software engineers truly feel about the work they do.
This technology is impressive, and we cannot doubt this. However, it seems that those within Silicon Valley are desperate to showcase the innovative spirit which has been absent for two decades.
i think this is a problem larger than just programming; we see it everywhere in western(ish) culture more and more ime....
I agree with you wholeheartedly; I was just talking with one of my friends yesterday about this. I don't think AI is causing most of the problems we are discussing, it is simply exacerbating them to such a degree that they are hard to ignore.
yes, regardless how one feels about "ai", its obvious to me its basically gasoline being dumped on this "faster and more" culture we are all suffering from...
> [...] I don't like the "great equalizer" effect. [...] Like a kung-fu expert who wandered into a wild-west saloon of drunks all packing six-shooters. (I'm still working on this metaphor.)
Might as well share the entire off-the-cuff email, replying to a great software engineer friend who recently went academic, when they asked what I thought about AI development.
> "You're absolutely right," as the chatbots say.
> I think Claude Code (which I think is currently regarded as the best brand for software development) is for banging out *something* when you don't care so much about the quality. Like most applications of generative AI (homework cheating, customer service, usual corporate ticket-closing).
> And I'm definitely not thinking through the problem very well. The first time I noticed this was on UI design, where Claude would emit a generic *something*, and then the mode is to make incremental tweaks, rather than going through the mental exercises and holistic thinking.
> So sometimes I'm thinking like a non-technical manager, giving initial spec, and then iterating on things I notice -- not thinking like a designer, architect, or engineer.
> Or, like a senior engineer who has to mentor a hyperactive intern who bullshits and plagiarizes like crazy, and makes empty apologies like a sociopath when caught, but is the CEO's nephew, so you can't just fire and blacklist them. You just have to get *something* out of them.
> I can do much better design and better implementation myself, but it's good enough. And it's better than at least half the industry software engineers, so a lot of people who never cared much nor got very good, are in trouble. And management is often a poor judge of skill, if they even care.
> Besides the questions of its performance and utility, and all the ethics questions, I don't like the "great equalizer" effect. Now a lot more people can do (or seem to do) many of things I can do. And I'm having a lot of trouble job-hunting, and companies mostly want people to be using or building AI. Hence learning the robo-plagiarism tools. Like a kung-fu expert who wandered into a wild-west saloon of drunks all packing six-shooters. (I'm still working on this metaphor.)
That conversation might've started when I showed friend my new gen-AI portfolio site, so the context would be realist assessment and handling it, spoken to someone who already knows I'm an enthusiastic hardcore engineer.
BTW, for you it would have been pretty bad if coding had been solved in the Quake-3 era. Quake-3 was technically sound but had excruciatingly boring and bland gameplay.
Fortunately, coding has not been solved.
With Instant Indian, all your code writing worries are now a thing of the past!
Have a dropdown menu to implement in Angular? Instant Indian.
Boss wants to use GraphQL? Instant Indian!
You can even use it for sexua ...
Never think again! Simply launch the Instant Indian dashboard and enter some vague product requirement just like every PM in history and in seconds your Angular v1 controller will be ready to use - in React!
Call now!
Cringed.
that was truly, deeply, unnecessarily condescending of him.
it's so full of self-importance, even if he truly believes that whatever code he's writing is more important than anything else, it's really an unnecessary dig
especially coming from some guy who by many people is mostly known for his accomplishments in an era that many people would call retro computing now
sure I know this guy is almost literally the definition of the 10x programmer and he can choose to work on whatever he wants, so whatever he decided to work on is probably the most important thing to him, and if that's VR, that's ... also a choice.
doesn't mean he should be this condescending about what other people are doing