The hype from non-technical people about AI would make you think they already discovered AGI.
How people in tech are aware they're training their replacements?
Or are we quickly approaching an apex where the people running these companies realize AI cannot completely replace human developers?
Same goes for writing, anyone who has written long complex texts with LLMs knows that a ton of editing is required to make it half decent.
If it has some subtle data corruption bug then you're hosed.
It's just crazy to me to think about running AI changes in production on a real product.
The boosters are loud and the failures are made silent, until the failures become impossible to ignore. Tens to hundreds of millions of dollars spent on AI in enterprise software companies need to show RoI at some point, and the promises of executives leaning on AI's productivity improvements to make their accelerated release schedules need to actually make the releases. Its currently a very dangerous career move to publically apply critical thinking to LLM capabilities. I think the math sort of does itself.
Maintenance <> growth
Once you got a skill it’s quite hard to actually lose it. It’s like riding a bike as they say.
I find all the reading of those walls of code exercises my mind better than the writing did. I’m sure I lost memories of how to read a file by hand or balance a tree but who cares?
I am thinking about architecture and design a lot more these days and every decision I make has to be actually argued for even to myself. I can no longer lean back and say “that’s how we always do it” or “too expensive to change now” as I find many people in practice actually do. They were just coasting on premade architectural choices and their “skills” consisted of knowing arcane incantations and syntactic details completely unrelated to the (business) problem at hand.
I am not convinced many developers actually have the skills they think they have. They could wrestle syntax and mess around with tooling, but could they abstract properly? Define clear semantic boundaries? Have proper civil discussions about responsibilities and where they should lie on the right level of abstraction? Nothing has changed in that regard. If anything that part has been amplified. (“taste”)
So basically, if you use it to wave away things you've mastered or explicitly don't want to learn at the moment, you can stay focused on things you are figuring out. I don't see it as any different from writing "by induction" in a math proof without writing all the details because you and the reader know you could easily work them out. In this way I can learn things that I simply would not have the time to dig into before, increasing my skillset. As is was before AI, metacognition is the most widely useful skill to have.
People rarely cared about the details to begin with. Now those that did care can no longer justify the time that was previously required.
Is this -> More people that are not devs, are using AI to create things, and are skilling up to a mediocre level?
or
Is this -> Existing experts, are actually loosing there skills? Using AI is reducing someone already known skills.
What skills are being developed by non-devs prompting AI to churn out code they don't understand? Note that I'm not debating if the code is good or works or whatever, I'm asking if any real skills are being developed merely by prompting AI towards some goal.
If they are producing code, there is some knowledge being absorbed. Nobody is using AI to create an app is learning zero.
Its just what they are learning, is not as much as they think, and really random, not-structured. Like reading just a few random chapter of a book across multiple classes. They get a smattering of ad-hoc tidbits of knowledge.
I am really worried if using AI is reducing someone's already gained knowledge. Moving someone backwards. That has me a bit more scared.
Maybe not actually absolutely zero, but it's much closer to zero than what they would learn creating the app themselves
It absolutely is. It removes a lot of friction from pathways that kept previous knowledge firm.
This isn't unique to AI. When calculators came around, people had a new tool that decreased the need to do arithmetic in your head. This has lead to a decline in the percentage of people who knew arithmetic, but can no longer do it adequately without the external tool. Another example would be assembly skills declining amongst software engineers after compiled languages become dominant.
What I would argue is unique to AI is two-fold. The first being that the scale of things being automated is enormous. Keeping with just software, AI isn't only a tool that decreases the need to write code, it's also a tool that decreases the need to do your own research, debugging, system design, version control, etc. The list of tasks a regular engineer is responsible for that have not been consumed by AI is small. To make matters more frightening, this is just a single industry. The same applies to multiple other knowledge heavy fields (e.g. mathematics).
The second thing I'd argue is unique about AI is the addictive nature of it. These LLMs are deliberately coerced into being sycophants that blow smoke up your ass unless you deliberately tell the model not too (and it may still do it anyways!). A calculator didn't compliment your insight for asking it to calculate the square root of -1.
Furthermore, many people have talked about the resemblance of LLMs to slot machines--there's a feeling that anything could be possible if you only prompt the model correctly. Your first prompt is wildly off the mark, but your next prompt is better though still not quite right, so you continue forward. You keep iterating your instructions, your word choices, your tone, all in search of the desired response. In this way, an LLM is a slot machine, your prompt the lever you pull, and the output is the jackpot.
All this taken together, we have a machine that decreases the need to engage with the critical faculties of your own brain, which has been trained to keep your attention through flattery, and whose probabilistic nature preys on our love for gambling.
I think the knowledge being absorbed is 'how to use AI to make apps', not necessarily anything about the code itself. I've seen lots of people who are very effective with AI suddenly poleaxed in interviews without it. Going from 'able to explain exactly what needs to happen' to 'staring at a blank page with no ideas'.
How could it possibly work? Except she got through setting up her own Apple dev account, all the certificates, subscription entitlement, revenuecat integration, TestFlight, all the paperwork that goes along with a listing and all of that in about 3 weeks. She submitted her app to the AppStore for review last friday.
She didn't learn any coding but she sure as hell produced a pretty good mobile app with a subscription payment system all on her own with the help of ChatGPT and ClaudeCode. She's also producing different tools that run on her website which is hosted on squarespace. I have no idea how she's doing it but she has all these little questionairre and decision tree pages backed by google sheets. She's the second non-coder i've seen really blossom with AI and just run with it building stuff she's always wanted but never knew how.
AI is good enough to generate a first pass for an increasingly large number of projects. An engineer using AI can create an even larger amount.
But muscle memory and expertise are not fixed. They fade over time without use. If you're no longer writing code yourself, you'll get rusty on syntax in the short term. In the long term, you'll get rusty on code structure and layout.
But many engineers are no longer reviewing code either. Reviewing code written by an AI is now the bottleneck, so you're expected to allow AI to review it as well.
So we have a group of people who are no longer engaging in either the writing of the code, or the analysis of the code that's written.
Obviously, this would lead to skill loss.
Many would argue that they're not truly losing skills, because they're more engaged in the grander architecture of the code. To that I would say--your job title says engineer, not architect.
How can you understand them when everything changes again 6 months from now?
Like, problems that I would previously dig into on my own, poking at this and that log file to try to understand what happened to get a system into a particular state, now claude is mediating most of those kinds of interactions and it is the one doing the first pass surfacing of "okay I discovered X, Y, and Z things that are hinky, and I'm not totally sure yet what this all means, but let's look together."
Nowadays I feel almost naked looking at a terminal where I'm typing each character myself. A lot of the old instincts around tab completion and grepping through the --help output of every tool, all that stuff has atrophied somewhat. Maybe that is genuine skill decline?
The only way I've found to make juniors develop that instinct is to make them do it until it comes naturally--to continually demand they verify their assumptions, test out theories while debugging. If you don't practice being comfortable with the unfamiliar, you lose the knack.
It's fine, of course, to lose the knack to AI, as long as you'll never need to solve a problem the AI can't (or can't access). I don't think that's a good assumption for everyone to make.
you have to do all this when dealing with AI too. The syntax is a conversation vs a strict grammar but you still have to do all the exploration, verification, and evaluation you always had to do as a developer. You have to know how to explain what you want and know when you have it, that's not always an easy skill to learn though.
Try it sometime.
And in the morning, I have patches for the new version that pass the test suite.
Look at the prompts used to make progress on the Riemann conjecture: https://www.anthropic.com/research/riemann-zeta
> Throughout this process, Jarred's input was mostly limited to sending Claude messages of encouragement (mostly variants of “keep going” or “believe in yourself”). This seems to have helped Claude overcome some initial skepticism that it could make meaningful progress.
Jarred is not a mathematician, and not an expert on the Riemann conjecture. What new skill is needed to tell the LLM to believe in itself? What part of that work couldn't have been done by a ten year old?
I've got a friend whose firm has started using 'cognitive surrender' to describe the habit of delegating thinking to the LLM in the way that we used to skim code reviews and say 'LGTM' while missing something important.