Every once in a while in this industry we need a reminder that our trade as front-end developers — and I say this in the most positive way possible — can be a frustrating thing.

A few years ago when I mocked the number of frameworks and libraries that were proliferating at the time, and poked fun at the manner in which they were being presented, that whole concept seemed to strike a chord with everyone in the industry. That website went viral and I don’t remember a single person saying that I was out of line for making light of the situation.

“Oh, your head hasn’t exploded yet? This should do it.”

Amazingly, we might be in an even worse situation today.

Since late July, I’ve curated a weekly newsletter focused on tools called Web Tools Weekly. Throughout each week, when going through my feeds (yes, RSS is alive and well) and doing various forms of other research, I’m constantly bookmarking new apps, scripts, plugins, libraries, CSS frameworks, productivity tools, testing tools, and more.

In fact, I could probably release that newsletter daily and I’d still have enough content. As of this writing, I have a categorized list of approximately 500 different apps, resources, scripts, libraries, plugins, etc. that I haven’t yet included in any issue. And let’s not forget about the 500+ tools that have made the cut in the first 30+ issues.

And that’s the result of research from just one person!

Is This a Good Thing?

Many, if not all of us, would probably agree that being so inundated with tools is both a good and a bad thing. We might summarize the good and bad like so:

  • It’s a good thing because there’s an endless supply of tools at our disposal, helping us solve virtually any problem we face as front-end developers.
  • It’s a bad thing because it’s often too much, and too many options can be paralyzing and can make us sometimes hate what we do.

Of course, not everyone will agree word-for-word with my assessment in those two points, but I think everyone will agree that there are upsides and downsides to all of this.

Why Does the Problem Exist?

Most of you probably understand why we are in the situation we’re in. The web platform is an open platform that anyone can use for whatever reason they see fit.

The Web Platform

The web platform

We use the technologies that comprise the web platform to build things. And much of the time, we build stuff in the open, allowing others not only to give feedback on how to improve what we’ve built, but to take our project and make it their own. That can be a powerful thing.

This is one of the great things about our industry and, unlike some business strategies, this openness and collaboration doesn’t stifle innovation; it does the opposite.

Getting Your Head Above Water

I’ll be the first to admit that the title of this post was meant to draw attention. But I think it’s an honest description of where we’re at, so I’m not ashamed of using it.

The problems I’ve discussed – and I hope I’ve made clear that these are good problems to have! – are not going to get better soon. I expect the situation to basically stay the same. And if new open technologies are added, then we can expect that things will get worse.

So how can we cope? How can we keep using new tools, remain productive, and stay abreast of what’s new?

I’ll be happy to hear your suggestions in the comments, but here is my advice:

Don’t Feel Overwhelmed

In this industry, it’s been said that “if you take a year off, you’ll feel obsolete.” That’s a direct quote from the Tuts+ article I linked to earlier. And the worst part of this is that you don’t have to take a year off to feel that way. To me, the key word here is feel. Yes, you’ll feel obsolete, but it won’t be as bad as it seems.

In my view, it doesn’t matter if even 80% of developers in the industry are “left behind”. What matters is that we’re getting stuff done. Pick up new stuff at whatever pace you feel comfortable with and whatever pace you need in order to get stuff done.

Sure, if you fail to keep up with certain tools, you might not be able to market your skills to some hot new Silicon Valley startup. But you might have to lower your standards. There’s lots to be done in places all over the world, and not every developer job posting requires that you know everything.

Let Tools Be Educational

More than likely, you’ll come across dozens of new scripts, libraries, and plugins every week. Just about every one of these tools has its source code open for us to use and examine.

So learn from them!

You might not be able to use a particular script right now, and maybe you’ll never use it. But you can still peek at the source.

Look at it and ask yourself: How is the code organized? Is it using any unfamiliar patterns that you might want to take note of and read up on? If there’s a pattern or a method you don’t recognize, would it help to ask about it or look it up? Is there something in the source that looks odd that you can benefit from by understanding better?

That strange opening semi-colon.

from jQuery Boilerplate source

The point is, every piece of code ever written has some educational value to someone somewhere, even if nobody ever uses it in a real-world setting.

Focus on Solving Problems

Don’t worry about the latest new tools and technologies unless you can definitely see some benefit to learning them.

At first, I’m sure many developers were hesitant to take the time to learn a CSS preprocessor. Without much programming or command-line experience, it was viewed by many as a daunting task that didn’t seem to have much of a return on the time investment.

But now more and more developers are recognizing that large projects gain a lot from using the features of a tool like Sass or LESS. Thus, many developers have correctly concluded that the time investment to learn a preprocessor is well worth the potential return.

And that’s the same principle we should apply to learning any new tool. Don’t use something because all the cool kids are using it; use it because it helps you be more productive or because it addresses a specific problem.

How Do You Handle the Situation?

That’s my take on where the industry stands today and how we can make the most of it. As you can see, even though it can be discouraging if we focus only on the negative aspects, there’s a lot of good in the industry and I think the good far outweighs the bad.

But that’s just my view. What about you?

  • Do you feel overwhelmed by the volume of new tools and technologies available in the industry?
  • Do you think there are other positive or negative aspects to all of this? And more importantly…
  • How do you personally handle it?
Tags: Frameworks, information overload, javascript libraries, web tools
Louis is a dev blogger at Impressive Webs, author, and is currently SitePoint's HTML and CSS editor. He loves all things front-end, and curates Web Tools Weekly, a newsletter for front-end developers primarily focused on tools.

Free Guide:

How to Choose the Right Charting Library for Your Application

How do you make sure that the charting library you choose has everything you need? Sign up to receive this detailed guide from FusionCharts, which explores all the factors you need to consider before making the decision.

  • cryptical

    I definitely agree. I constantly feel overwhelmed by all the stuff I’m “supposed” to know as a front-end developer, and constantly behind all the cool kids. I’ve taken a year out a couple of times simply because I was on contracts that didn’t require me to learn anything new, and have scrambled to play catch-up once those contracts ended (like now). I’m glad to know I’m not the only one!

  • Slpixe

    Good article,

    Loved looking into H9RBS.js was a good laugh,

    I think the vast array of choices we have is a good thing, like any software e.g. PHP, there are hundreds of frameworks most of which should pose benefits over another, however every so often a different way of looking at something yields a great result and enhances that technology overall e.g. HHVM.

    I wouldn’t expect most people to look into every PHP framework, but learning one or two can be a great learning experience. CSS frameworks shouldn’t be any different

    For front-end frameworks, having pre-processors provide us with mixims and such, could help with preparing future CSS specifications, to understand pros and con’s of different methods and approaches before reaching a release

  • Philip Cox

    I enjoyed reading this article. I Am new to web development, about 1.5 yrs now, so I find this subject a particular interest. I am doing fairly well in avoiding the new tools available and following advice to take the time and learn the core languages(html, css, php, javascript, xml). But, I do try to keep myself informed of all that is new.
    But, I do find I ask myself, how much is enough until I should look into the frameworks, as they seem to be the future of development?
    Not remaining stagnant is something that appealed to me with web dev, so I do look forward to getting stuck into to these new tools.

    • http://www.heathergaye.net Heather

      It’s well worth investigating some PHP frameworks as soon as you feel confident with PHP. Frameworks do all the heavy lifting so you don’t have to worry about, say, writing your own database access, security, email handling, &c from the ground up. Also, inspecting how the popular frameworks are written, and the constructs they provide for development, can be used as a template for best practice – it’s a really great way to study software architecture, rather than just commands & syntax.

      Javascript frameworks like jQuery are good to use because they make simple, common actions translate to simple, more legible code. Same with CSS preprocessors (LESS & Sass).

      Basically, at this point in your career, it’s a good time reach out to senior colleagues or industry acquaintances and ask them what they’re using; also what they’ve tried & discarded, and for what reason. Regarding the tyranny of choice mentioned in the article, you don’t need to investigate every single framework in existence, just go through a small handful of popular ones until you find one that feels good to use. I try and spend a couple of afternoons with a new framework if it’s getting a lot of attention; if I find it easy to pick up, and it fulfils a particular use case I have, then I’ll incorporate it into my existing toolset.

      • http://www.heathergaye.net Heather

        Caveat: in case it comes up, don’t bother with Drupal right now. It’s being rewritten to bring it in line with latest tools & best practice – total paradigm shift – and the new version won’t be ready for probably another 12 months. It’ll use Symfony, which is as good a framework to start with as any.

  • http://www.yiannistaos.com/ Yiannis Christodoulou

    Great article, Louis, congratulation. I also prefer the dozen libraries and sources. I like to have a lot of options for my next project!

  • M S

    Whats needed, is a framework that allows you to write everything, js, css, php, sql, etc using only ordinary everyday regexp-syntax.

    That way everyone with half a brain could pick it up quickly, and no extra documentation would be needed.

    Kids could learn to build a website in an hour.

  • Milmon F. Harrison

    “Don’t use something because all the cool kids are using it; use it because it helps you be more productive or because it addresses a specific problem.” This is the best advice I’ve seen on the subject. As someone relatively new to web design and development, I’m always feeling overwhelmed with all the “game-changing” new tools that seem to come out every day. This was very helpful advice and encourages me to continue striving to make sure my basic HTML, CSS, and JavaScript skills are solid instead of chasing every new thing just because it’s new. Thanks for this! Also glad I’m not the only one feeling overwhelmed.

  • http://jeditux.wordpress.com/ Fernando Basso

    When I read that sentence, I immediately opened my “knowledge and insights” doc and wrote it there. A very useful and intelligent piece of advice indeed.

  • http://jeditux.wordpress.com/ Fernando Basso

    My approach to solve the problem is a bit peculiar, I guess. I simply try to avoid “tools” as much as I can. I sure use jQuery (but not always) and used less twice (learned just what I needed at the time), but I generally stick with the basics in an old-fashioned way: a text editor (generally vim, but not always) and the browsers. I do use all the browsers’ built-in tools, however.

    I committed myself to learn all the dev tools in all the browsers. I can’t tell the number of times I was unable to solve a problem, then opened a different browser which showed different error/warning messages and was then able to solve problem right away.

  • http://www.mathewporter.co.uk/ Mathew Porter

    Its great that we have so many tools at our disposal, its all about utilising where required. I use a handful of tools and libraries in the majority of projects which have come from the way i work over the years. Each to their own and what gets the best results / performance.

  • http://scn.sap.com/people/christian.jianelli Christian Jianelli

    Too many things to learn, too many things to care about, too many tools, too many… some people may not accept this, but we are all overwhelmed, it is a fact.

  • Chris_Krammer

    Normally I skip though Twitter once a day and see what the new, interesting stuff is. Mostly I save it to Instapaper then and work off this list once in a while. I also subscribed to a couple of newsletters where I do the same. But meanwhile I’ve accepted, that even if there is some new that you “need” to use, it can wait. Get the stuff done you really need to and then look at this “hot shit”. The world keeps spinning …

    • LouisLazaris


      But meanwhile I’ve accepted, that even if there is something new that you “need” to use, it can wait.

      I agree! That’s a good way to look at it. And to be honest, there’s not much choice, especially when there is so much to examine and learn.

  • http://jonassebastianohlsson.com/ Jonas Ohlsson

    I think the key is to understand that just because you learn about new tools everyday, you actually don’t have to – and neither should you – try to learn them all as they get thrown at you. In fact, as has already been mentioned, you could surely continue to do a decent job for quite a while even if you didn’t learn any new tools at all.

    At the very least, let the community do the validating of whether the new tools are something really worth learning or not. You’re smart, you can pick it up quickly once the time is right. If you’re busy, no need to spend all that time on stuff you don’t even know is gonna stick around for long.

  • Jingqi Xie

    While there would be new frameworks to appear every day, most of them would soon be forgotten and very few would be remembered given enough time. And what is famous for a while is not necessarily really a good one – maybe just because its owner has enough money to promote it.

  • http://www.davetgreen.me/ Dave Green

    Brilliant read. I’ve been a ‘professional’ front-end developer for 18 months, and in that time I’ve had to learn to ignore the vast majority of tools, articles about the tools, tweets about the tools etc. I firmly believe you have to strike a balance between using or supporting the latest ‘bleeding edge’ tools and technologies, and using what you know works and helps you get the job done in a time frame that means you can keep your job!

  • http://webplatformdaily.org Šime Vidas

    My approach: If I’m not hooked by a tool in the first few minutes, I close the tab and ignore it haha

  • Aaron Farr

    I needed that. Thanks!

  • M S

    Most of the time when you try tools that come “highly recommended” by others, 99% of the time they like the tool because they have been using it for 10 years and have memorized all the ridiculously complex secret handshakes that are needed to get around the shitty user interface and other weird quirks

    …aaand you’re back to where you started.

    So lots of advice from old-timers are not so useful for beginners.

    After trying tool after tool after tool like that, for years, and they all turn out to be babies only a mother could love, its easy to give up and conclude its all crap anyway.

    I for example, use net-beans a lot, but i wouldn’t recommended it.
    Its just where i gave up, and pulled over.

    Would love to see a list of stuff that is good right out of the box, and that isn’t promoted only by apologists.

    • Exasperating

      “99% of the time they like the tool because they have been using it for 10 years and have memorized all the ridiculously complex secret handshakes that are needed to get around the shitty user interface and other weird quirks”

      this ^

  • http://brewerlogic.com Adam Brewer

    It definitely is overwhelming having so much one can learn, but in a way it’s a testament to how versatile our industry is; a solution can be found in many different ways. However, learning will always be something that’s required out of us, so it’s important to enjoy and appreciate what you do.

    My take on it is to learn as much as possible initially, then to look at where your strengths lie, and finally refine and polish those skills into a craft that you’re proud of.

  • Matt Kimont

    Worse then overwhelmed by thousand of tools is how to start your ‘trip’ and get job as a front-end? I’m trying to get position as a front-end and on each vacancy there are new tools and new requirement. “Deep understanding of Angular, Backbone, Underscore, Three, Require + PHP with ngix + Doctrin/Propel + Css ‘frameworks’ like animation.css” et cetera is common for junior web developer. It’s ridiculous.
    I am using front-end ‘lib’ from https://github.com/dypsilon/frontend-dev-bookmarks and overapi as a bundle of manuals. Plain (vanilla) JS OO and Jquery manual knowledge will safe our ass in most of the cases + power of PHP/ASP/RoR/Node + documentation of your basic tools like foundation or framework which U using… still I don’t understand templating system in JS – why not Twig PHP ore similar template system with cache?? – somebody help – i will appreciate for tweet explaining me this?

  • LouisLazaris

    One thing I neglected to mention was that Addy Osmani’s article Front-end Choice Paralysis is a relevant article discussing a related idea.

    I had initially meant to include a link to Addy’s post in my article, but for some reason I had forgotten where I had seen his post (i.e. I couldn’t find it on his blog). Thanks to Brian’s post on the same subject, which mentioned Addy’s.

  • http://www.wiredtree.com/ Rachel Gillevet

    Hey Louis,
    Awesome post. It definitely feels like there are more tools than ever and this can be overwhelming. It’s always good to have the mindset that there is a right tool for the right job and make sure you find that. Obviously, the internet tells you need something new every day, but you have to resist that temptation. Anyway, I thought this would be a nice post for our readers, so I included your article in my roundup of March’s best web design/development, CMS, and security content. http://www.wiredtree.com/blog/marchs-best-web-development-cms-security-content/ Thanks again for the nice work.


  • http://www.kirstencassidy.com/ Kirsten Cassidy

    Thank you for this article. I am constantly fighting being overwhelmed by all the new tools, languages and concepts I feel I should know. And yet I seem to be plugging along just fine. Working alone and comparing myself to the latest and greatest in the community doesn’t help either. Its important to keep things in perspective and focus on the task in hand. A tool is not worth learning for its own sake, only if it helps to do something better or faster (or both).

  • http://sitesthatgrow.com Edwin Basye

    I use Drupal as my “only” tool. Some Drupal contrib modules take advantage of external software libraries, of course, but nearly all Drupal core and contrib modules are well documented and the toolset within Drupal pretty well does everything I need to do. Using the Zen starter theme insulates me from many of the technical details I’m too old to learn (I started programming in 1971) and don’t have time for (I’m primarily a farmer now and just have a few web clients). Drupal provides me with what I need without feeling overwhelmed. And it just keeps getting better and easier to use.

  • http://rundtomwp.dk/ govertz

    I gave up long ago, and the thing that happened was I became more productive.

  • Kelderic

    I understand exactly how you feel. I’ve been building sites on a contract basis for years now and felt pretty good about myself. But now that I’m looking for a full-time job, all I see is postings that require a billion tools I’ve never even heard of. Who the hell has the time to learn all of them??

  • Steven Carter

    Nice article, Louis. I think you speak to what a lot of us are feeling these days. A while back I decided to jump into AngularJS (still my day job) and Meteor (still my night job) and I think both were worthwhile, if only that those frameworks exposed me to a lot of other technologies e.g. NodeJS, Sass/Less, Grunt/Gulp, MongoDB, etc. My point is, if you sit back and say “to heck with any frameworks, I’ll code it myself,” in today’s world you will be left behind. My advice to the less entrenched in FE Dev would be to pick one or two frameworks that make sense to you, that can solve a problem, and then learn them. Don’t worry so much about knowing everything. It’s simply impossible, and any reasonably intelligent potential employer knows that. For example, just knowing the above-mentioned technologies get’s my foot into the door for a multitude of jobs using other (non-AngularJS, non-Meteor) frameworks.

  • Ian Warburton

    These tools are typically not definitive and they add layers of unhelpful abstraction & complexity. I think the sensible thing to do is ignore them. Having said that its hard to do this because we tend to hand over our information to recruitment agencies and make them the gate keepers to jobs. They typically wont understand any of this stuff so they filter us based on a check list of skills. Thus for example if you have HotGas 1.2 but not HotGas 1.3 then your career is temporarily finished. So we have to keep learning, potentially missing out on income. Its like running on a treadmill; you never get anywhere. And your ability to hone your craft and create quality solutions is neglected by the distraction of using the latest annoying buzz tool. Plus employers will tend to be irked by developers using non-basic tools as it makes it hard for another commodity developer to step in and take over. Overall I think the acid question is… do I still need a server, a database, a web framework, HTML, CSS and jQuery? If not then whatever….

  • http://www.dancancro.com/ Dan Cancro

    I collect pros and cons of web technologies and put them into a single resource. It saves you massive amounts of time discovering tradeoffs between technologies without your having to read any literature about them or their source code. Louis, I think you should consider a collaboration between it and your newsletter. It’s really an amazing resource like no other I’ve ever seen. It’s free to use, so to keep it sustainable I only ask for a contribution of a little knowledge by completing a questionnaire about something you know. http://www.dancancro.com/compare-app-technologies/

Special Offer
Free course!

Git into it! Bonus course Introduction to Git is yours when you take up a free 14 day SitePoint Premium trial.