Let me be upfront about something: I am not a teacher.
I'm a senior software engineer. I write code for a living. I've shipped production systems, reviewed thousands of pull requests, and debugged things that had no right being as broken as they were. But explaining concepts to beginners, structuring a curriculum, deciding what order to teach things in — that is a completely different skill, and I had almost none of it when I started.
I now have six published courses on Programiz, including a full JavaScript game development skill track. Here's the honest story of how that happened.
The opportunity I almost didn't take
When Programiz approached me about building a JavaScript skill track, my first instinct was to say it wasn't really my thing. I'd written some small articles and blog posts over the years, but a full course? Multiple courses? That felt like someone else's job.
I took it anyway.
Not because I was confident. Because I was curious whether I could do something I'd never done before — and because I had tools available that didn't exist a few years ago.
How I actually built it
I want to be honest about this part because I think a lot of people gloss over it: I used Cursor and Claude heavily throughout this process. Not to replace my thinking, but to do things I couldn't do efficiently on my own.
Here's what that actually looked like:
Structuring the curriculum — I'd describe what I wanted students to be able to do at the end, and use Claude to stress-test the sequencing. Does this concept need to come before that one? Is there a gap here? Having something to push back against is faster than staring at a blank page.
Building the reference code — The Brick Breaker capstone project has a Ball class, a Paddle class, a Brick class, a Game class. Getting that code to a point where it was genuinely teachable — clean variable names, strict separation between update() and draw(), no shortcuts that would confuse a beginner — took iteration. Cursor was open the entire time.
Drafting explanations — Writing for beginners is harder than writing for peers. I'd draft an explanation, and use Claude to tell me where it assumed too much prior knowledge. Then I'd rewrite it.
Reviewing my own work — This one surprised me the most. Having an outside read on a draft — even an AI one — catches things you stop seeing after the fifth revision.
None of this felt like cheating. It felt like having a very patient, very fast collaborator who never got tired of my questions.
Where I almost stopped
About three weeks into the first course, I hit a wall.
I was trying to write a comprehensive ES6 fundamentals module — arrow functions, destructuring, modules, iterators, the works. I wanted it to be complete. I wanted to cover everything. The review process destroyed me. Every pass surfaced new gaps, new things I hadn't explained well enough, new topics that felt incomplete without adding three more topics.
I almost quit at that point. Not because the material was too hard, but because I was approaching it wrong.
The shift that saved the project: I stopped trying to be complete and started asking a different question. Which of these concepts actually shows up in the game we're building? If a concept didn't have a clear home in the Brick Breaker capstone, it didn't belong in the course. That constraint made every decision easier and every chapter tighter.
The lesson I'd pass on to anyone trying something similar: plan in chunks, not in coverage. Pick a concept, find two or three real places it gets used, teach it through those. Don't try to give a complete picture on the first pass. Completeness is the enemy of clarity.
What the track looks like now
Build Games with Vanilla JS is live on Programiz as Skill Track 2. Six courses:
- Game Logic with JavaScript — variables, conditionals, functions, scope through a game-thinking lens
- Whack A Mole — a DOM and events mini-project early, so students get a win before the harder content
- Modern JavaScript Essentials — ES6 features placed after the first mini-project, not before, so students have context for why they matter
-
Canvas Foundations — the
<canvas>API: drawing, animation loops, input, collision detection - Brick Breaker with JavaScript — the capstone where every concept from the track lands in one real project
- Rapid Build with Claude Code — a standalone weekend course on building and deploying an app with AI tools
The sequencing isn't accidental. Whack A Mole sits before the ES6 module because abstract syntax makes more sense after you've already built something. Canvas Foundations only teaches what shows up in Brick Breaker. Every decision was made by working backward from the capstone.
What I know now that I didn't know then
Writing a course as a senior engineer is humbling in a specific way. The technical part is fine — I know JavaScript well. The hard part is that knowing something deeply and being able to teach it are not the same skill at all.
Teaching forced me to find the edges of my own understanding. If I couldn't explain why the ball position needs to be corrected before the velocity reverses — not just that it does — I didn't actually understand it as well as I thought.
I also learned that AI tools don't lower the bar for this kind of work. They raise what's possible for one person working alone. The courses exist in the form they do because I could iterate faster, get feedback faster, and catch mistakes faster than I could have otherwise. The judgment calls — what to include, what to cut, how to sequence — were still mine.
Why I'm writing this
I'm not writing this to tell you AI makes everything easy. It doesn't.
I'm writing this because I'm a senior engineer who grabbed an opportunity outside his comfort zone, used every tool available, got humbled by it, figured it out, and shipped something real. If that's the kind of person you want to follow — someone who moves toward hard things and works out how to do them — then stick around.
There's more coming.
Abidit Shrestha is a senior software engineer and course author at Programiz, where he builds JavaScript learning tracks. Follow him on Dev.to and Medium for more.


Top comments (0)