Erik Aybar

Javascript - A Never Ending Journey of Learning, Trial, and Error.

March 10, 2015

If you’ve spent anytime in javascript lately, you know that the javascript build tool landscape can be rather overwhelming. Just a few years ago the go to solution for automation and build processes was Grunt. That worked great for some time and then along came Gulp. All of the sudden the Internet was raving about how great this new kid on the block, Gulp, was “in” and Grunt was “out”. If you were still using Grunt, that meant you were falling behind the curve! Essentially: Gulp all the things.

Fast forward a year or two. Now replace Grunt/Gulp in that scenario with whichever new kid is on the block by the time you stumble across this write up. Now replace “build tools” with “MV* frameworks”. Now replace “MV* frameworks” with “utility libraries”. Now replace “utility libraries” with “dependency management” and “module formats”. And “testing”. And “CLI tools”. etc… etc… I think that paints a rather accurate picture of what the life of a modern javascript developer tends to looks like.

Javascript has exploded in popularity in the last several years and as a result so has the ecosystem of tools, libraries, and developer communities surrounding it. Which is certainly a great thing for the advancement of the web! It can just be a bit overwhelming trying to keep up with what you “should” know, what is “outdated”, and what is just a “trend”.

A Few Tools to Know…

Here are just a handful of the “must-know” hint of sarcasm tools/libraries that a modern javascript developer is expected to be familiar with (Plucked off the top of my head and not in any particular order. Yes, I know. I’m missing all of “your favorites”.). I’ve bolded some of my current favorites (subject to change without given notice!).:

Javascript Automation and Build Tools

Javascript Testing Libraries

Javascript Frameworks and Libraries (M?V.*)? (Front End)

Dependency Management

Module Formats
  • AMD
  • CommonJS
  • ES6 Modules
  • Global javascript managed via script include order yikes…
Package Repositories
Dependency Loaders

Let me be clear. I’m only speaking of my experiences with client-side javascript. Server-side javascript is an entirely separate journey/list!

And the Journey Continues

If there is anything that I’ve learned over the past several years as I dive deeper into the journey that is being a {software,web} {programmer,developer,engineer,magician} (whatever you or your company calling yourself), it is that you simply cannot learn it all. You can surely try. And believe me, I and many others before me have tried to keep up with it all. This only results in burnout. You simply can’t learn it all. You simply don’t need to know it all. Just don’t.

The solution? Pick one single tool, library, or concept and pursue it. Stick with that one thing beyond the point of hitting that initial wall of discomfort. Fight the urge to jump around from gaining a 101 knowledge of “everything” and really get to know each topic/technology that you set out to learn. In saying that, you have to know how to recognize the value that time spent in a particular topic or technology might provide. Just like my wife always tells me when attempting to get me to “read more”… haha!

Give the book a fair chance. If you get to page 20 and you are not enjoying it, move on to something else. There are so many books out there that you can’t read them all.

I feel like this applies directly to my experience with javascript (or any development related technologies really…). You have to give a technology/concept a fair shake before either deciding that “Yes, I want to invest some serious time into this” or “No, I’m going to forget all about this and move on.”.

Now just stop and think about all of this. Think about how could you possibly keep up with all of this. Think about how you are going to fit time into your daily life, which for me includes (wife, kids, cats, dogs, house, family, work, school, fun, House of Cards, [...]). It just doesn’t fit. You simply can’t keep up with it all. The best we can do is choose a small slice of the pie, stick with it, and hope that it is the right slice!

And there we have it. The advice that I only wish I could follow myself. JSDADD (Javascript Developer ADD) the struggle is real.

Erik Aybar

👋🏽 Hi! I'm Erik Aybar. I'm a software person working remotely from St. George, Utah. This is my blog.