JavaScript is without a doubt, one of the most popular, influential and fast-growing programming language in the last ten years. Also, it is one of the most versatile languages, being found in the back-end, front-end, mobile, desktop and even in embedded development.

The question is not if I need to learn JavaScript. I can say from now on, that if you're a Software Engineer/Developer, most likely is that you shall deal with JavaScript sooner or later.

There are some cases where you might need to program in JavaScript in a daily basis like it is the case of Embedded programming, where development and testing/QA is done typically in C, C++ and scripting languages like Python, Perl or bash, to say a few. However, nowadays embedded development is highly related to the Internet of Things, introducing developers to other fields like networking, cloud computing and mobile apps, those realms where JS is present, and you'd want at least have a solid understanding on how things work in these fields to be a better IoT engineer.

Let's walk through the path from learning to the working fields of JS and see why it definitely make sense for us, the developers.

The path from University to Professional Development

There is a gap between what is taught in universities and what the reality is for professional Software Developers. JavaScript is not part of the career plan in most of the universities around the world. Traditionally, the academia focuses on other languages based on OOP, like Java, C++, C# or other languages besides JavaScript.

So, we don't learn JavaScript in college, and we almost for sure will need to learn it to get a job in Web Development, and in some degree in Mobile development.

What's next?. Should the employers invest in you to pay courses and books for learning JavaScript, or should the colleges change their career plans to include JS as part of the curriculum?. To be honest, that responsibility should relay primarily in you, as a current or future software professional. Of course, it would be great if employers or universities help you learning JS, but they'd to do a favor to you. A developer must keep learning and improving her/his skills long after getting a degree and continue to do as technology evolves at its blazing speed.

In other words, professionals invest time and money in their careers and learning JavaScript (or any other language) is no different.
Let's continue learning why we should definitely learn JavaScript and the several fields of Software Development it is actively used for.

Web Development

The birthplace of JavaScript is the web. It was created as a programming language to create dynamic web content in the realm of the browser. However, since the creation of Node.js in 2009, JS is not limited to the browsers, and is now present in almost every environment we can think of.

In Web development, we can go from Back-end with the use of Node.js and its multiple frameworks (Express.js, Sails.js, Hapi.js, Koa.js), passing through document-based (JSON) NoSQL databases like MongoDB, moving to Front-end with the popular Angular, React and Vue.

You can quickly become a Full-Stack developer using only Javascript (e.g., Mean stack), but any combination of stacks are also found in company projects. For example, you can have the back-end with a database in Oracle or SQL Server, web services in Java Spring or .Net MVC framework and the front end in React, Angular or Vue. As we can see, Javascript is essential across the multiple web development stacks.

Desktop Development

Probably desktop applications were one of the last places we used to think when it comes to Javascript development, but not any more thanks to projects like Electron, a software development framework developed by GitHub to create desktop applications using the Chromium rendering engine and Node.js. Some popular applications made with Electron are Atom and Visual Studio Code.

Recently, Microsoft announced [1] a new project, React Native for Windows, which follows a similar approach as its counterpart in mobile (we'll talk about this soon), allowing us to create a native Windows native application using the Windows SDK.

So, if you already know Javascript and web development, now you can easily create desktop applications using any of the frameworks available, that's some excellent taking into account that it was something impossible to achieve more than five years ago.

Mobile Development

This is probably the second most popular area in development involving Javascript as the programming language. There are plenty of projects using a hybrid mobile/web view based frameworks. Apache Cordova and Ionic are two frameworks (actually Ionic can be seen as a superset of Cordova) that use the idea of having an embedded web browser optimized to run as closest as possible as a native application. Ionic uses Angular as the primary JS front-end framework.
On the other hand, React Native takes a different approach, having a JS project as the starting point and letting the framework to translate the structure, components, and logic into a real Native counterpart, that is an Xcode compilable and runnable project for iOS or the equivalent for Android.

In either case, a Javascript developer can quickly take hands-on mobile development and much more faster than learning an entire platforms whereabouts for mobile and the specific language, like Java/Kotlin or Objective/Swift for Android and iOS, respectively.

Internet of Things

IoT is a perfect field for JavaScript development, having an ecosystem commonly involving several of the frameworks on the back-end side (Node.js), which is ideal for Internet of things due to its event-centric nature, non-blocking IO and remarkable performance.
On the other hands, IoT projects typically have mobile applications that support the operation of the devices, such as provisioning, configurations, and operation, and they need to work on the available platforms (iOS and Android), then JavaScript skills on React Native or Ionic are handy as well.

Job market

The last, but not least. There is an important and healthy job market for Javascript developers. According to an analysis made by site codingdojo, JS is in the top 3, in-demand programming languages as in 2019, only in the US. That is no surprise when you think that jobs are requiring Javascript go from web development (front-end, back-end) to Mobile development, as we learned before. You can't go wrong with Javascript any time soon.

Thank you so much for reading this article at FSE. See you next time with more fascinating Full-Stack topics. Cheers!.

  1. ↩︎