I realized this week that learning to code has basically turned me into a moth.
Have you ever watched a moth flutter around a light bulb? Spiraling, dive-bombing, bashing itself heedlessly against any objects in the way? On a freakily warm early spring evening this week I watched a lovely fat and furry gray and white specimen do just that, apparently trying to commit suicide via front porch light fixture. And wondered, WTF is that about?
The interwebs inform me that some insects navigate by transverse orientation, or flying at a constant angle relative to a distant light source. For eons, that was the moon, and things worked pretty well. But now with these new-fangled light bulbs being so tantalizingly bright and conveniently close by, night-flying Lepidoptera end up confused. They are irresistibly drawn to the light but, the closer they get, the more their navigational instincts get thrown off. They end up flying in circles or frantically zig-zagging, trying to plot a flight path with literally no sense of how or where to fly anymore, so they just keep on flying and trying. Worst case scenario, they drop from exhaustion — or so completely lose their sense of orientation they fly right into the light bulb and fry themselves. I SO identify.
I’ve compared notes with others on this same journey, with two paradoxical conclusions: First, our personal paths to attempted JS mastery are utterly divergent. We each thrash our way forward through the wilderness as best we can, trying out various resources, lurching away from the ones that don’t work for us, scrabbling hungrily with our stiff zombie fingers at the ones that might. Second, our paths are also eerily identical. In that, they are basically random. We are willing to try just about anything.
Boot Camp Basics: Like many on the “Hey, Let’s Become a Coder!” ride, I went to a ten-week training course. You gotta start somewhere, but my bet is at least some punters — those with a fair amount of self-discipline, anyway — could actually skip this step. There are so many online learning resources available, many of them free. I only went the in-person classroom, pay-cash-money route because I personally do not do well with the online approach, at least for initial exposure to concepts. I need to be able to ask stupid questions in person. The Front-End Web Dev course I took at Betamore Academy was a terrific grounding in the fundamentals, thanks to our dedicated and brilliant instructor who encouraged (and only sometimes chuckled over) our stupid questions.
The good: Personalized instruction, stupid questions instantly answered, a cohort of fellow learners to lean on.
The bad: A lot of learning in a very short time, and then you’re kicked out of the nest without a flight plan.
The good: Real learning takes place in two steps. First is exposure to new information, but that is the human brain’s equivalent of temporary storage. The information can be lost if the second stage, internalization — comprehension and commitment to permanent memory — is somehow skipped. Think of this as the RAM and ROM of the human brain. Online tutorials are great for putting new concepts to work and lodging them permanently in brain ROM by means of coding exercises — Particularly before you’re self-assured enough to code alone to get this essential practice. Like musicians doing scales, it’s all about the muscle memory. Practice practice practice.
The bad: Many of these tutorials are long on the leading you by the hand, step-by-step, and short on the explaining of why. Essential context is lacking. Also, sometimes I caught myself acting like a rat in a maze, racing through sections to check the next box or get the next food pellet, oops I mean badge or trophy or whatevs, since so many of these tutorials are set up to shower students with “achievement” tokens. And this I think is the downfall of most of these online programs: students can do the work in that precise, highly structured context, at that moment, and zip through without actually retaining much of anything useful. After that, poof, the material is gone.
This, however, is where the well-trodden JS trail ends. After traversing the wilderness of zillions of hold-my-hand online tutorials and books teaching the fundamentals of the language, suddenly you’re standing alone at the edge of the Cliff of Advanced Beginnership, overlooking a deep, dark chasm. On the other side of that abyss lies the promised land: Employment as a professional developer who can, you know, build things. You can see them from here — everyone contributing elegant and concise code to cool open source projects and merrily trolling each other on Stack Overflow, in between smoothly conquering work assignments in their ThinkGeek-decorated cubicles at their well-paying jobs.
How do we get from here to there? Where to even start?
Find out in next installment of Code:n00b The Continuing Adventures of Moth Girl!
Feature Image by Pixabay.