Bradley Braithwaite
1 import {
2 Learning,
3 JavaScript,
4 AngularJS
5 } from 'Brad on'
6 |
Check out my online course: AngularJS Unit Testing in-depth with ngMock.


Thoughts on JavaScript anxiety and keeping up with emerging web technologies.

on musings, javascript

In the last post I wrote titled Learning for 2016, I listed several web technologies that I may cover this year on my blog. The idea was to give readers a chance to comment on what appealed to them the most. Part of writing that post was to set out an expectation as to what 2016 will look like on my blog. I also asked: What makes you feel anxious? I had a number of emails from readers, all of which had a similar theme. They were anxious about most of the technologies I listed, or what happens if they learn technology x and it’s replaced by technology y. Or that in their day job they are stuck using ‘older’ technologies and are anxious that their skills will become stale. These are all valid concerns.

August 15th 2008 - Crispy

Throughout January, I saw several posts being shared via social media that fed into this theme of anxiety around JavaScript. Here’s a selection:

There have also been a number of posts debating whether to use a 3rd party framework (Angular, Ember et al.) vs. a custom-built framework. This post does a great job of synthesising the topic: Application developers, we need to have a talk.

Each of these posts generated a lot of comments and activity via social media. Many feel frustrated by the numerous web technologies and complexity, and others feel it’s part of the job.

The following tweets do a good job of contrasting the many points of view:

1 . Frustrated with Complexity

2 . Defending Complexity

So what’s the takeaway from all this? Clearly there are a lot of frustrated developers expressing themselves via blog posts and/or social media. There’s no denying that there have been a lot of changes in the JavaScript space over the past couple of years. Are these modern frameworks really too complicated? Do these frustrated developers just need to learn better? Which particular technology will win?

My Thoughts

My thoughts on this, which neatly sets up the theme of 2016 and this blog, can be consolidated into two points:

1. Learn JavaScript really, really well.

Knowing JavaScript well enough, and having a mental model that is solid enough that you no longer have to think about the constructs of the language will help significantly when it comes to reviewing new frameworks, especially the ES6 features. We don’t have to go as far as reading the official spec, but the MDN JavaScript docs are really great and not as demanding as the spec. And we can seek out presentations from the likes of Douglas Crockford if we’re interested in some strongly held opinions about the language and its history!

2. Whatever framework you’re using now, learn it really, really well.

Knowing a framework’s principles, strengths and weaknesses has helped me significantly when faced with learning newer frameworks. There is often overlap among frameworks, and when I’ve been faced with learning a radically different framework, it’s often been the case that it’s pitched against the weakness of the frameworks that I do know. I still had to work hard to understand the new concepts, but I understood why they were different which gave me a head start in building up a mental model.

We must ask ourselves, how well do we know the framework that we’re currently using the most? Do we know what design patterns it uses and why? Do we know how it does templating? Model binding? Does it have its own event handling mechanism? How does testing work? I used to use ASP.Net MVC a lot and invested a lot of time learning that framework, which gave me a foundation in MVC that enabled me to effortlessly transfer to AngularJS. I’ve since done a lot with AngularJS, and if you’ve read my posts on unit testing in AngularJS, you can see how I’ve taken a deep dive into how unit testing works (i.e. I practice what I preach).

For a little inspiration, you may want to check out this flash talk. But be warned, this also contains some colourful language! Where the f**k is the JavaScript developer?

Don't miss out on the free technical content:

Subscribe to Updates


Bradley Braithwaite Software Blog Bradley Braithwaite is a software engineer who works for search engine start-ups. He is a published author at He writes about software development practices, JavaScript, AngularJS and Node.js via his website . Find out more about Brad. Find him via:
You might also like:
mean stack tutorial AngularJS Testing - Unit Testing Tutorials