< !-- Digital window verification 001 -->

Do You Have What it Takes to be a Front End Developer?

| Get awesome (and free) stuff here

Recently I began looking at job postings calling for front end developers. I felt pretty confident with the skills I acquired over the last year and a half. That is, until I looked over some of these listings.

For me, the shocking thing was how much some of these front end job descriptions varied.

I came across mentions of backend JavaScript libraries to various CMS platforms. And even SEO-related requirements. However, one thing became clear: I need a much stronger understanding of JavaScript.

Nonetheless, all of these conflicting job listings led me to question: 

What are the essential skills I need to call myself a front end web developer? 

Front End Developer Job Research: What does it take?

I gathered my insights in three parts:

  • Job descriptions themselves
  • What coding bootcamps are teaching
  • And from a leader in the web development space who addresses this topic specifically

Front end skills checklist

Download a free checklist that will walk you through all the skills you need to become a front-end developer.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Part 1: Front End Developer Job Descriptions

For this first part, I analyzed different front end web developer job listings. To find these job ads I,

  • Used Indeed.com
  • Only looked at entry-level to mid-level listings (nothing senior level)
  • Saw any mention of Flash, and I immediately disregarded the listing

For this part, I am relying on photographs of the ads since job listings are temporary and can disappear once the position is filled.

And while I looked over many job ads on my own time, I am only including four in this article.

Here's our first job posting below, located in Philadelphia.

front end web dev listing

After reading through this posting and seeing PHP, MySQL, and even JSON mentioned—I am left to wonder if this more of a fullstack position, rather than front end. (Despite the listing saying “Front end”.)

Let's look at a junior front end listing next, this time west of Philly in Pittsburgh.

pittsburgh junior front end dev job

Remaining constant from the first listing is the HTML, CSS, JS, and PHP requirements. The one glaring difference is video skills. (Which, for the record, is not exactly front end territory…) 

Below is another job posting for a position based in Brooklyn.

music dev listing brooklyn

Unlike the first two job listings, this one mentions having a college degree. Also unlike the previous two, this listing says, “familiarity with Ruby on Rails is a plus.”

Okay, okay, okay. I'll shift my search to the West Coast. Below is a front end developer listing at Zillow, based in San Francisco.

zillow front end listin SF

This job ad specifically mentions Git as well as knowing the command line. Here are a few other things that were not listed in the job ads above:

  • Sass
  • RequireJS
  • Server side Java
  • Node.js
  • A/B testing

After reading these four listings (snd others), I wonder if the people hiring are intentionally listing far too many skills.

Part 2: What Coding Courses and Bootcamps are Teaching 

At this point, after looking through multiple job descriptions, I am totally confused.

The only thing I am certain on is that you need to have an understanding of HTML, CSS, and JavaScript at minimum to even dream of calling yourself a front end developer.

Want to get better with HTML?

Download my free HTML5 cheat sheet below.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Let's turn to the increasingly popular developer bootcamps and see what they are instructing. My reasoning behind looking at coding bootcamps is that if a person is dishing out a few thousand dollars to learn front end skills, the course better teach industry standards.

I'm going to use General Assembly (GA) as the primary example because they have learning centers across the US and even in cities internationally.

In brief, their Front End Web Development course instructs:

  • HTML
  • CSS
  • Intro to Programming using JavaScript
  • Beginnings of jQuery
  • Responsive design principles

So, nothing relating to JavaScript frameworks like angular.js. Also, nothing pertaining to Sass or another precompiler (like Less or Stylus). No mention of the command line or version control, either. And nothing pertaining to any kind of backend language like PHP or node.js.

While GA does not explicitly list some of the familiar front end frameworks and tools in their curriculum, I'd be surprised if they did not touch upon any of these during the course. I'd be even more surprised if they did at least mention Git and show how to push work to Github. (As I think more about it, I am almost certain they would.)

In any case, I am not going to use GA's front end syllabus as my only point of reference.

Using Course Report to sift through other front end bootcamps/courses quickly, I found that all seem to teach HTML, CSS, and JavaScript—but then there are others that differ.

  • Some front end workshops teach basic PHP, like this one in Baltimore
  • DecodeMTL, in Montreal, looks at the Foundation framework
  • Bloc.io, which is online-based, includes instruction on git, Heroku and angular.js
  • Hackbright's front end course teaches students about git, JSON and APIs
  • NYCDA, with locations in NYC and Philly, spends time talking about Sass as well as APIs

As you can see, front end bootcamps/courses differ in what they teach. (Just like how job descriptions vary in what they're looking for!)

Nonetheless, HTML, CSS, and JavaScript remain a constant thread.

Part 3: What Those on the Web are Saying About Front End Developer Skills

Lastly, I am going to look at what one thought leader is saying about the skills needed to succeed as a front end developer.

Will Stern, from LearnCode.academy, has a video that specifically discusses the skills necessary to be a front end as well as back end developer.

In the video he uses an awesome mind map that shows important web development languages, frameworks, and tools to learn. Below is a screen grab of the portion of the mind map that shows basic and advanced front end skills.

front end mind map skills

As you can see, he mentions a bunch of things. A lot of which that do not appear in the job listings or coding courses above.

Because I think what Will shows above (and talks about in the video) is important, I am doing a further breakdown.

1. MV* JavaScript Frameworks

These help you organize code. As far as MV* (or MVC) options go, there are thirty out there: two of the most popular being backbone.js and angular.js. Will recommends learning angular.js, which is made by Google. Without a doubt learning a JS framework is the toughest part of becoming a true front end developer. (UPDATE: now there is also React.js, which a lot of people are raving about. But not many companies are using…yet.)

1.2 Unit Testing -> Jasmine and Karma help developers write tests for applications. Out of everything on this list, learning how to test your applications comes last. It's a nice addition to your resume, but you can definitely get a front end dev job without it.

2. CSS tools

Compared to frameworks and unit testing above, the following CSS tools are fairly easy to learn.

2.1 Precompilers -> Using a precompiler (or preprocessor) has a lot of advantages, like making code cleaner, maintaining organization, and better following DRY principles. Popular CSS precompilers are as Sass, Less, and Stylus. Only learn one. Will suggests Sass.

2.2 CSS frameworks -> These help optimize your workflow with built-in grids and other CSS components. Two popular examples are Bootstrap and Foundation.

2.3 Responsive design -> Responsive design means being able to build sites that work on all screen sizes—desktop, tablet and mobile. Responsive design is intrinsic to frameworks like Bootstrap and Foundation. Meaning if you learn one of those frameworks, you're good to go.

3. Front End Build Tools

These relate to file size optimization and workflow efficiency.

3.1 Package Management -> This is Bower. When projects get large, it can be tough organizing all the libraries, assets, and so forth. Bower helps with managing all the parts.

3.2 Yeoman.io -> Yeoman is a scaffolding tool. It helps get you started quickly with projects, and encourages you to adopt best practices. This is run in the command line.

3.3 Task Runners -> Such as Grunt or Gulp. They run on the command line and compress files. Also act as a compiler for Sass or Less. They also have a wide range of plugins boasting other features.

3.4 Javascript Module Loader -> Like Require.js and Browserify—these bundle up dependencies.

Yikes. So that's a lot of stuff. Even just typing it all out was a bit overwhelming.

But before we all fall into a panic, Will himself emphasizes that you do not need to learn every single thing listed in the front end mind map to get a job as a front end developer.

Of course, this is only one guys' opinion of what a front end developer should know. (At the end of this article I include additional reading.)

But based off his nearly 40,000 YouTube subscribers as well as industry experience, I think Will knows what he is talking about. (Plus, I've watched a lot of his other videos and they are all very legitimate. I trust him.)

Wrapping It Up With a Visual

Below is a quick visual I created showing the wide range of skills I came across.

I included all four job postings as well as the topics taught by General Assembly, Bloc.io, and Hackbright. I lastly included some of the languages/skills featured in the LearnCode.academy mind map.

Realize I did not take down every skill and toolset Will featured. I only checked skills that matched up to the job lists and coding courses. (Will covered so many things in his video/mind map, and the table already had 20 rows!)

frontend skills

As you can see, the uppermost green colored boxes are what appeared the most times. And then, in descending order, the table features other skills that were mentioned. (Some not even relating to front end as I know it.)

Final Consensus: What You Need to Know to Be A Front End Developer

At the end of the day, these are the non-negotiable things you need to know:

They appear everywhere. You need a strong grasp of each to just have your foot in the door.

Beyond that, I think what Will mentions about the frameworks is great. However, it is the most difficult thing to learn.

So if you'd like to take the easier route, look into learning a precompiler (like Sass or Less), start using a CSS framework like Bootstrap or Foundation and begin implementing some of the tools like Grunt and Require.js into your workflow.

A fair amount of entry level job listings I found didn't even mention a JS framework.

Personally, I already know Bootstrap as well as Sass. I also use Grunt and Git. So I'm actually going to take a step backwards.

I'm heading back to the front end basics where I will be taking a better look at JavaScript. After a frustrating JavaScript workshop experience last year, I avoided JavaScript at all costs. But now I realize I need to dedicate more time to perfecting it.  

Out of all the sources, I think LearnCode.academy's skill list was the best. That's why I spent so much time covering it!

Even though a lot of the stuff he mentions is not seen in job ads or taught in classes, it doesn't mean they don't use it. Besides, some of the things he has on his list, like Grunt, are minor enough to not be included in a job posting.

Front end skills checklist

Download a free checklist that will walk you through all the skills you need to become a front-end developer.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Lastly: For Those Wanting to Apply to Jobs

Remember that you don't have to meet every requirement when applying for a position.

Many career counselors agree that meeting 80% of the skills listed is sufficient. (Here The Daily Muse explains how to determine if you should apply to that hard-to-reach job or not.) 

Moreover, keep in mind that job descriptions are like an HR persons' wish list. If you master every skill and meet every requirement, you're probably overqualified.

Nevertheless, here's my advice:

Any computer/technology/design know-how that you have, bring it to the table. You never know what an employer might be looking for. And you just may be perfect! 

Additional Reading for Aspiring Front End Developers

Before I head out, here are some other articles I looked to while researching this topic: