Rewind to 2013.

Our small dev team is about to ship one of its most impressive client projects to date. I’m at my stand-up desk, skimming through morning emails. My partner bursts through the office door:

“Something’s wrong with our Angular app, man. I’ve got a digest is already in progress error popping everywhere—can’t figure out what’s happening,” he says, visibly nervous.

But I’m not nervous, nor stressed. I know exactly where to start looking, because I know my JavaScript.

And I know all of this thanks to a robot.


Rewind to 2011.

I was still a dreamy-eyed software engineer student back then, unaffected by the business imperatives of real-world coding. I was passionate about back-end development and had no desire whatsoever to learn vanilla JavaScript, or anything related.

But my friends and I had to build a soft real-time, task-oriented robot for one of our classes.

javascript-robot-story

We stumbled upon this new cool thing called Node.js (its docs back then). No fancy dependencies, easy child processes spawning, async and event-driven… and many online were saying it was the sh*t. We had absolutely no clue of what JavaScript or V8 were, but it still seemed like a good call for our project.

Peers told me to find a decent library for my use cases, and pull off some copy/pasting art to get the socket communication job done. I could’ve done just that.

But I didn’t. Although I didn’t know it at the time, that was one of the best early career decisions I made.

I started reading avidly instead. About asynchronous programming, the history of JavaScript, its pros and cons, everything. Because I wanted to master the underlying principles of the language powering my project. And it took quite a lot of time, coffee, beer, and dummy code to do so.

In between managing my teammates’ impatience and creating a not-so-clean, functional robot codebase, I learned a whole dmn lot*.


So what’s the point here? I took enough time to understand the core principles of JavaScript before using shortcuts provided by JS frameworks and libraries. Why is that important? Well, this is what this post is about: not just pretending.

pretending-to-know-vanilla-javascript

#javascript #js #programming

You SHOULD Learn Vanilla JavaScript Before JS Frameworks
1.35 GEEK