I've been thinking about this after working on two of my recent side projects, Eldor and Puck.
Two projects. Two different experiences.
Eldor started with a very specific problem.
I have a huge collection of comics on my phone, but I couldn't find a reader that worked the way I wanted. So I built one.
I already knew React Native, so AI helped me move much faster. But when it generated something I didn't like, I could get inside the code, understand what was happening, and shape it into what I actually wanted.
Puck was a different story.
Puck is an Omarchy plugin I built to help me keep track of things like walking, hydration, screen time and headphone usage.
A lot of Puck came together through prompts.
And it worked.
That contrast got me thinking about what AI-assisted development actually changes.
The skeleton is getting easier
AI can give almost anyone the skeleton of an application.
A frontend. A backend. An API. A database. Some components wired together.
You can prompt your way into something functional surprisingly quickly.
But then you have the black box.
AI can connect the pieces. Understanding their responsibilities lets you change the system without guessing.
A conceptual web system, rather than the architecture of Eldor or Puck.
Your fundamentals open the box
And this is where I think software engineering fundamentals become incredibly valuable.
If you understand software, the black box isn't really black.
You understand how a frontend communicates with a backend. You understand how data should move through a system. You know how to scope a product before it turns into a monster.
You know where state belongs. You know what needs to be secured. You know why something is slow.
You can look at an AI-generated solution and ask:
“Why did it do this?”
And more importantly: “How should I change it?”
That's the advantage.
Not memorizing every framework. Not knowing every API by heart. Not being able to type code faster than an AI.
It's having a strong mental model of how software works as a whole.
AI makes the black box incredibly easy to open. Your fundamentals determine whether you actually understand what's inside.
From code to a good system
So I don't think the future of software development is simply:
“Everyone can code now.”
I think it's closer to:
“Everyone can build the skeleton. Software engineers know how to turn that skeleton into a good system.”
And as the cost of building software keeps falling, I think that distinction is going to become more important, not less.
The bottleneck moves from writing code to knowing what good software should look like.
That's a pretty exciting shift.