Are you new to web development? Are you worried that you don’t know what you should be learning first? Are you overwhelmed by the sheer amount of buzzwords out there?
You won’t need to learn most of that stuff.
Don’t worry. There hasn’t been any “important” new technology in the web since 1999. Every single new idea that has appeared since then has been one of:
- Tools to work with existing technology.
- Tools to do the same things in a different (and not necessarily better) way.
- Small enhancements to existing tools that are not important to you now.
In any case, you can go a long way with relatively little. Stick to the basics first, and that will allow you to learn other things incrementally, and only when they are actually useful to you.
Still, when choosing which tool to use you’ll be faced with another dilemma: which one of these 57 tools that do roughly the same thing is the best? We have you covered here too:
No technology is “better” than any other. Nothing is “the best”.
New tools that do the same thing as old ones are emerging all the time. 99% of the time, a tool is only “better” than another tool in special circumstances, as opposed to the general case.
If you are starting out, just go for whichever looks simpler, or whose documentation reads better.
The web is an impressive feat of engineering, made possible by many different people, collaborating in building a large number of moving pieces, handling completely different aspects of a huge jigsaw puzzle. There’s so much to it that the whole of thoughtbot, together totalling hundreds of years of experience, only know a fraction of it.
Fortunately, the day-to-day of a web developer only requires knowledge of a small portion of all of this. Think of it like a pie. The pie of knowledge:
The pie is all the technologies that can be possibly used to build a website. You don’t need all of them, and there’s a limit to how much pie you can eat. Or at least a limit to the rate at which you can eat pie.
The trick is to cut (read: learn) the thinnest possible slice that will get you up and running. The minimum amount of knowledge that you need for building what you want.
Think of a project. Then think of the minimal feature that could be useful to you. Build only that, learning as you go. Enhance from there.
 Introduction of Ajax.