I reacted viscerally to seeing this handbook the other day:
In which I commented via Twitter:
First off, I was reacting probably more harshly than I should have. The author has good intentions, and he obviously has spent a lot of his time putting together a bunch of resources and materials on the subject of front-end development.
I don’t object too much to anecdotal experiences. After all, without actual in-depth research, it’s all we actually have in talking about the industry; my writing and thoughts on the topic are also largely shaped by my own work. Ideally, the cacophony of experiences shared converges, and there will eventually be a universally accepted process to “become a front-end engineer.”
My problem with the handbook lies mostly in the mismatch between the author’s stated intentions—the large chapter on the front-end discipline and how to teach yourself—and the presentation of content as list after list of buzzword technologies. I’m always wary of seeing huge lists of technology; I question whether list-makers are genuinely interested in educating their readers, or just stroking their own egos by showing off essentially trivia.
But more than just harmless narcissism, putting together giant lists of front-end technologies as an introduction to beginners creates unnecessary intimidation. Front-end development is much like Othello: easy to get started, but mastery takes years of learning and study and trials and tribulations. It’s no coincidence that dev bootcamps like teaching the front-end stack: it is empowering to see things rendered via simple declarations and relatively accessible scripts. At the same time, there’s no real benefit to revealing all the added levels of complexity from the get-go, and it ends up painting an unrealistic picture of what it’d take to become a front-end engineer.
Having seen this now a number of times, I’m beginning to wonder whether this instinct—for front-end developers to overemphasize the complexity of the stack—is a defensive reaction to the general perception that front-end is “easy.” The fallacy is conflating development accessibility with simplicity, and understanding that nuance will be an important part of the maturation of our industry.