DEV Community

Cover image for Top 5 skills to learn as a junior JavaScript developer
Kevin Ball
Kevin Ball

Posted on • Originally published at zendev.com on

Top 5 skills to learn as a junior JavaScript developer

Jerod, Divya, Nick,and I recently had a conversation about in-demand skills for JavaScript developers during segment 2 of JS Party#77.

It’s a recurring theme in the JavaScript world because there’s sooooo much rapid change, and it’s hard to know what to focus on.

The impetus for the discussion was a recent research and analysis post called Game of Frameworks: JavaScript trends of2019 where the team at CVCompiler analized300 job specs for JavaScript developers and pulled out the most common terms. Here’s the graph of what they found:

Graph of top skills, with React and Angular as very top

After having a good laugh at the inclusion of things like “Java” (do job spec writers confuse Java andJavaScript?) and the laundry list of generic terms like “OOP” and “Design Patterns” we got down to a great discussion ofwhat actual important and useful skills to focus on are.

The resulting info was too good to leave buried in a show transcript so here it is: 5 key skills to focus onlearning as a junior JavaScript developer:

P.S. for each skill I also link off to some resources for working on it. Some of those links are affiliate links, which means I may receive a commission if you decide to buy a product I have recommended. If you’d rather I didn’t receive a commission, that’s cool too, just Google the resource instead of using my link.🙂

1. Master the fundamentals of JavaScript.

It’s super easy to get sucked into the latest and greatest framework, or the laundry list of terms thrown around but as Divya says:

For someone who might be newer, or who has just started picking up skills, it’s really overwhelming. And I’ve talked to a lot of people who have gone through bootcamps, or are fresh out of school, and they’re like “What should I focus on?” Usually, my answer is just like “Just get really good at Javascript, or whatever it is you want to do…” Because I think the flavors come and go. There’s a lot of frameworks that come in; React is popular now, but who knows what will happen in five years

Resources

2. Go deep on 1 framework (probably React)

Digging through engineering career progression charts at a range of companies (thank youprogression.fyi for pulling together a ton of these) we can see that for the first ~5years of a developer’s career they are typically working at higher and higher levels of competence within a particularspecialization.

And in terms of picking which framework… as the original blog post highlights and Jerod summarizes, from a jobs perspective:

If you’re gonna just pick one and dive deep, it seems like React is in 2019 your best bet.

Resources

  • The React Handbook is an 80/20 introduction to React on the Freecodecamp blog, aimed at giving you a fast-path start to being productive in React.
  • Full Stack React. Both a blog and a newsletter with great in-depth React articles
  • The React Podcast. If you’re into podcasts, this one by Michael Chan AKA Chantastic is great.
  • If you’re looking for a course, Modern React with Redux [2019 Update] is the React course I took when I was getting started with React, updated with new content to handle the latest and greatest features.

3. Look for bigger-picture patterns that will translate

One of the great things about front-end development in 2019 is that despite the abundance of frameworks, we’ve alsostarted to see some big megatrends that are true across frameworks. This is good news for developers because it meansthat as you go deep in one framework you can still pick up skills that will translate to others if need be.

I highlighted five of these megatrends earlier thisyear, but on the episode there were 2 key ones that came up:

Component-oriented development. Thinking about things as a set of components that can be interact, and plug-and-play. React is doing that, Angular is doing that, Vue is doing that, Ember is doing that, Dojo is doing that, Mithril is doing that, Svelte is doing that… That is the approach that we’re going.

Similarly, things like declarative coding… We are increasingly moving to a declarative paradigm for our components, we’re not imperatively doing things we’re thinking about. “Here’s what this thing should be”, and letting the frameworks handle how and when. And that’s another place where so long as what you’re working in is doing that, which means maybe not focusing on jQuery… But if you’re doing React, those skills are once again gonna translate.

Resources

4. If you’re doing the backend, learn Express

One of the most striking parts of the survey was how many back-end technologies were highlighted, both JavaScript andnot. And if you’re in the JavaScript world using Node, it seems like there’s a clear winner. Nick:

It seems like everything stems from Express, in some way, at least in what I’ve seen…

I’m currently using a project called NestJS, which is like a TypeScript wrapper around Express, but it makes it more Angular (that’s the way I describe it), in a good way.

Resources
  • FreeCodeCamp has a free course focused on Node and Express as a part of their Apis and Microservices certification.
  • Just Express is a Udemy course that has 16 hours of focused deep-dive content focused entirely on Express.

5. A year or two in, start focusing on data flows

I’ve seen this with engineers that I’ve mentored… dealing with data management (either in the front or the back end)is one of the trickier things to master at first. You can mostly avoid it in your first year or two, or only think aboutdata within the context of single components, but eventually you need to really master data.

I think Divya said it best:

I think especially since it moves past just working on small features, and you have to think about the overall architecture, and whether it’s scalable and maintainable; those are the things that you have to think about - how does the data flow, what is the architecture of the back-end and how does it provide data to the front-end, and how does the front-end liaise with the back-end, and so on? And just understanding that requires a bit of experience, and having worked on different applications, having played around with things… Yeah, generally the more senior you get, the expectation is that you know how to do that, and how to work those problems.

Resources

Ok, that’s a rundown of the top 5 things to focus on learning as a junior developer.

Interested in the people behind these recommendations? Want to hear their shoutouts of other awesome stuff going on inthe web community? Want to listen to a showdown about git squash vs merge? Listen to the entire episode right here 👇

play pause JS Party

If frontend development is something you care about, you might also be interested in my weekly newsletter the Friday Frontend. Every Friday I send out 15 links to the best articles, tutorials, and announcements in CSS/SCSS, JavaScript, and assorted other awesome Front-end News. Sign up here: https://zendev.com/friday-frontend.html

Top comments (10)

Collapse
 
andrewbrown profile image
Andrew Brown 🇨🇦 • Edited

React is in demand but should you learn it as a junior?
I wouldn't wish it on my worst of enemies.

React is not a framework and because of that, every startup who adopts Reacts builds their own Frankenstein of framework around React.

There are high paying jobs to React here in Toronto for 120K.
However, most companies in Toronto don't want to hire juniors only senior devs.

If they do hire juniors, expect to be looking for a job in 3-6 months because they are throwing devs onto the problem and once it's solved they are going to scale back their team.

There's more to this story but it's all I have time to write.

What the market is asking for is not always what's best for you to be doing.

Collapse
 
prahladyeri profile image
Prahlad Yeri • Edited

Something isn't correct with this chart or statistic if Bootstrap isn't in the list! Considering its ever green demand on top freelancing sites like Upwork and Fiverr, Bootstrap has to be at least in the top ten if not five!

Collapse
 
kball profile image
Kevin Ball

Yeah definitely a lot of oddities about that chart.

Collapse
 
emmabostian profile image
Emma Bostian ✨

I personally feel that strong CSS skills are much more valuable than reliance on a CSS framework, similar to strong vanilla JS skills

Collapse
 
emmabostian profile image
Emma Bostian ✨

But HTML & CSS aren't on this list because people don't value their worth lol

Thread Thread
 
kball profile image
Kevin Ball

Yeah it’s telling that even though the top items are frontend related the list is posed as “JavaScript developers” and HTML+CSS (not to mention things like accessibility) are nowhere to be seen

Collapse
 
zenbeni profile image
Benjamin Houdu

Java is cited because legacy backends or powerful specific backends are written in Java. So at any time in these cases any Javascript frontend dev should also be able to at least check the Java part of the API Java server to fix basic things / communicate with teammates.

Collapse
 
orimdominic profile image
Orim Dominic Adah • Edited

Woah! You didn't say anything about data structures and algorithms? 😲 Or maybe hat is included in 'deep knowledge of JavaScript'..

I'd also like to add

  • Know that JavaScript is spelled J ava S cript too 😅
Collapse
 
bvmcode profile image
bvmcode

I'm surprised testing isn't higher on the list. That seems to be a pain point that in turn produces higher demand for that skill.

Collapse
 
jerodsanto profile image
Jerod Santo

Good point! One thing I mentioned on the show is that there are plenty of testing-related things on the list. Namely:

  • unit testing
  • TDD
  • Mocha
  • Jest

I believe the demand for the skill is high, but it is spread out across different monikers. To quote myself (which feels weird, but I think it's relevant here):

Learn how to write automated tests for code, because yes, the specifics of the way you do it in this language, how do you mock in this language versus that etc. may not transfer over, but the skill of being able to write a test, to fully exercise a piece of code, you’ll use for the rest of your career. So absolutely, that is something that is trending, and will continue to trend until we have machines that write all our tests for us. But then who’s gonna test the machines…?