Culture / Programming Languages

Code n00b: What a Long, Strange JavaScript Trip It’s Been

2 Apr 2017 9:00am, by

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.

That’s me these days. I am the moth, and JavaScript is the bulb. Flying and trying, zigging and zagging on an apparently random flight path that I desperately hope is bringing me gradually closer to coding competency. I am making this up as I go along because there is no clear path to follow that gets a person from writing that first “for” loop to being an employable, app-building JavaScript Jedi master.

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.

So. Here is the tl;dr short list of how I’ve personally gone about slogging my way from complete n00b to being able to do a thing or two with JavaScript. Along with my highly personal opinions about what is good or valuable about each, and what is lacking or detrimental. YMMV:

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.

Codeacademy Cadet: I finished boot camp understanding the bare basics of JS — and also understanding it was crucial to keep learning the language. My first attempts to learn HTML/CSS/JS through a paid online certification course (Udacity) had been a fail. However, once I’d gotten the fundamentals in person, online resources became very helpful for practice and review. I signed up for a Codeacademy Pro membership — which connects students with online mentors who answer (by now slightly less stupid) questions more or less instantly — and worked my way through their JavaScript curriculum.

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.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.