If you actually want to be good at Front-end web development you have to learn critical thinking and be curious. Ideally you would start with a really good reason to learn it. And it isn’t like learning wood-working. It is more like learning to write fiction. The learning never stops, there is never a point as which you have completed and become a Front-End-Expert. And beware of being a http://www.w3fools.com As a seasoned front-end developer I’d say that 95%+ of developers have a shallow understanding of the web in all respects and are quite often wrong where it counts.
1) Try to develop a curiosity for understanding how things work underneath the glossy surface
2) Understand that everything has a history and is based on conflicting needs, so don’t expect perfect solutions
3) Learn the web fundamentals:
5) Don’t forget that the web was meant to be a web of documents and a forest of applications
You don’t have to understand all this right away, but you should before calling yourself competent.
So first step is give yourself a project that you can do in a month. You learn by doing. Then go look at existing projects. Open Source has some great examples. Look for projects on GitHub with a good amount of contributors. That way you have a good community to ask and discuss with. These communities often have IRC or Gitter chat that might teach you things. Next make improvements to Open Source projects and submit pull requests. You can learn a ton from experienced people giving you feedback in pull requests. The hard bit is staying humble and making the changes they ask you to make, but it is worth it for the lessons.