The profession I studied for no longer exists
🇧🇷 Leia em Português
In 2012 I started high school without knowing programming existed. I had no computer at home and no internet. I learned logic, HTML, CSS, and later PHP and Java in the lab of my technical high school program, during breaks, and from books.
In 2014, the school lent ThinkPads to students doing internships, and the laptops were supposed to stay at the internship site. I took mine home and kept it until the next inventory check. I’m not proud of it, but I believe that’s what made me get better.
With it, I saved entire web pages and read JavaScript I hadn’t written, reproducing it piece by piece to see what it did. Internet at home only came in 2015.
Today, anyone starting out with a phone and an internet connection has an AI in their pocket that codes better than I did back then. And I don’t know if that’s the best or the worst thing that could happen to them.
1. The 2017 provocation
“Codes better than I did” isn’t a figure of speech. The prediction is old. In August 2017, Andrej Karpathy tweeted:
“Gradient descent can write code better than you. I’m sorry.”
Three months later he published the essay Software 2.0. The idea: in Software 1.0 we write the instructions by hand; in 2.0, nobody writes the weights of a neural network. You define the goal, gather the data, and the optimization finds the program.
At the time it was an exaggeration. It held for computer vision and speech recognition, not for everyday code.
Eight years later, the line is almost literal. In 2025 Karpathy himself talked about Software 3.0, with natural-language prompts working as programs. He also coined vibe coding.
I believe in this. It’s the new way of building software. I’ve written before that rejecting AI means choosing obsolescence, and I still think so.
But I also believe in fundamentals. And holding both beliefs at once makes me uncomfortable.
2. Not even the creator of Lua knows
And I’m not the only one who feels this. People who have taught computer science for decades don’t have an answer either.
In August this year, Roberto Ierusalimschy, creator of Lua and professor at PUC-Rio, gave an interview to Ryan Peterman. He was asked whether he would still recommend studying computer science. His answer:
“If you really think about that, it’s really difficult to recommend people learning anything for a profession. I mean, we have no idea what AI will do in 5 years. If someone is entering university now, they are going to graduate in 4 years, 5 years […] nobody has any idea what your profession will be like in 4 years from now.”
Then he goes further. People say AI is great at the manual tasks, but you still need a software engineer to see the big picture:
“That’s now, but you have no idea that that will be true in 4 or 5 years.”
So the question “what should I study?” is genuinely open, even for the people who know the field best.
3. The entry door got narrower
If nobody knows what things will look like in five years, we can at least look at what’s already happening. And the numbers, coming from very different places, point the same way.
Stanford’s Canaries in the Coal Mine study used ADP payroll data (not an opinion survey) and found about a 20% drop in employment for developers aged 22 to 25 since late 2022. Experienced developers held steady.
NOTE: the same lab later published an analysis showing that part of this drop comes from interest rates, not AI. The effect is real, but it isn’t only AI.
SignalFire’s 2026 report puts new-grad hiring about 65% below 2019 at big tech, and 76% below at early-stage startups.
In Brazil, the Código Fonte TV survey, an annual developer survey run by one of the largest Brazilian tech YouTube channels, points the same way. Adding up interns and juniors, the base of the pyramid shrank year after year:
It’s a convenience sample drawn from the channel’s audience, and they say so themselves. But that’s four years in a row in the same direction.
And yet nobody is being laid off. The seniors are still there. It’s the entrance that is getting narrower.
The profession goes on. The one I studied for doesn’t. The path I came in through still exists. It just stopped paying off.
4. What’s valuable today
But if the seniors stayed, what do they have that AI hasn’t replaced yet?
I worked at a startup that was acquired by a large company for hundreds of millions of dollars. The code was no masterpiece. But the value was delivered.
Today a startup like that would deliver the same value in less time, with better code. On average, any decent model writes better code than much of what was in there.
The problem is the word “average.” Scalability, security, observability and performance live in the tail of the distribution. And someone has to know when the code is in the average and when it’s in the tail.
The Código Fonte TV survey has a curious data point on this. In 2024, the seniors were the skeptics:
| Doesn’t trust AI-generated code | 2024 | 2025 | 2026 |
|---|---|---|---|
| Junior | 21.8% | 18.0% | 14.9% |
| Senior | 34.4% | 28.9% | 17.4% |
In two years, the seniors converted. But every year they’re also the ones most likely to say AI is overrated. They use it and trust it, but they don’t buy the hype. That’s only possible if you can check what you get back.
Ierusalimschy touches on this in the same interview. With AI generating code, understanding what the code does becomes more important, not less.
That’s what’s valuable today. And I say today because I take his warning seriously: nobody can promise this will still hold in five years.
5. The floor that disappeared
But nobody is born knowing how to check code. That judgment came from somewhere.
For me there have always been two kinds of code: work code and study code.
Study code is study. You repeat, throw it away, experiment. Work code, depending on your position, has none of that. You pick up the task and follow the procedures, usually set by the project’s own conventions.
Think of a pianist. A concert doesn’t make anyone better at scales. On stage you play what you already know, the way the piece demands. Scales happen in the practice room, where nobody is listening and mistakes cost nothing.
But work gave you something: a floor. Even people who never studied outside work hours wrote code every day, read other people’s code, debugged because the task got stuck. It wasn’t study, but it was repetition. A junior who only worked still finished their first year knowing more than when they started.
And much of that floor was made of mistakes. At my internship I wrote code and got things wrong, often silly things, and learned from every one of them.
Today I wouldn’t get them wrong. The silly mistakes I made, the AI would have gotten right before me. And I wouldn’t have learned anything from them.
AI took that floor away. Today you can spend a year shipping tasks without writing anything. And you barely make mistakes. Certainly not the silly ones from your first internship or your first job.
The data suggests this is already happening. From the same survey:
| 2024 | 2025 | 2026 | |
|---|---|---|---|
| Juniors who study 4h+ per week | 24.4% | 21.2% | 16.3% |
| Juniors who feel prepared at work | 64.2% | 64.0% | 70.8% |
They study less and feel more prepared. Correlation isn’t causation, and I’m not a statistician. But my reading is that AI is delivering the feeling of competence without the repetition that used to build competence.
Barbara Oakley has a name for this in Learning How to Learn: illusion of competence. Rereading a ready-made answer gives you the impression that you know it. Only trying on your own shows whether you actually do.
AI can write the code for you. It just can’t do the repetition for you.
AI changed almost nothing for people who study. It changed everything for people who don’t.
6. “There is no magic”
But if not even the creator of Lua knows what to recommend, what’s left to recommend? The answer came from him. At the end of the interview, he was asked what advice he would give himself at the start of his career. He answered:
“People say, ‘Oh, learn Lua in 30 minutes or learn Python in 5 minutes,’ and I always say that I wanted to learn programming in 5 years. That’s it. Really learn, take your time. […] There is no magic.”
Notice that he doesn’t know which profession will exist. But he knows very well how people learn. Those are two different uncertainties, and only one of them is open.
If I were starting today, this is what I’d do:
-
Don’t delegate what you want to learn. There’s no learning to code without writing code.
At work, use AI. That’s the right call. When studying, delegating defeats the purpose, because repetition is what makes it stick. I’ve written about deliberate practice before, and it hasn’t become any less true.
-
Treat AI output like a saved web page. Ready-made code, working, written by someone else.
You can just use it. Or you can read it, reproduce it by hand, break it and understand why it works. I did that because I had no choice. You’ll have to do it by choice.
-
Learn what sits under the abstraction. PHP, Java and JavaScript are still around and still used today. What came on top were Laravel, React, Angular, Vue. When they arrived, I was ready, because I knew the fundamentals they abstracted.
In Software 3.0, the abstraction is the prompt and the agent. Under it sit inference, quantization, memory, compute cost. That’s what I’m studying now, and it’s where my post on SIMD came from.
For web developers, the fundamentals are what mattered at that startup: scale, security, observability, performance.
Know the base and you're ready for the next abstraction. -
Put something in production and keep it alive. These things used to be learned in production, by getting burned by incidents, and production was where juniors were when there were entry-level jobs.
Without the job, a personal project in production becomes the replacement for the floor that disappeared.
All of this has a cost. Studying without AI is slower than working with AI. You’ll feel like you’re falling behind while others ship more. In the short term, you will be.
That’s the trade-off: ship less now to have fundamentals later.
Today’s saved web page
I don’t know what the profession will look like in five years. Neither does the creator of Lua. But I learned to code in a school lab, with books and a laptop that wasn’t mine. And the way people learn is still the same.
Anyone in my old situation today, with no internet, is still on my path: books and the lab.
But for anyone starting out with the phone and the internet I didn’t have, AI can be the best or the worst thing that ever happened to them.
It comes down to one choice: whether it writes the code in your place, or whether it becomes the saved page you read, reproduce and break until you understand it.
Thanks for reading!