Reminder - Having a tool doesn't mean you always use that tool...

Earlier this week Rebecca Murphy wrote an article about what she considers a "baseline" for JavaScript developers: A Baseline for Front-End [JS] Developers: 2015. It's a good article and I highly recommend reading it, but some of the comments raised an issue that I've seen in our community lately that I wanted to address.

It is an incredible time to be a web developer. That isn't to say we don't have a lot of problems, just that our field has grown in leaps and bounds over the past five years or so. JavaScript, and web standards in general, have created a rich playground for us to build not only web sites, but mobile and desktop apps as well. When I started, here were my tools:

Old school web dev

At a high level, web developers have access to:

  • Multiple different editors targeting multiple different types of web developers/designers. Everything from, yes, Notepad, to Sublime Text to Brackets to Dreamweaver and vi.
  • Browsers that are far more standards complaint than in the past and ship with incredible debugging tools baked in.
  • Command lines tools like Yeoman and Bower to help generate new applications and work with dependencies.
  • Testing and linting frameworks like Jasmine and JSHint to help ensure the quality of your code.
  • Automation tools like Grunt and Gulp that relieve you from repeating manual steps.
  • Libraries that cover every possible front-end need from date manipulation to web cam sharing to game development.
  • MVC frameworks like AngularJS and Ember to help build larger and more complex applications.

The amount of options we have now is incredible. And - admittedly - overwhelming. No one can try to stay on top of this and no one should even try. That's not the point.

Having a tool does not mean you need to use it. A tool is there to help you when you have a problem, and you know what? Life provides plenty of problems without you needing to add more to them.

As a web developer, you cannot expect to know everything, or even a sizable percentage of everything. What your goal should be is to stay aware of our world in terms of what types of solutions exist. The goal is knowing what a tool is and what problems it solves - not being an expert in every tool.

I know, for example, that there are some great tools for generating apps and scaffolding. But I don't need them now. When I start a new project, I'm not going to force myself to use them because they solve a problem I do not have! Keep that in mind.

There's a lot of opinions out there about how you should be building. I'm certainly someone who's been know to share his opinions as well. But at the end of the day - you need to focus on a process that makes you and your team successful.

Raymond Camden's Picture

About Raymond Camden

Raymond is a developer advocate. He focuses on JavaScript, serverless and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA