The internet cuts across all walks of life. There are, of course, very successful companies like Google, Facebook and Twitter whose products are entirely web-based. But even traditional businesses need a strong web presence -- as Marc Andreessen put it, "software is eating the world". No surprise then that skilled web developers are in great demand!
The challenge with learning web development is that it is not one beast, but many! Being a good web developer requires you to understand the many different components of a web application and how they interact with each other. Numerous alternatives for each of the components exist, e.g. you can use any of perl, python, PHP, ruby as the back end language or MySQL, MongoDB, PostgreSQL, NoSQL for databases. The goal of this learning path is not to train you in the best technologies (in fact, what’s best is rather subjective depending on the application), but to pick one set that is powerful, yet simple to learn and gives you a flavour of how the various components interact. In each section, I'll try to explain why I chose a particular tool or technology!
This Path is designed for beginners and assumes no prior experience in web programming, but will get you building your own web apps by the end. Each topic has modules to teach you the basics. Feel free to skip or speed parts that you are already familiar with.