This is a follow-up to The End of the Application Era, which argued that AI is dissolving the value of application-specific expertise and shifting leverage toward first-principles thinking and infrastructure literacy.
A number of people responded with the same question:
Okay, but what does this mean for my kid? My student? A middle schooler who's interested in tech — what should they actually be learning right now?
It's a great question. And the honest answer is that the traditional path — pick a language, grind through tutorials, build a portfolio of apps — is no longer the best starting point.
Not because coding is dead. It isn't.
But because the relationship between a person and a computer has fundamentally changed. And the kids who understand that shift early will have an enormous advantage.
Forget "Learn to Code." Learn to Think in Systems.
The old advice was simple: learn Python. Or JavaScript. Or Swift. Pick a language, memorize the syntax, build projects.
That advice made sense when the bottleneck was talking to the computer at all. If you couldn't write a for loop, you couldn't make the machine do anything.
But that bottleneck is dissolving.
AI can now write syntactically correct code in dozens of languages. A twelve-year-old can describe what they want in plain English, and a language model will produce working code in seconds.
So the question is no longer, "Can you write the code?"
The question is: "Do you know what to ask for?"
That's a completely different skill. And it starts much earlier than most people think.
Start With How Computers Actually Work
Before writing a single line of code, the most valuable thing an interested middle schooler can do is understand what's actually happening inside the machine.
Not at the electrical engineering level. But at the conceptual level.
What is a file? What is a server? What happens when you type a URL into a browser and press enter? Where does the data go? Where does it come from? What is a database? What is an API?
These aren't programming questions. They're infrastructure questions. And they're the foundation that makes everything else make sense.
Most coding tutorials skip this entirely. They jump straight to "print Hello World" without ever explaining where that text is going, what process is running it, or what the terminal actually is.
A kid who understands that a website is really just a folder of files on someone else's computer — and that a browser is just a program that requests and renders those files — already has a more durable mental model than many junior developers.
The Four Layers Every Young Builder Should Understand
Here's a framework for what to actually learn, in rough order of priority.
How the internet works.
Not in theory. In practice. What is a domain name? What is DNS? What happens during an HTTP request? What is a server? What is a client? What is the difference between frontend and backend?
You don't need to memorize RFCs. You need to be able to draw the picture on a whiteboard. The kid who understands the request-response cycle at thirteen will outlearn every peer who jumped straight into React tutorials.
How data is stored and moved.
What is a database? What is a table? What is a row? What is a query? What does it mean to filter, sort, join, or aggregate data?
SQL is worth learning early — not because it's glamorous, but because it teaches you to think about data as a structure. Every app, every dashboard, every AI system sits on top of stored data. Understanding how that data is organized is one of the most transferable skills in all of technology.
How logic works.
This is where actual coding enters — but framed correctly. The point isn't to memorize Python syntax. The point is to understand logic: if/then conditions, loops, variables, functions, input/output.
Python is a fine vehicle for this. So is JavaScript. The language matters less than the habit of thinking in structured steps. A kid who can break a problem into a sequence of logical operations — before they touch a keyboard — is learning the skill that lasts.
How systems connect.
What is an API? What does it mean for two systems to talk to each other? What is a request? What is a response? What is JSON?
This is the glue layer. Modern software is not one monolithic program. It's dozens of small systems passing data back and forth. A young person who understands this architecture can look at any application and see the skeleton underneath.
Use AI as a Learning Partner, Not a Shortcut
Here's where the advice gets counterintuitive.
AI tools like Claude, ChatGPT, and Copilot are incredibly powerful. And a middle schooler should absolutely be using them. But not the way most people think.
The wrong way to use AI: type "build me a to-do app" and paste the result without understanding it.
The right way to use AI: build the to-do app yourself, piece by piece, and use AI to explain every part you don't understand.
"What does this function do?"
"Why did you use a dictionary here instead of a list?"
"What would break if I removed this line?"
"Can you explain what this API call is actually sending?"
AI is the best tutor that has ever existed — infinitely patient, always available, and capable of adjusting its explanation to any level. But it only works as a tutor if the student is asking questions, not just accepting answers.
The goal is not to produce code faster. The goal is to build a mental model of how software systems work. AI accelerates that process dramatically — if used with curiosity instead of passivity.
Build Things That Solve Real Problems
The single best accelerant for a young person's learning is building something they actually care about.
Not a tutorial project. Not a homework assignment. Something real.
It could be small. A script that organizes their music files. A website for their school club. A tool that texts them when their favorite game goes on sale. A simple database that tracks their book collection.
The project matters less than the fact that it requires connecting multiple systems. The kid who builds a simple website with a database behind it has learned more about real software than someone who completed fifty isolated coding exercises.
And here's the key insight: the specific tools they use to build it will become obsolete. The framework they learn today won't exist in its current form in ten years. But the pattern — frontend talks to backend, backend queries a database, data flows back to the user — that pattern will still be running the world.
What About App Development Specifically?
A lot of middle schoolers want to build apps. That's great. But the path to building good apps has changed.
The old path was: learn Swift or Kotlin, study the iOS/Android SDK, spend months understanding platform-specific UI frameworks.
That path still works. But it's increasingly not the best use of a young person's time. Here's why: most "apps" are really just interfaces to data and services. The interesting part isn't the button layout. It's the system underneath.
A better path today looks like this:
Start with the web. HTML, CSS, and JavaScript remain the most universal interface layer in computing. A middle schooler who can build a functional web app understands something that works on every device, every platform, every screen size.
Then go deeper. Learn how the web app talks to a server. Learn what the server does with the data. Learn where the data lives. Learn how to make two services talk to each other via an API.
The kid who understands the full stack — even at a basic level — can build anything. The kid who only knows how to drag and drop in a specific app builder can only build what that tool allows.
The Skills That Will Still Matter in 2035
Nobody knows exactly what the technology landscape will look like in ten years. But some bets are safer than others.
- Understanding how data is structured and queried. Databases aren't going anywhere. SQL or something very like it will still be the language of structured data.
- Understanding how systems communicate. APIs, protocols, request-response patterns — the protocols may evolve, the concept won't.
- Understanding how to decompose a problem into logical steps. This is what programming teaches at its core.
- Understanding how to learn new tools quickly. The meta-skill. Frameworks will keep changing. The ability to pick up a new one — because you understand the underlying patterns — is the permanent advantage.
- Memorizing syntax for any specific language. AI handles this already.
- Deep expertise in a single platform's SDK. Platforms rise and fall.
- Mastery of a specific no-code tool. These have the shortest half-life of all.
A Practical Starting Path
If a motivated middle schooler asked me where to begin tomorrow, here's what I'd suggest:
Month 1–2: Explore the fundamentals.
Get comfortable with the command line. Understand what a file system is. Learn what happens when you visit a website — the full request-response cycle. Watch a few short videos on how the internet works. No coding yet — just build the mental map.
Month 3–4: Learn HTML, CSS, and basic JavaScript.
Build a personal website from scratch. Not with a template. Not with a website builder. With a text editor and a browser. Make it ugly. Make it work. Understand that you are writing instructions — HTML for structure, CSS for style, JavaScript for behavior — that a browser interprets.
Month 5–6: Add a backend.
Learn basic Python or Node.js. Build a simple server that does something — serves a page, responds to a form, stores data in a database. This is the moment where the "how systems connect" light bulb goes on.
Month 7–8: Build a real project.
Pick something personally meaningful. Use AI to help, but make sure you can explain every piece. Connect a frontend to a backend. Store data. Retrieve data. Display it. You've now built a complete full-stack system. Most adults in tech have never done this from scratch.
Ongoing: Learn SQL. Read about how large systems work. Stay curious.
The fundamentals compound. Every new concept stacks on the ones beneath it. And unlike application-specific knowledge, none of it expires.
The Real Advantage
The middle schoolers who will thrive in tech are not the ones who learn the most languages, build the most apps, or accumulate the most GitHub commits.
They're the ones who build a deep mental model of how digital systems actually work.
They understand the layers. They see the plumbing. They know that every app they use is really just an interface over data, logic, and infrastructure — and that those underlying components are the real source of power.
AI makes this more true, not less.
Because when anyone can generate code by asking for it, the advantage belongs to the person who knows what to ask for, why it works, and what to do when it doesn't.
That's not a coding skill. It's a thinking skill.
And the best time to start building it is right now.
Explore the Key Terms
Every bolded concept in this guide has its own glossary page with a full definition and real-world example.
View all 60 terms →