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:


  • Tree

    Hi Laurence,

    Thanks so much for assembling all this information in one place. I have been reviewing job descriptions, coding bootcamp offerings, and the advice of developers, too, and have come to similar conclusions. I’m relatively new to coding and hope to make the transition to full stack JavaScript development over the next year or so. I think digging deep into JavaScript is a smart move. I am seeing an increasing amount of enthusiasm for using JavaScript wherever it is possible, not just in front end development, so the possibilities seem endless. It’s hard to know where to start when first getting into web development, and so much of what we need to know seems quite esoteric when first encountering it. Thanks again for the resources and summary!

    • Hey,

      Thanks for reading! I know, I feel like since I’ve been learning I keep seeing JavaScript more and more places — which made me realize I need to buckle down and start learning it! (For front end and backend — you’re right.)

      There is just so much you can do with and so many libraries … it’s hard to know where to begin. That’s why I really liked Will’s video + mind map. He broke it down so well. Even though it was a lot of info, he made clear the important stuff to focus on. (Like JS, jQuery and then learn one framework really well.)

      Stay in touch and let me know how you progress ^-^

      • Raj

        Which resources did you use to learn “vanilla” JS ? Most of them seem too basic, i.e treehouse, codeacademy and udemy. I still feel like I am at hello world stage.

        • “vanilla JS” is just a fancy term to called just js without any third party library or something like that who help you to write small code

          if you want to learn js then go to code academy or thenewboston

  • sahilkhosla

    WOW! This article is amazing and I am so glad you covered this topic. Front-end is becoming way more complicated than it used to be and this post is must read for people who are just starting out in this field. I feel a lot better about my skills after reading this!! This is a key take away for many people -“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.”

    • Hey — Thank you for reading!

      And exactly — just because you don’t meet every single requirement on a job posting doesn’t mean you shouldn’t apply. In fact, if you meet EVERYTHING, you’re probably too qualified!

      :p

  • JayGaulard

    Hi Laurence,

    I’m interested in how your JavaScript journey is coming along. I’ve read a few of your posts and what struck me was the fact that you joined Treehouse for your training. I recently signed up with them as well (around the beginning of February) and have taken a few of their JavaScript courses. Here’s what I’m coming across: I think JavaScript is mainly a “thinking” language, and what I mean by that is that it requires you to think differently than you normally would on a day to day basis. I’m finding it very literal, which is probably going to be the most challenging aspect of climbing the learning curve.

    I think I’ll eventually grasp the syntax and develop more of an understanding of the functions, objects, etc…but going back to the “word problems” days of math class is probably going to stump me for a while. You know, actually defining the problem and then devising a plan to solve it.

    I signed up for Lynda.com a few days ago and am currently taking two of Simon Allardice’s classes – “Foundations of Programming: Object-Oriented Design” and “Foundations of Programming: Fundamentals.” I think these classes will help me in the thinking like a programmer area.

    Currently, I can read and understand the basics of JavaScript, but if someone asked me to do something, I’d probably give them a blank stare. So, if you wouldn’t mind, could you fill me in on your progress? Have you had any “Ah ha” moments? If so, what did you discover that made what was one a challenge much more simple to understand – if that’s even possible.

    Thank you in advance,

    Jay G.

    • Hi Jay,

      To be completely honest: these past few weeks the only coding I have been doing has been on my new website I am building. (I am redoing this site & it is on WordPress — so I’ve been doing some PHP!) Between that and other work I haven’t done much JS lately.

      So I can’t exactly answer your question :( But I know what you mean. JS was / is still very … foreign to me. A lot of my confusion came from seeing all these different tutorials using different syntax and taking a different approach. And then I would jump between vanilla JS, and then jQuery … and then spent a lot of time experimenting with Meteor …

      So I was “bad” in that I didn’t stick to one thing.

      And as I mentioned in this article, I never had a “love” for JS. Out of everything I’ve done, it has been the hardest for me to wrap my head around.

      But I honestly believe that practice, practice, practice and putting it into use. This isn’t the same thing, but as I rebuild my site today I see how far i’ve came from when I built the site over the summer. (So, about six months later or so.) I can now create all these custom WP functions and hooks that I never would have been able to do months ago.

      I guess it just takes time :-/ I really don’t think there is anything that can compare to hours put in learning.

      Anyways — I am interested in hearing how you like Lynda for programming. I used to watch Lynda courses all the time — but mostly for design / front-end.

      Take care Jay & best of luck to you! And if you keep at it, you’ll definitely see progress.

      • Hi Laurence,

        I just wanted to get back to you regarding the courses I took over at Lynda.com. I went through one introductory programming course from Simon Allardice, which was pretty good. I also took a course by James Williamson on CSS and another one by him on HTML5 structure. Then, I took another course by Simon Allardice on JavaScript, which was my favorite.

        Okay, time for my review. The courses by Simon Allardice were good. I really enjoyed the beginning of his JavaScript course because it had a lot to do with functional learning. That course, combined with some over at Treehouse, really gave me a feel for what the language looks like. I know it’s just the beginning, but if someone were to ask me what JavaScript is, I could sort of talk about it now.

        Simon Allardice’s beginning programming course went sort of well. I think it was a high level overview of what programming is. The issue I had with this one (and the previous one I just referred to) is that while they start off well, he sort of stuffs the final sections with random areas of the languages he was discussing. I actually left the JavaScript course early because I rolled my eyes too many times. I’m following past advice and writing blog posts that cover the topics I’m learning at my new blog (industrydev.com) and if I find that I can’t write clearly from what I’m listening to, that means they’ve lost me.

        As far as James Williamson, he seems like a really nice guy, but as far as structured learning goes, he kind of lost me too. It seems like some of these authors go off on tangents to fill up movies. I think I’d prefer it if they would lay out exactly what they would like to cover and then cover it. Some of his movies were good, but many simply touched way too lightly on a topic and then strayed to another topic. I think I was looking for more depth.

        I will admit though, from what I’ve learned at Treehouse, combined with the more “lecture like” courses at Lynda, I’m coming along. I’ve only jumped back into this for real since February, and I swear, I think I can write “Hello World” out there somewhere.

        Take care,

        Jay

        • Hey Jay,

          “I know it’s just the beginning, but if someone were to ask me what JavaScript is, I could sort of talk about it now.” = That’s awesome!

          Your site looks great so far…and it seems like you’ve already written a great deal! Congrats. For some people, it can be really tough to start a blog…and write regularly. In my opinion, that’s a huge accomplishment in itself.

          I feel like I learn the most when I am actually creating something. For instance, with my site, the more I add to it, refine it, fix it — the more I learn. It’s amazing how much PHP I have picked up (well, PHP in WordPress) these last 1-2 months alone.

          Point is: I highly recommend putting some of your newfound skills into use! (Whether on your own projects or paid projects as a freelancer/consultant.)

          As for me…I haven’t done an online course in awhile. Instead now when I need help, I do a Code Mentor session. Sometimes I do 1-3 a week! (Depending on what’s going on with my life.)

          Anyway: here’s a review I wrote about the service several months ago. – http://learntocodewith.me/reviews/codementor/

          It’s still basically the same today :-)

          Take care and good luck learning,
          Laurence

  • Darnell Wesh

    very helpful, thank you.

  • Rob

    Hey, thank you for this article. Ive been looking for this exact thing for a while now and it’s good to have a better understanding on what I need to learn. I have the core stuff down but all that extra stuff (bootstrap/angular/etc) is where I was getting confused on what I should be learning. I started a site over at selftaughtweb.com to help me learn and wanted to try and gather a list of required skills.. kind of like a checklist. So thank you again :)

    • Hey Rob —

      Thanks for reading. And I am glad you found it useful.

      I just checked out your site and you’re doing a really great job … especially considering that you just started it in February. It took me several months to get into the flow on my site.

      Anyways keep in touch and best of luck to you on teaching yourself =)

  • Jenna Reed

    Laurence, I couldn’t have found this post at a better time. I’m about to embark on a bootcamp myself, specifically tailored to being a design boot camp called Designation. I looked into General Assembly and the Iron Yard and it seemed like neither were quite what I wanted. I want to go toward motion graphics ideally as well as web design and development. Many seemed focused on creating your own web applications and programming (or doing a start up).

    In any case the AMOUNT of information out there is insane. It’s really helpful cutting right through all of it and getting the advice in this blog you have provided. I’m definitely going to check out LearnCode.academy for javascript as a beginner.

    I’d love to hear your opinion on the program I will be attending (if possible). The program is 18 weeks with 6 weeks of virtual “prep work”. The program is marketed at UI/UX bootcamp, which… kind of worries me honestly. HOWEVER, they consider it “full stack design”. There is a focus on coding throughout the program and everyone I’ve talked to seems happy with their experience. BUT before I shell out a significant amount of money, I suppose I wondered if something that focuses on this was even useful without it being MAINLY about javascript?

    One major pluses at Designation are the employment connections. Everyone seems to get a job after, and we spend an entire month on portfolio work alone. So, am I being silly to be concerned? ;p

    • Hey Jenna,

      Glad you found it useful :)

      I never heard of Designation. Is it online or in-person? Or both maybe (from what you said)?

      I guess it really depends on what your goals are! If you want a full time job doing UX/UI, then it probably is a good decision to go to such a bootcamp. If you’re unsure though of what “it” is you want to do… then maybe hold off. (It sounds like you have a good idea of what you want to do, though.)

      A lot of UX/UI designers (from what I’m aware of) don’t actually “code”. Nonetheless, being familiar with programming definitely won’t hurt. If anything, it would make you a better designer and team-player.

      This is what I think you should do: find UX/UI designers with dream jobs that you’d love to have. Connect with them on Twitter or LinkedIn or what have you. Then, ask them their opinion: do they use JavaScript in their job?

      Hope this helps =) Let me know what you end up doing!

  • Zak

    Hey Laurence,
    I come from a business background but decided to switch careers. I’ve always loved programming and it is something that i really enjoy. Anyways, I’ve recently picked up couple of books on HTML and CSS, also using couple of websites to interactively learn coding and on top of that taking a MOOC course on interactive programming in Python. I’ve also switched to Linux OS because of the reasons, i’m sure you are familiar with. Anyway, I’m really determined to get into front-end web development as a freelancer to get the ball rolling and test the waters. What direction do you think I should take or if you could recommend a book or 2 i’d be sincerely grateful.
    P.S Interesting article. Keep ’em coming

    • Hey Zak,

      Glad you enjoyed the article ^-^ and it sounds like you’re getting a great start!

      When you say direction to take: do you mean front end or back end? Or what kind of projects to look for?

      If you mean projects, I think starting small is best. So taking on lesser paying jobs or even working for free to start building your portfolio. (Don’t worry — very quickly you can start to charge more.)

      I absolutely love Craigslist for finding side / small jobs. (http://learntocodewith.me/posts/craigslist-job-search/)

      If I were you, I would avoid sites like Freelancer where you have to bid on projects. I cover some of the reasons why in that post.

      As far as books go… Again do you mean in relation to frontend, or finding jobs :p

      FYI: my next article (scheduled for this Wednesday 4/15) is a guest post by a career transition expert all about transitioning into tech industry and how to get skills for the jobs you want. So look out for that, too ;)

      • Zak

        Absolutely agree with starting small regarding the projects. I’m thinking of creating a twitter clone as one of my first “kind of serious” projects (to showcase my skills) and as far as I understand It would require both front end and backend skills to some extent. However, I really want to work as a front end for some time to get comfortable with what I know and get the “easy” stuff out of the way for later diving into backend. My apologies, I didn’t clarify it well enough in my first post.

        Friend of mine started out as a front end from those freelance websites and he is doing great with a full time job as a backend dev. He suggested me to do the same. Besides freelance sites overcome the distance problem which in my case is crucial. Very informative article on craigslist btw :) didn’t find lot of remote work though but i’ll definitely explore it into more detail later.
        Anyway what I need advice on is books to give me a solid understanding of JS and maybe couple of books to get me started with python/django and whatever the additional skills/tools I’ll need to maintain the server side of my front end.
        Thanks for your prompt reply btw and definitely checking back for your next article, sounds like it’s going to be relevant. :)

        • Hey —

          Yeah, I think front end is easier for most people to grasp. (I guess it depends on the person, though, like anything.) HTML, CSS and JS are all great because you can see it right in the browser — making it really easy to learn and tweak and learn more.

          About what to build as first project: I think the most important this is being passionate about whatever you’re building. For example, this very site was sort of a learning exercise. (And I continue to learn a lot from maintaining it.)

          And I’ve kept it up for so long (now almost a year) because it is something I care about and am motivated to keep working on it and improving it.

          This is really the only example I have of something I have maintained. I’ve built lots of small sites and little apps. But my interest has always faded. This allows me to combine writing (which I love) and coding. So it’s a good fit for me.

          Anyways: build something you care about, whatever that may be. It’s the best way to learn because you’ll be inspired to finish it :-)

          For remote work on Craigslist: make sure you check the “telecommuting” box when searching. Also — look in different cities in the US, etc. I have only used it in the US, so I cannot speak to it internationally.

          And about books…

          Honestly, the only programming book I ever really read is “Python the Hard Way” by Zed Shaw. Which is really good.

          Oh and I read “Discover Meteor” … which is about Meteor.js (Which is really awesome and you should totally check it out if you haven’t yet. Meteor uses JS on back end and front end. I can definitely point you to a lot of resources on that.)

          Beyond that — I really don’t rely on many books! I love courses with video instruction. I learn best when I hear something being explained and can watch a demo.

          And, of course, I rely on Google constantly. Another thing I use a lot of now (but didn’t when I first started out) is Code Mentor (http://learntocodewith.me/reviews/codementor/).

          I think being able to get one-on-one help is tremendously valuable from someone more experienced. And now that I am more intermediate / advanced (depending on what it is, exactly) it can be tough to find all the answers I need in an article or course.

          I honestly use it 1-2 times a week sometimes! Depending what I am working on ^-^

  • Naeem Congo

    Great article. I couldn’t be any newer to programming/coding. I just started a week a go. I’m focusing on Front End, and like you, I want to make sure I’m learning the correct/necessary info in the correct order. I checked job postings too, and was shocked to see the additional skills that they have listed. My primary goal(s) right now is to learn HTML, CSS, and JS. And I’ve also seen companies list PHP.

    I’ve downloaded books, watched Youtube videos, and taken courses on Codeacademy.

    • Hey Naeem,

      That’s awesome that you’re so new and already looking at job listings, seeing what they look for in candidates. It really is such a great way to create a game plan of what you need to learn to achieve your goals.

      If you haven’t yet, I highly recommend checking out this article on my site written by a guest: http://learntocodewith.me/posts/tech-career-transition/

      It is more general, but talks about finding jobs at dream companies :-)

      Enjoy! And good luck learning.

  • jmerrikin

    I am looking for 2 front-end developers to join our company — a major powerhouse in the financial industry located in Boston. If you are a passionate front-end developer who understands OOJS, advanced CSS, and client-side MV* frameworks then please contact me @ jmerrikin@gmail.com. I am NOT a recruiter; I work for this amazing company and proud to be a part of it.

    If you are a talent recruiter, please do not contact me.

  • Michael Gattozzi

    I find that with Job Listings anywhere for developer positions they tend to list more than wheat is necessary. It’s like a wish list of sorts. The front end stuff in this case is definitely what they want. The back end is more things they would like you to know but is not 100 percent necessary.

    • Hi Michael :)

      Very good point!

      I think most job ads (across industries) can be like “wish lists” for employers. I take it on a case-by-case basis, but I definitely have applied to positions before where I met half–or even less–of the skills required. Sometimes so many skills/technologies listed, there is no way one person could know them all.

      Anyway — exactly as you said: the back end stuff is typically a “nice-to-have”.

  • Good read. Mostly true. What I believe you have to know right now is:
    – HTML/CSS
    – Javascript makes you a developer right now. In other case you’re more UI/Web designer. Pure HTML/CSS is more for prototyping.
    – Javascript frameworks: Angular, Backbone, React – if you know one you will find job easy
    – Git (just learn it – it’s a must)
    – preprocessors – Sass/LESS
    Now we have tools: Bower, Gulp, Vagrant, command line… you can live without them. But why?

    Then we have some extra things which may help you win sometimes:
    – good practices: documentation (KSS), naming conventions (BEM), google “css guidelines”.
    – CSS regression tests (Galen Framework) – at least google it.
    – SEO – it’s good to know basics because it’s influence the way your organize your html (this includes Facebook Open Graph basics)
    Long story short – it’s pretty well paid job – you’re a damn specialist!

    • ***mind spins***

      So much to learn :p

      But some things much easier to learn than others. And other things much more important to learn than others! Like IMO I do not think knowing about SEO is that important for FEWD. However, knowing about how it works and writing code that is good for SEO is definitely a bonus. And yeah, adding all the open graphs and meta data for social platforms can be confusing…not a bad thing to understand :)

      • So the Javascript it probably the easiest way to get hired and be paid well. You can live without that but you will have less choices to pick from.

        • It’s also one of the toughest to learn… haha.

          But yes it’s for sure the easiest way to land a good job. Especially knowing one of the libraries like Angular.

  • Clang

    This is a great resource to begin making sense of the galaxy of web dev concepts, skills, and positions out there. Definitely helping me find my path to front end dev :)

    • Hey! Glad you found it useful :) Good luck as you continue to learn and make your way down the front end web dev path.

  • Mahdi Alkhatib

    Hi Laurence,

    Nevertheless my comment is one year later, but I think you should consider http://careers.stackoverflow.com/ when you want to search for Front-End developer Jobs that require JS frameworks.

    • Hey there – yup SO is a great career resource. As is Github jobs.

      I am in the process of building a new site now just for junior tech jobs. It is not up yet, but will be here – juniortechjobs.com

      So look out for it in the future.

      Best,
      Laurence

  • Hana B. Mos

    I laughed so much and I did really enjoy reading this article. I found many of this job requirements in my lifetime as front-end developer. Somehow they pushed me to reach additional skills through the years. But I agree that in essence HTML, CSS and jQuery are the heart skills that makes you a front/end developer.

    Hana (:

    • Haha! Exactly – the skills required seem to vary greatly! Either way glad you enjoyed the article :)

  • Nathan Ven

    The best article I have read so far on the required front end developer skills.Thank you very much.
    I am a senior citizen who retired recently and have always been fascinated by web pages etc. I am keen on learning the skills. Will I be able to land a job as a front end developer, if I learn the skills ?

    • Hey! Thanks :) Glad you enjoyed it.

      I don’t think age matters…skills do.

      Check out my good friend Lori who just put together this site: http://www.mother-coder.com/

      She’s learning to code at 60 :)

      • Nathan Ven

        So you think companies will employ me full time if I acquire the skills? I am not exactly a novice to the software industry, having had software engineers reporting to me at one time.
        And unable to access mother-coder.com…webpage has a redirect loop…it says err_too_many_redirects !!!

  • We have posted a bunch of Job Descriptions (as well as other related tips, interview questions and common mistakes) for different kinds of the software developers http://www.toptal.com/resources/#remote-developer-job

  • djarumsuper

    thank god, i’m not the only one here who was confused. I’m located in Indonesia and companies are doing the same thing here (i think they just copy/paste the requirements from US site). good reading btw!

  • Cyriac.Jon.Bony

    I used to panic seeing the job requirements to be a front end developer. But, this article calmed me down. :-)
    Thank you

  • JohnLWebb

    I really hate those “front end” job abs that clearly require something that is not covered with a “front end” skill set. For example like those ones you posted that require PHP, however mentioning that knowing a certain “back end” skill is a plus (like Ruby on Rails) is OK to me.

    How I see this is that if you require both “front end” and “back end” skill set then you’re looking for a “full stack” developer, period. Now the reason why the job is not addressed as “full stack”, but rather a “front end”, is alarming to me and raises some questions.

    For example these are the assumption that I get when seeing those kind of job abs:
    – Is it because you intend to pay less for the “front end” position, even though you intend to delegate a “full stack” tasks?
    – Is it because of the percentage of tasks that one will have (like it’ll be 70% “front end” and 30% “back end” related tasks)?
    – Is it because currently all tasks are “front end”, but you feel that this “back end” skill could come in handy in a future?

    Nevertheless, for the front end developer first and foremost is the holy trinity (HTML, CSS and JS) everything else is an advance enchantment of one of those three skills. I really believe that every single “front end” job abs should follow this, the candidates should only be tested against HTML, CSS and JS coding skills and if you need more (something unrelated to any of those skills) then you need to reconsider the position that you want to fill and name it appropriately.

    Also I feel that some skills are common to all developers (regardless of being a front or back ended), like IDE, version control, unit tests, etc. Last I feel that SEO is a “front end” skill because it is directly related to your HTML writing skill.

    • Thanks for sharing your insights, John :) (And I can see how SEO is a front-end skill!) Thanks for sharing that link, too, about testing. Very cool – never saw testdome before.

  • Thomas

    Excellent, informative, and downright spot on
    Laurence,

    Thank you so much for sharing such a comprehensive amount of research and opinions about your experience with the front-end. I have been a designer turned developer for about 10 years, and just recently, I started thinking…”How and what do I need to do, to become a better front-end develoepr / full-stack developer.” Your list is an excellent roadmap in so many ways.

    Just wanted to write you and say thank you.

    Cheers,
    Thomas

  • Gorjan

    You’ve done an excellent job on analysing the front end development job market.

    I’ve posted job ads for front end developers, have hired front end developers, and have been a front end developer myself, so it’s great to see a full analysis from a current job-seekers perspective.

    If it’s of any help to you and your readers, I can offer you the following insights from an employer’s perspective:

    * It is a correct assumption that the job ad is a wish list. The best applicants have about 70% of skills listed, and that is sufficient to make an offer.

    * However, this wish list is based on what the business *really* needs at this point. So if a job seeker can offer a range of skills and not just the core 3 (HTML5, CSS3, JS), they will come way ahead of their competitors and are likely to get an offer that will come with a higher $ amount (or get a raise shortly afer starting).

    * Front end traditionally was a designers’ playground, but has matured into a more serious development field. This is particularly so after JS has found its way to being used as a server technology.

    * Because Front End was traditionally a field for designers, a lot of the job descriptions carry legacy tasks such as video editing or a reference to graphic design. These jobs are in companies that are “evolving” into digital or maturing into development. Depending on where you want to go career-wise, you may want to avoid these businesses (or pursue them specifically). Some of these jobs may lead into other jobs, which you may find more rewarding over time.

    * I started off as a designer (in 2001), but the frustration with not understanding JS essentially forced me to get a Computer Science degree. Most will not need this, but I cannot overstate the importance of learning programming principles before even looking at JavaScript code. Do a few courses in Intro to Programming, Computer Science fundamentals, or similar.

    * JavaScript will be the core Front End Dev skill at least for the forseable future

    * Regardless of how much you know, your character and being easy to work with, and generally being a nice person, will win over someone who is more skilled but intolerable or lacks good people skills. This only applies to full time jobs. Different story for contracting, though not hugely different.

    * Having knowledge (or production experience) in JS frameworks is a benefit, but for most jobs not a defining factor.

    * I would add Git/Github as a minimum job requirement. If it’s not on all job ads now, it will be.

    * I wouldn’t worry about PHP. But understanding server languages is helpful becuase you will most likely need to integrate front end code with some server technology.

    * JSON is critical today, due to massive growth in APIs and frameworks. But it’s also incredibly easy to understand, if you understand JS syntax.

    For learning JavaScript and Git, I would recommend Code School over and above all other online resources. Worth every cent: https://www.codeschool.com/paths/javascript

    An Intro to Computer Science would be a pre-requisite. Any of these would work:

    https://www.coursera.org/course/cs101
    https://www.coursera.org/course/principlescomputing1

    Though it may seem like a waste of time, understanding the fundamentals will go a long way in helping you get the job you want as a Front End Developer.

    Good luck, and thanks again for the excellent analysis.

    • Thank you! And thanks for putting in such a thoughtful reply :) I think it can be its own blog post.

      (Also – I wrote this post over a year ago! A lot has changed since; I know. I need to update it.)

      I just wanted to say that I totally agree with this part,

      “Regardless of how much you know, your character and being easy to work with, and generally being a nice person, will win over someone who is more skilled but intolerable or lacks good people skills. This only applies to full time jobs. Different story for contracting, though not hugely different”

      A person’s personality, and how easy they are to work with, is *so* important. I would rather work with someone with average skills and is easy to work with over a person who is highly talented…but not easy to get along with.

      Thanks again for reading + writing such a thorough response!
      – Laurence

    • Kevin

      Thanks for all this juicy info about what true web dev managers are really looking for and thanks for the link to codeschool. Being that Javascript is my weakpoint and after viewing so many video tutorials, this website seems to be a great way to stay motivated to learning. The reward system is such a great idea when implemented right!

  • GOD

    am epic SEO with epic business. hope to ditch marketing and become epic developer.thanks for guide.

  • Tom

    Thanks! You’re amazing. <3

  • Spencer

    Laurence,

    I am wrapping up an online front end developing training program (Thinkful). With Thinkful I have learned everything from HTML, CSS, JavaScript, JQuery, API’s, and AngularJS. After reading your article I can not agree more with the fact that so many “Front End Developer” job postings ask for a variety of things. I feel that with the programs I know I am comfortable at junior level positions however I can not even get an interview. Most jobs I apply to ask for HTML, CSS, JavaScript, JQuery all of which I have. And I apply to ones that say pluses PHP or C# JAVA Ruby. Do you have any suggestions on what I should be looking for? How can I get an interview to applying to those jobs with the languages I know even if they ask for the ones that I dont?

    • Hey Spencer! Hope you enjoyed Thinkful :)

      As I mention at the end, a job listing is like a wishlist. And IMO if you have *every* skill listed – you’re overqualified. 60-80% is the sweet spot.

      I would not worry at ALL if you have the key skills mentioned, and don’t meet some of the “extras”. Especially if it’s a front-end job. I mean, you can’t expect a front end dev to know C# or Java. Sure, it’s a nice to have, but IMO it falls outside of that FEWD domain :)

      I hope this helps! Don’t sweat it; you’re doing awesome if you know HTML, CSS, JavaScript, AND JQuery :)

  • Raj

    Thanks for the great article !

    One does not generally need a CS degree until one encounters something like this “node js in flames” – http://techblog.netflix.com/2014/11/nodejs-in-flames.html . This is when one realizes why a developer with a strong background in CS (college or self-taught) is preferred over someone with just a boot camp degree. Perhaps this is why some companies insist on a CS or SE degree.

    PS – One could always let the “senior” developers in the company take care of issues like this. But, they will grow in seniority and the rookie will only become a better rookie. I wonder how many folks with just boot camp degrees will survive if there is a IT bust like the one in 2000.

  • Ben Salias

    I really appreciate what you’ve put together here. This is the exact information I spent today researching. What are your thoughts on these coding schools? Are they worth the hefty price tag?

    • In-person or online? I have a new post coming out in 2 days all about coding bootcamps and how to decide if you should go or not – keep an eye out!

      But basically – if you are REALLY committed and have the money in savings – it could be a good idea. Just make sure to do the research upfront.

  • sepia_admin

    JavaScript is the future! in the near future it will possibly overtake some of the back end development technologies. Frameworks such as Angular, Backbone are optional to learn but nice to have, you may master in Angular but in the next 2-3 years new frameworks will overtake current ones’s but you must know how to catch the next one. this will keep going on infinite loop… “Welcome to the Tech Industry”.

  • Stefani Lackey

    Great article! You really went through a lot of effort to put it together, and it was worth it! Bravo :) It answered my number one question (and 2nd, 3rd, 4th….)

  • getBrutal

    Hey,

    I’m actually a teacher at an IT college here in Montreal. I love that I found this because I’m just rounding off my course outline (I modify it as the semester goes on). But I’m glad to have covered all the majors you mentioned!

    Module 1: Understand Web Applications and an Intro to Design (1 month)
    Module 2: Quick ramp up with HTML, CSS, JS (1 week, we build a quick responsive site)
    Module 3: HTML, CSS & JS Explored (1 month, we build a functioning site with carousels, looped tables and more)
    Module 4: Git & OOP (1 week)
    Module 5: Starting a MEAN stack with MongoDB, Express and NodeJS (Angular to come, 1 month)
    Module 6: AngularJS and the rest applied (2 months)
    Module 7: Advanced styling with SASS and intro to Jasmine UT (2 weeks)

  • vikas p

    Great post… appreciate it.. So helpful..

  • Mohanad

    Hi Laurence,

    Thanks a lot for your detailed explanation, it is very helpful and really lens the perspective.
    your support is much appreciated and thanks again!

  • hey Laurence

    this research help me lot thanks for explaining the world what is front end developer exactly because their exceptions are horrible and a guy like me who dropout from college and internet is the medium to learn cant satisfy them thanks again

  • Roberto J. Cerrud

    Excelent post… after several articles, yours becomes my conclusion of an internet research on the subject.