Javascript - Application Development

JavaScript is Cool…and the Market is Hot

Practically every professional recruiting source, from Glassdoor.com and LinkedIn to the U.S. Department of Labor, reports that the demand for developers is growing faster than expected.  In 2006, Microsoft and other corporations were screaming “Developers, developers, developers!” and encouraging an unprecedented new wave of growth and entrepreneurship to support the bursting tech economy. According to the U.S. Bureau of Labor Statistics, by 2012 there were over a million developer jobs, with employment for software developers expected to grow 22% from 2012 to 2022, much faster than other industry averages.

While developer demand is old news, the type of development most sought often changes.  In a Dice.com report from 2011, JavaScript was not only one of the most in-demand tech skills, but also one of the fastest growing. Today, its popularity remains high, with JavaScript ranked in the top ten tech skills to know.

table

As a programming language, JavaScript is not new, making its first appearance in 1995 in conjunction with the Netscape Navigator browser.  So why is it so hot now? For starters, JavaScript has been widely adopted in enterprise with a positive impact on many different parts of the technology stack – and in many different ways. By reading up on Full Stack JS, you get the picture that it’s much more than just “that 90s language.” JavaScript is growing in popularity with product owners and designers due to its generous support of great user experience features across the most popular web browsers and platforms.  That’s good news for designers and for end-users.

With the light-speed proliferation of mobile, consumers and enterprise users have come to expect highly responsive and seamless web experiences regardless of the device they’re using to access information or to accomplish tasks. As a result, well-educated brand owners have been retiring m-dot websites and providing full-blown dynamic experiences that are feature rich, perform well and are contextually relevant.  In addition, clients want animations and interactions for a “wow” factor; initially, Flash was the answer for achieving these goals. Fast forward a few years and R.I.P., Flash. We don’t miss you. JavaScript is way cooler.

A lot of the “cool” functionality found in early native applications was only possible on the web browser via plug-in technology (e.g., Macromedia Flash, Microsoft Silverlight, etc.).  Today, that functionality is achieved with JavaScript in combination with HTML5 and CSS3.  Complex interactions with data (e.g., in-line filtering, instant feedback, context-based rules, etc.) once thought to take weeks of programming now comes out-of-the-box ready for manipulation and implementation with popular JavaScript libraries and frameworks. For these reasons and more, job description requirements for front end developers have changed from “experience with JQuery” to “experience with Angular, Node, Bootstrap, and JQuery.” JavaScript is growing up fast – but the need for quality JavaScript development is outpacing it.

Now let’s look just around the corner—at mobile development—and mix it up even more.  If you are an iOS developer who also knows JavaScript, then you have an interesting future.  The upcoming Apple iOS8 will give hybrid developers a plethora of additions to the SDK, and they will finally be able to interact with the web in the same manner as the mobile Safari browser. Enter Famo.us. Famo.us is hoping to bridge the gap of hybrid development by first rendering PhoneGap obsolete. Most developers are not fond of PhoneGap due to the sluggishness of its UI.  Famo.us has written a modular JavaScript framework and physics engine for creating interactive animations that work very differently from previous hybrid frameworks; these may drastically improve the reputation of, and actual user experiences rendered by, hybrid apps.  All we can say is, let’s watch this one closely.

Of course, what makes a developer great is more than his or her technical skills; it’s their ability to understand and approach applications holistically. JavaScript can be part of an architecture and development strategy; it should not be the architecture or strategy. In other words, JavaScript is cool, but it’s not a panacea. Competent developers with a lot of experience will know where, when and how to use it. But, as with any programming language, inexperienced developers will try to do as much as they can in JavaScript once they get comfortable with a library or framework, even if it’s not the best tool for the task. This is a problem that can go unnoticed for a while and which can negatively impact scalability, maintainability and performance.

The same is true for the user experience: not all emerging technologies are equally valuable in all situations. The UX requirements that comprise the UI are driven by the user needs – or target audience. And not all users are looking for (or can handle) the very best features that take a ton of bandwidth, CPU and memory.  For instance, in developing countries, these factors are faulty and browsers are several versions behind, so performance and compatibility would most assuredly be an issue if JavaScript was heavily and unnecessarily used. If your target audience is globally distributed, dialing back on a “cutting edge UI” will help mitigate the risk of a poor user experience for some. JavaScript might also not be the language of choice for applications within highly regulated industries that require specific security. Architects and seasoned developers understand this and know what JavaScript can do in the right situation as well as what situations are not right for JavaScript. The bottom line is to make use of what JavaScript has to offer but don’t abuse it.

How about longevity? Will JavaScript be around for the long haul or is it a shiny object that will soon be replaced by something better? In other words, is it safe to build your enterprise application with it? Most developers are in agreement that Flash is dead.  Some say it died of natural causes, but most of us know who killed it.  JavaScript has taken its place and it appears that, for the next decade at least, it will continue to expand and take charge of an increasing number of digital properties in varying parts of the stack. If we consider what Flash had to offer – which was mostly just in the UI –and multiply it several times to account for other parts of the application, we’ll begin to understand just how much value JavaScript delivers. Does it have an expiration date? Sure, but we certainly don’t know it yet.

Another important factor is JavaScript’s constant evolution. New JavaScript libraries and frameworks are being developed all the time.  Just a couple of years ago, Angular.JS was in beta; today, developers with Angular experience are in high demand.  If you’re just now picking it up, you will wish you had started playing with it a couple of years ago. And that’s just one example of how quickly JavaScript advancements can become prominent. Knowledge is currency. Critical problem solving, best practices and a clear understanding of how these new libraries and frameworks are overcoming challenges are what hiring managers prize the most in their selection criteria.

It’s impossible to predict exactly how technology will evolve, but what we do know is that applications being built with JavaScript today will need ongoing sustainment for years to come.  Even if we were to be very optimistic about a long product shelf life, these products will require multiple upgrades and changes to remain enterprise-grade over the next decade. In order for businesses to maintain or enhance products developed with JavaScript, they must budget for vendor partnerships or hire in-house experts now and in the future.

All of this is good news for North American developers who have been watching web technology evolve as a whole and have kept their JavaScript skills current.  If you’re one of them, your career advancement, marketability and compensation are in your control now more than ever. Remember a few years ago when the demand for good iOS developers was unprecedented? If you were a UI developer on the sidelines drooling over those job postings, good news: It’s now your go time. Your market has arrived and is here to stay. JavaScript is your ticket because, let’s be honest, HTML and CSS talent is not nearly as hard to find or teach.