I embarked on the Launch School web development curriculum three months ago in search of a more rewarding career. I’d been spinning my wheels at my day job, searching for a magic bullet to end my boredom: a position no one had ever heard of in unicorn husbandry, or roller coaster test riding, or the professional Nutella-eating circuit. Anything that would reawaken my curiosity and bring the joy of discovery back to my work days.

Software development hadn’t been a real consideration — not since I was 11, cobbling together a Buffy the Vampire Slayer fan site on Windows 95. Hours slipped away while I crafted gaudy, elaborate framesets and tweaked the performance of my custom sparkle-trail cursor. But like so many early skills, coding soon faded in favor of self-consciousness and sweaty cafeteria dances. By the time I checked back in with web development, the tools and practices were unrecognizable. As an adult hoping to rekindle a childhood passion, I tried free tutorials on Ruby and JavaScript, but grew bored with the intro courses and frustrated with the tougher ones. I figured I was the problem. I have a master’s degree in fiction writing, of all mamsy-pamsy things, and no technical background to speak of apart from a love of logic puzzles and a respectable but ten-year-old AP Calculus score — AB, no less. Learning to code was going to be impossible, right? (This is where you shout Wrong! back at the TV, and a sweet but relentlessly clueless cartoon animal congratulates you on your wit. But I wasn’t quite there yet.)

Still, facing a dearth of opportunities in unicorn tending, I persevered. A coding bootcamp seemed like a perfect solution — a magic bullet, if you will. The more I researched the possibilities, though, the more I worried that while three months of non-stop study might land me a job, it would take a non-stop miracle to retain my new knowledge at any meaningful level of depth. And that, I realized, was what had been lacking in my online tutorial attempts: depth. Sure, I could call a few Ruby methods to predictable ends, but what even was a method? Why use one instead of another? What even was code, apart from colorful text in a browser window with a “Save & Submit” button underneath it?

I pondered idly for a while, and then I found Launch School. The slow path to mastering software development, the website proclaimed, as if this were something to be proud of. Who wants the slow path? said the naggy, impatient devil on my shoulder who sounds a lot like Roseanne Barr. Don’t they know they’re supposed to lie about how long stuff takes?

Me, it turns out. And no, they don’t.

The more I read about Launch School, the more I realized that a slow, comprehensive, mastery-based approach is exactly what I didn’t know I needed. Not because I don’t have a computer science degree, or because the last thing I published on the internet was an inventively formatted playlist of songs about Buffy’s vampire SO. It’s because — wait for it!— I actually want to understand what I was doing and why. I’m not unique in this regard, and this is not a groundbreaking revelation. Yet so many learning pathways for aspiring developers neglect the need to understand the deeper principles behind flashy frameworks. Free tutorials and one-off meetups are essential, empowering destinations for many people exploring a new interest in software. I’m glad they exist. They might even lead to career changes for those who know enough to quilt them into a cohesive curriculum, and who know where and how to seek the outside resources they need to understand the whys of what they’re doing. For the rest of us, there’s Launch School.

Three months in, I now know what a Ruby method actually is. There’s still an Oceana-sized abyss of what I don’t know, despite studying and coding 15 or 20 hours each week. I think that’s a good thing. It means I’m learning with depth and intention, and that whatever happens next, I’ve already accomplished my goal. My curiosity is irreversibly, all-out, up-in-the-middle-of-the-night awake.