BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles JavaScript is Cool…and the Market is Hot

JavaScript is Cool…and the Market is Hot

Bookmarks

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. The demand may be old news, but the type of development language most sought after in the job market continues to be a hot topic. While there is still a steady need for people with HTML5 skills, the language to know is JavaScript.

In a report on tech hiring trends for 2015, Monster specifically called out JavaScript as one of the skills to have, thanks in part to the growth of web-based apps for the enterprise. In January 2015, Mashable listed the 15 most critical skillsets for developers, with JavaScript ranking second. This is a distinct change from previous years, when JavaScript was not universally liked. Blogger Glen Maddern represents the new thinking about JavaScript, believing it has progressed from being just okay to great.

What’s so great about JavaScript?

Why is JavaScript so hot today? For starters, it’s been widely adopted by the enterprise with a positive impact on many parts of the technology stack. According to Martin Heller in JavaWorld, JavaScript is not only partnering with HTML5 and CSS to build web front-ends, it can also be found in mobile applications and even on the back end in the form of Node.js servers. If you read up on Full Stack JS, you’ll understand 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. 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. Today, JavaScript is the better choice for delivering user impact.

A lot of the “cool” functionality found in early native applications was only possible on the web browser via plug-in technology like Macromedia Flash and Microsoft Silverlight. Today, that functionality is achieved with JavaScript in combination with HTML5 and CSS3. Complex data interactions (e.g., in-line filtering, instant feedback, context-based rules, etc.) once took weeks of programming; they are now 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.” As a language, JavaScript is growing up fast, but quality JavaScript development continues to generate new demands for enhancements.

Limitations of the language

What makes a developer great is more than his or her technical skills; it’s an 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 may 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 problem can go unnoticed for a while and negatively impact scalability, maintainability and performance.

For example, JavaScript might not be the best choice for use in developing countries where bandwidth, CPU and memory are issues. Quite often, even browsers are several versions behind, so performance and compatibility may be an issue if JavaScript usage is heavy. If your target audience is worldwide, 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 these factors 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 keep best practices in mind so that the user experience is not compromised.

Outlook on the JavaScript market

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?

Many developers agree that Flash is dead. Some say it died of natural causes, but most of us know who killed it. JavaScript has replaced Flash and, for at least the next decade, will continue to expand and take charge of an increasing number of digital responsibilities 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 longevity factor is JavaScript’s constant evolution. New JavaScript libraries and frameworks are being developed all the time. Just a couple of years ago, AngularJS was in beta; today, developers with Angular experience are in high demand. And that’s just one example of how quickly JavaScript advancements can become essential. 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 built with JavaScript today will need ongoing support for years to come. Even if we were to be 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.

Next steps for JavaScript Developers

All of this is good news for developers who have watched web technology evolve and kept their JavaScript skills current, but what can developers that are new to the technology (or young developers new to the workforce) do to ride this wave? The beauty of the technical landscape these days is that documentation, sample code, and discussions about other developer problems are a web search away.

Developers that are new to the language or are easing back into the more modern renditions could start by taking a refresher course online. Sites like Codecademy offer a starter course for JavaScript at no cost. If a developer is looking to learn as much as possible while working through real-life examples, then a Pluralsight subscription might be the better option. Pluralsight boasts an extensive catalog and offers everything from AngularJS fundamentals to persisting data on a server using Backbone.js. The courses are authored and narrated by industry professionals.

Developer communities for these libraries and frameworks are very strong and for in-person problem-based learning, an individual would can likely find a local group or Meetup that shares knowledge and works through problems related to a specific technology. Sites like StackOverflow also offer a wealth of knowledge of solutions to common (and not-so- common) problems that developers confront.

Most of the top frameworks and libraries are open-source and on GitHub (e.g. GitHub AngularJS). GitHub is an incredible asset to modern-day development because it provides an abundance of great software that is constantly evolving. Participating in the development community by resolving bugs, updating the wikis and submitting pull -requests for new features are ways that a developer can help grow the software and earn recognition in the developer community. This can even be critical as more and more technical recruiters are asking for GitHub or Bitbucket accounts during the screening process.

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.

About the Authors

Areos Ledesma is the Director of Corporate Development at AIM Consulting. Formerly the Solution Director for Digital Experience and UX Design, Areos is an experienced consultant with an excellent reputation for effective leadership in program and project management. He is well-versed in managing all aspects of large-scale initiatives spanning digital strategy, UX and visual design, rapid prototyping, content strategy, development, testing and measurement.

Will Asrari is a Solutions Consultant and senior mobile developer for AIM Consulting. Will is Microsoft Certified in ASP.NET and specializes in iOS and mobile web. His approach to digital experience and mobile focuses on user experience design principles and how mobile technology can create engaging customer experiences that meet business objectives.

Rate this Article

Adoption
Style

BT