This article is an interview with Alex Ortiz, a former Developer Advocate at Educative, where he finds content creators for our interactive learning platform.
He recently spoke at an international JavaScript Meetup, a gathering of cutting edge JS developers.
Today, we’ll hear from Alex about what has JavaScript developers excited and where they the language is going in the future.
Brush up on your JavaScript skills with hands-on practice.
Ace the JavaScript Coding Interview
My work involves speaking with developers throughout the world while looking for great content creators to contribute to Educative. With so many great potential authors out there, my work leads me to talk with a lot of expert developers.
What’s great about my conversations is that they span both developer tenure and geography: from junior front-end engineers and full-stack developers, to 20-year veterans of embedded systems, all from over 20 countries across the globe.
The languages that have most come up are plain JavaScript and TypeScript. On the framework side, there’s been a much longer list, including Angular, Ember, Express, Gatsby, Next, Node, React, React Native, and Vue.
Related tools and applications were Jest to test the Vue framework; Firebase for connecting their JavaScript applications to a cloud-hosted, Realtime Databases; and Redux to manage state.
Here are a handful of the use cases I’ve encountered, all of which will be familiar to JavaScript developers:
Developers gravitate to different languages for many different reasons.
If you’re building backends for critical automotive applications, compilers for large social networks, or mobile front-ends for financial technology startups, the languages you learn and use will be very different, ranging from C++ and C# to JS. If you’re steeped in Kubernetes, you likely know Go. And if your dream is to build next-gen mobile apps, then Kotlin and Swift are on your menu.
Besides industry and type of software, other things like personal preference and how good the technical documentation for a language is matter too.
This could be its own language-spanning article, but here’s what JavaScript developers have mentioned as reasons they love it so much:
So JavaScript developers love JavaScript for reasons that extend beyond the language itself: it isn’t just the ease-of-use, flexibility, and the freshness it affords its adopters – It’s also that because so much of the modern world’s technology stack runs well on JavaScript.
The language is a great choice for building in today’s web-connected era. This seems to be the synopsis of sentiment about JavaScript from many.
Master JavaScript by learning hands-on, career-focused skills which allow you to excel both in the interview seat and on the job.
One developer I spoke to mentioned that because JavaScript was originally built so quickly—“it was made in a week”—it has always been a little rough around the edges. TypeScript they said, “tries to smooth out the rough edges of JavaScript”.
Additionally, TypeScript has become popular with advocates of type safety, as more developers embrace its importance for their code. And despite TypeScript being fairly new, released a mere six years ago, it’s already matured to a point that some developers are using it alongside languages like C# to build complex systems, to assemble offline tools such as command line interfaces, and to create advanced user interfaces and web apps in Angular, per some of the examples I’ve come across.
Some JavaScript developers have the opinion that Elm may someday be to TypeScript what TypeScript is to JavaScript today.
In this view, a functional programming language like Elm confers a huge working advantage to front-end programmers because it interoperates with JavaScript and can be used to build high-performance graphical user interfaces (GUIs) for web browsers, perhaps for lighter use case scenarios than one would use TypeScript and Vanilla JS for.
Based on this trend, it would be good to get a head start learning Elm today if you wish to build the front-ends of tomorrow.
On that note, JavaScript developers who want to take on that challenge might enjoy this tip: since Elm inspired Redux, learning Redux first may acclimate the newcomer to Elm faster.
Elm developers for the time being do face a challenge, which is that the Elm community is still very small at a time when communities in other languages and frameworks are experiencing rapid growth.
Speaking of community, adoption of the Vue framework is growing globally, with large hubs of users in China, Eastern Europe, France, and Nigeria, among other places. One reason Vue is growing so quickly is how easy it is to learn compared to other frameworks for single page websites and user interfaces.
The Vue community is also has a very inclusive, welcoming vibe that socially surrounds and engages its members both online and offline.
Some Vue developers also add that Vue is the easiest to work with than React and easier to learn than Angular making it the favorite framework for many developers. Developers who feel this way praise Vue for supporting advanced use cases and having functionality (e.g., lists) that some frameworks don’t have.
Whereas Vue is used to build single page apps and web interfaces, Gatsby is used to create static and responsive websites. Gatsby adopters are saying that they’re having a great time building static sites with low computational overhead, solid caching, and great performance. Gatsby also makes creating cross-browser progressive web apps easier for them.
Gatsby seems to be developing a reputation as a beloved JavaScript alternative to the excellent Ruby-based static site generator Jekyll.
Last, and on a non-framework-related note, many developers will rightfully say that every programmer should be able to write testable code and be able to demonstrate that they can do so.
This is especially important for developers who aspire to lead development teams, because testable code leads to fewer problems that get in the way of consistent, scalable user experiences.
Generally speaking, it’s probably wise to invest time understanding topics like manual and automated testing, the tools to use for both, and how to write good tests with such tools.
There’s a growing need for JavaScript-specific unit testing and automated software testing knowledge. With the growth of JavaScript, more JS developers are advancing in their professions. As they become more senior, they are being gauged in part on whether or not they can write and ship code that can be continuously tested and improved.
Being able to use tools like Jest to test Vue apps, and state management libraries like Redux to make code more testable is important to JavaScript development work. JavaScript developers consistently said that industry peers need to know about general and JavaScript-specific unit testing, performance testing, automated testing, and QA to contribute efficiently to the team.
Now that we’re on the topic of advice from developers to developers, let’s see what my JavaScript contacts are learning about and think others should be too.
I’ve saved the best part of my share for last: what JavaScript developers throughout the world feel their peers should be learning in order to stay ahead and advance the art.
The first perspective JavaScript developers have shared is that if you’re switching from strongly typed languages like Java, Kotlin, or Objective-C to a weakly typed language such as JavaScript, it can be difficult to make the context-switch.
The learning curve for JavaScript can therefore be steep, even for seasoned developers. Invest the time into learning how to make that switch, and develop the mental models needed to make the most out of JavaScript. This is an important point for both newcomers to JavaScript and experienced developers looking for fresh challenges.
Some JavaScript developers also argue that their peers from non-traditional backgrounds who learn JavaScript without formal training in computer science will benefit from making time to learn formal language theory.
The view here is that developers who self-teach JavaScript at some point need to tussle with formal language concepts, after which they can push JavaScript to its true limits and advance further and faster in their programming careers. I like points of view like this that respect the intrinsic hands-on, learn-by-doing nature of software development while also acknowledging that conceptual theory can help developers transform what they’re able to do with their skills.
On a third and more tactical note, multiple developers have mentioned how important it is to understand and implement promises, which are objects you can program today that are capable of returning values in the future. Knowledge of promises—what they are, how they work, when to use them, and why they’re powerful—has been described as a must-have in every JavaScript developer’s toolkit.
Here are a few more examples of areas JS developers are finding valuable to learn about and recommend to others for further study:
The global JavaScript landscape is large, varied, and filled with talent, ideas, and approaches. Developers and engineers in this space have diverse perspectives on how to build applications for web and mobile, on which approaches and frameworks to use, on how to leverage related knowledge to create awesome things.
But every JavaScript developer I’ve spoken to is unified in this: they all have a passion for JavaScript itself, for continuous learning and experimentation, and for helping others grow along with them.
Happy learning!
Free Resources