Escaping Tutorial Hell in the age of AI

A few months ago I built HireMe, a full job hiring platform, from scratch. No tutorial open in another tab, no one walking me through it step by step. Just me, the problem, and a lot of time stuck.
One of the first things I built was magic link authentication. Here's how it works: when a user registers, the app sends them an email with a unique token in it. They click the link, land on a page with that token in the URL, and the app checks if it's valid. If it is, the user is verified. Simple right. But this isn't the only solution to stop people from using bad emails which are of no use to us. There is one another way of sending an OTP to the email and then let the user enter the OTP for verification. There is still another way of using OIDC (OpenID Connect) authentication.
But while building it, I ran into a real problem. Anyone can type any email address into a registration form. If you don't check that the email actually exists and belongs to the person, your database fills up with fake signups. The magic link fixes part of that, because if the email is fake, the link never reaches anyone, and that account just sits there unverified.
Except that's not fully solved either. That unverified row just stays in your database forever, unless you go and delete it once the token expires. So now I had a half-finished problem on my hands, not a finished feature.
This is where it hit me. For weeks before this, I had been watching coding tutorials and following along line by line. I genuinely thought I was improving. Then I sat down to build something on my own, and I couldn't write a single line of code without help. That feeling, sitting in front of a blank file and not knowing where to even start, is awful.
Building HireMe is what made me understand why.
There are really two different problems hiding inside these coding tutorials.
Problem one: you don't know the fundamentals, so you don't actually understand the tutorial.
When I hit the magic link logic, AI wrote a chunk of the code for me. But I could only tell if that code was actually doing the right thing because I understood the basics underneath it, things like how a function takes input and returns output, how data moves between a database and a server, what a token even is. These fundamentals don't belong to any one language. Variables and loops work the same way whether you're writing Python, JavaScript, or anything else. If you skip these and jump straight into copying a tutorial, you're not learning, you're just typing what someone else tells you to type. And when AI writes code for you and you don't have this base knowledge, you have no way to check if what it gave you is even correct.
Problem two: tutorials don't teach you how to actually solve problems.
The unverified email issue wasn't something any tutorial taught me. I had to figure out that the problem existed, think it through, and decide between different ways of fixing it, like running a scheduled job to clean up expired tokens versus checking and deleting at the next request. This is debugging. This is architecture. This is deciding which approach fits your specific use case when there's more than one valid way to do something. AI can write you code, but it can't sit there and tell you "in your case, this is the better approach" without you understanding the actual trade-offs yourself. This is the part of the job tutorials skip completely, and it's also the part AI can't replace in software engineering.
So here's what I'd actually tell a beginner. Pick a project and start building it. I'm not saying never touch a tutorial, that's not realistic and not even useful. Watch them, but don't follow them start to finish. Use them only for the exact part you're stuck on, then go back to building on your own.
When I built HireMe, I got stuck more times than I can count. Did I ask AI for help, yes constantly. But I understood ten times more from getting stuck on a real project than I ever did from following a "build a WhatsApp clone" tutorial on YouTube start to finish. Mindlessly following tutorials like that is basically a kind of porn for developers. It feels like progress in the moment, but you walk away having actually built nothing yourself.
If you want to see what I'm talking about, here's the HireMe repo:

