AVAILABLE NOW: Front-End Developer Handbook 2017
How Front-End Developers Are Made
A front-end developer is not a focused visual designer or an interaction designer. Design school is not exactly the place to hone front-end skills. A front-end developer is not exactly a traditionally trained computer science graduate either. Focusing on either doesn't prepare a person for front-end development. And, in fact, following the traditional paths for either in the higher education systems of America (i.e., College) can derail a person from potentially finding a doorway into a practice where actual experience is king. Today, if you want to be a front-end developer, you teach yourself or you take what is likely a non accredited program, course, bootcamp, or class.
If you were to set out today to become a front-end developer I would loosely strive to follow the process outlined below. The process assumes you are your own best teacher.
- Learn HTML, CSS, Accessibility, and SEO.
- Learn the fundamentals of UI design patterns, interaction design, user experience design, and usability.
- Learn the fundamentals of programming
- Learn JSON and data APIs
- 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.
- Learn Node.js
The rest of this book points a reader to the resources and tools to follow my previously suggested process. It is assumed that you are not only learning, but also doing as you learn and investigate tools. Some suggest only doing. 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.
I should mention that lately a lot of non-accredited front-end code schools/bootcamps have emerged. These avenues of becoming a front-end developer are teacher directed in classroom (virtual and physical) courses, which follow a more traditional style of learning from an official instructor (i.e., syllabus, test, quizzes, projects, team projects, grades, etc.). I have more to say about these institutions in the direct learning section of this handbook. In brief, 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 what is actually free, and hold you accountable for learning it, you might consider an organized course. Otherwise, I am not aware of any other profession that is practically free for the taking with an internet connection and a burning desire for knowledge.
If you want to get started immediately I'd suggest the following general overviews of the practice of front-end development:
- Frontend Guidelines [read]
- Being a web developer [read]
- Isobar Front-End Code Standards [read]
- Web Fundamentals [read]
- Front-End Curriculum [read]
- freeCodeCamp [interact]
- Planning a Front-end JS Application [watch]
- So, You Want to be a Front-End Engineer [watch]
- Front End Web Development Career Kickstart [watch][$]
- Front End Web Development: Get Started [watch][$]
- Introduction to Web Development [watch][$]
- Foundations of Front-End Web Development [watch][$]
- Lean Front-End Engineering [watch][$]
- A Baseline for Front-End [JS] Developers: 2015 [read]
- Learn Front End Web Development [watch][$]
- Front-End Dev Mastery [watch][$]
- Front-End Web Developer Nanodegree [watch][$]