Are You a Front End Dev Afraid of JS?

These days, front-end dev can cover a lot of ground: at one company it could be the guy who does web content updates and tweaks the HTML and CSS on the public facing site, while at the start up next door it could be the girl who doesn’t do as much UI as she does complex client side javascript code to manipulate and traverse the massive amount of data being retrieved from the backend, writing unit tests and doing Tuesday night deployments… either way, the mistake I see too many devs make who are looking for front-end work make(I was guilty as well) is they think they can avoid the ‘hard’ parts of javascript.

What are the hard parts, you ask? Sure, things like recursion, scoping, hoisting, closures and bumbling your way through ‘this’ are some of the conceptually difficult parts of JS but I’m talking about the ability to solve problems.

You see, this is the part of web development that’s not so easy to teach: how to solve shit. You can memorize a whole bob damn book on MVC, Routing with Express and spout off some little known facts about how `setState` works in React, and that’s great, don’t get me wrong, but can you figure out how to remove duplicate objects from an array of objects?

Well, can you? It’s easy to say ‘Yea I could figure that shit out,’ then, lulled into a false sense of JS mastery you come across a problem like this at an interview, or likely, on the job, think back to this article and punch yourself in your quinoa eating face for not attempting it.

Many new devs, especially those on the front-end of things try to forgo solving these seemingly trivial problems using JS either out of fear or they don’t see the value. I’ve been there. I tried my hardest to avoid JS beyond DOM manipulation until I was forced to do so.

As a FE dev, you’ll probably be calling lots of APIs to populate a page with some data. That data will likely be an array of JSON (or XML if you’re unlucky) and you probably won’t need all of that data or you’ll need to manipulate that funky object your neck-bearded backend team created.

One of the tools I use that has improved my JS and logical skills the most has been codewars. I believe the first problem I solved took around 3 hours or more. Still today, I may toy around with a problem for a day or two (or a whole fucking week) until I get it. While approaching many of these problems can seems overwhelming, I can guarantee that the path you take to either solve or fail at it will lead you to greatly improve your JS skills and more importantly, your ability to just solve stuff.

The best part of CodeWars is that you get to see the clever attempts other devs have made and get a glimpse at some really stellar code. For you savvy code challenge aficionados who ask why I didn’t give leetcode or hackerrank a shout out is simply because their IDE wasn’t as friendly for writing JS code (IMO).

Now go back and figure that shit out!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s