Javascript 101: Prologue
Nothing in the world is more dangerous than sincere ignorance- Martin Luther King Jr.
The Interview
The picture above was me in an interview being asked about closures for the first time. Yeah, I was that blank. I started programming a few years back and had completed a couple of projects that were good enough to make it into my resume. Eager to show the world how good I had become at software development, I applied for a junior-mid level dev role and landed an interview.
Before my job search, I had never taken a boot camp talkless of any computer classes. All I had were just self-taught skills and a desire to prove myself which soon turned out to be inadequate. After exchanging pleasantries, I was tossed some DOM manipulation and variable hoisting teasers which I carefreely scaled through. I hit a snag trying to explain the concept of the event loop and closures in javascript. The event loop I had heard of, but closures sounded foreign to me. The interviewer brushed off my impeded speech and probably mistook it for stuttering(instead of what it was — Ignorance) and went on to ask about projects I had worked on. I gave him a link to visit but while I spoke I knew I had faltered big time, The rest of the interview seems faded in memory but I remember how humbled I was as I left the room, like “tail between my legs” kind of humble.
Aftermath
Luckily I got the job, Surprised? beats me too 😆. My joy wasn’t long-lived though, as I discovered my technical debt widening by the day. I moved from trying to understand code to mindlessly lifting snippets from StackOverflow in a jiffy. These and other woes are the circumstances many new javascript engineers find themselves in the Industry. The puzzle of how to close the gap of understanding is even more challenging.
The point of my story is that I know how it feels. I know the fear that looms of having yourself exposed, possibly in a standup or demo(yikes!).
The Journey to Mastery
mastery is a casual result of dedicated work and study — Anonymous
To escape being caught in an undeniable act of stupidity at work, I decided to start a series to trash important concepts in Javascript that I didn’t know and could help others like me achieve GURU status (aka SAGE mode).
The explanations would be simple, aided with code snippets, and laced with humor to maintain engagement. But before we begin I must warn you, Javascript is a slippery language. Its concepts though few when misunderstood could leave you in a guessing game, so keep your eyes open. Thanks for taking this journey with me. Welcome to Javascript 101 Series.
Next Stop — Closures