Given that the number of resources out there for learning how to build web apps is everywhere & changing daily, and often includes outdated material, here is a list of general principles, skills, and languages you will need:

1. HTML and CSS

Many front-end developers (a.k.a. user-experience (UX) designers/engineers) are earning higher wages than server-side developers lately. And for good reason; UX engineering is not easy but financially rewarding.

2. JavaScript

JavaScript is quickly turning into a ubiquitous and robust tool for servers, devices, robots, and even web browsers

3. Product Management

Product management includes the ability to understand business objectives to manage a project (in general), embrace agile workflows, and listen effectively to users to tweak a product accordingly.

4. Frameworks

PHP, Java, C#, and Python all have multiple frameworks designed to form web development more pleasant (i.e. getting more done in less time). Pick one and learn it really well. Build multiple web apps with it and confirm you’ve covered as many various features as possible on both the server and browser side of things. Going in-depth with one language makes it easier to find out new frameworks down the road.

5. Git

Git has won the battle for version control among the web developer community as the go-to tool for collaboration, record-keeping, and incorporation with deployment processes. If you're just getting started, i might highly recommend Try Git also as engaging in “social coding” via GitHub.

Is Web development a good career?

Definitely Web development is a great career choice if you have a passion for web programming as well as new technologies. But you will not become an expert in a couple of days or months. At the beginning of the career in web development requires more patience and straight forward towards quick learner skills apart from other fields. Web development is not easy, it requires more practice on a daily basis and you should know practice makes a man perfect.