How exactly does one become a front-end developer? Well, it’s complicated. Just consider this road map:
If you were to set out today to become a front-end developer I would loosely strive to follow the process outlined below (Chapter 3 and Chapter 4 will dive into more details on learning resources).
- Learn HTML
- Learn CSS
- Learn DOM
- Learn the fundamentals of user interface design (i.e. UI patterns, interaction design, user experience design, and usability).
- Learn CLI/command line
- Learn the practice of software engineering (i.e., Application design/architecture, templates, Git, testing, monitoring, automating, code quality, development methodologies).
- Get opinionated and customize your tool box with whatever makes sense to your brain (e.g. Webpack, React, and Mobx).
- Learn Node.js
Lately a lot of non-accredited, expensive, front-end code schools/bootcamps have emerged. These avenues of becoming a front-end developer are typically teacher directed courses, that follow a more traditional style of learning, from an official instructor (i.e., syllabus, test, quizzes, projects, team projects, grades, etc.).
Keep in mind, if you are considering an expensive training program, this is the web! Everything you need to learn is on the web for the taking, costing little to nothing. However, if you need someone to tell you how to take and learn what is low cost to free, and hold you accountable for learning it, you should consider a traditional instructor lead class room setting. Otherwise, I am not aware of any other profession that is practically free for the taking with an internet connection, a couple of dollars a month for screencasting memberships, and a burning desire for knowledge.
For example, if you want to get going today, consuming one or more of the following self-directed resources below can work:
- Getting started with the Web [read]
- So, You Want to be a Front-End Engineer [watch]
- Frontend Masters Learning Paths [watch][$]
- Introduction to Web Development [watch][$]
- Treehouse Techdegree [watch][$]
- Front-End Web Developer Nanodegree [watch][$]
- Become a Front-End Web Developer [watch][$]
- freeCodeCamp [interactive][watch]
When getting your start, you should fear most things that conceal complexity. Abstractions (e.g. jQuery) in the wrong hands can give the appearance of advanced skills, while all the time hiding the fact that a developer has an inferior understanding of the basics or underlying concepts.
It is assumed that on this journey you are not only learning, but also doing as you learn and investigate tools. Some suggest only doing to learn. While others suggest only learning about doing. I suggest you find a mix of both that matches how your brain works and do that. But, for sure, it is a mix! So, don’t just read about it, do it. Learn, do. Learn, do. Repeat indefinitely because things change fast. This is why learning the fundamentals, and not abstractions, are so important.
Leave a Reply