What languages, frameworks and libraries should I learn in order to start front-end development?

View other answers to this thread
Start a personal dev blog on your domain for free and grow your readership.

3.4K+ developers have started their personal blogs on Hashnode in the last one month.

Write in Markdown · Publish articles on custom domain · Gain readership on day zero · Automatic GitHub backup and more

Marcus's photo

Well I am no expert but I can suggest what to do since I do full stack javascript. Here is a list of what I would learn in order of importance.


  • HTML
    • you can't get anywhere without this.
  • CSS
    • again this important to understand core mechanics of front end dev.
  • Javascript
    • The most important one. I see everyone saying to learn ES6 here but in reality not all browsers support that. You should learn ES5 so most tutorials or classes you find go over this. Once you have this ES6 is a easy.


You should strive to get a taste of it all if or at least most popular items because most jobs offer these.

  • Ember JS

    • Now when I started I learned this second but its strict styling gives you a better build without making so many mistakes at first and starts you off with some structure. Use the CLI.
  • Angular JS 1

    • Now I know angular 2 is out. But many and I mean many jobs ask for this and it is I think a good thing to learn this before learning Angular 2. You will love Angular 2 after learning Angular JS. I suggest not spending too much time here. Just get the basics and move on.
  • Angular JS 2

    • Now this is were new magic comes into play. Typescript 2.0 really bring this framework into the new age of front end. Now As you can see there is a new thing here so look below.
  • Typescript

    • This is a superset to javascript but it will give you a better understanding of OOP and javascript programming overall. Since all the Typescript code you right compiles down to Js you can take a look at what these things you made in Typescript really look like in JS. Some can be made smaller but it is a good learning curve point.
  • React JS

    • Most people will argue you should learn this before the other languages. Really it is a personal preference for me to learn it here. Reacts JSX files to me seem backwards to the days that HTML and JS were in the same files. And well they are again. However I would recommend React with Typescript. Since after all React is JS you can use Typescript.

The Sugar

I mentioned learning CSS before and this is where this comes in.

  • Bootstrap

    • Is actually a framework but you can just use the CSS like many devs and if you use Angular there is Angular UI which pairs well with bootstrap to have a more complete feel. Angular 2 however will have a good point in using bootstrap with its component based approach.
  • Google's Material

    • To me this has surpassed bootstrap in many ways but it is a little difficult to take in after learning bootstrap. It's very much a completely new approach.

Try to learn

This is something you should take a look at. It always your best interest to learn more than just your job.

  • Node JS

    • It's javascript on the server. Sooo hey you could you know start your own side projects. Not completely hard at all to learn. After you know the above you can pick up creating a node server in a day.
  • Express JS

    • This also is something that is very different in different projects. But it is easy to learn its basic structuring. This is sits on top of Node JS and well you can think of it as connecting your server to your front end.
honorable mentions

because every project has them, maybe just read over the docs if not dive in and use them in your personal projects, highly recommend making your own projects. If you want to see some example work check out my github. me.

  • Gulp
    • I prefer
  • Grunt
  • WebPack
    • Angular 2 uses
  • SystemJS
    • I think was used on Angular 2 Release Candidates but havent checked out A2 full release yet.
  • NPM
    • Just a very usefull package manager. You can use others though. This is just specific for NodeJS.
  • GIT
    • This is actually really important and most people don't stress this. There are other similar things out there but if you really want to get involved in the community of devs this is the place to be.

I never had anyone lay out a list of things and reasons of why I should learn certain things. I hope this gives you a good outline of how I learned to be a developer. I have been programming for 4 years now. I know some 15? .. 16? languages. Not fluent but I can dabble in many.

I hope this helps :D