Frontend development is a field that’s not unfamiliar with being misunderstood, and its value being underestimated or missed. We had another opportunity to experience that when the other week, Shopify’s CEO made frontend development an affair only of junior developers. The comment may have been imprecise—it was published on Twitter—, but that doesn’t save it from appearing disconnected from the scope and importance of the field.
What Is Frontend Development?
Problem 1: Frontend Development Is Much Larger
What more is frontend development? In essence, frontend development is user-facing, and as such, the user is at the heart of the different priorities of frontend development. Frontend development is not just development:
- Information design
- Graphic design
- Interaction design
- User experience
- Information architecture
- Human-computer interaction
…and the list goes on. (A quick note, while that list may be useful to make a more organized attempt at redefining frontend development, it does not imply a frontend developer would need to be an expert in all of this—but rather to have some basic understanding, and recognize and consider the respective avenues for further specialization.)
In order to become a better frontend developer you don’t become a backend developer, you become a better designer and advocate for the user—in a sense of acquiring an understanding of design as well as empathy for users.
When other developers look and talk down on frontend developers they don’t only show ignorance of the scope and size of frontend development, they then also distract frontend developers from their mission *—because that mission is not to walk further into the server room, but to open the windows and look at the users out there.
Problem 2: Frontend Development Is Much More Complex
Frontend development is not properly understood.
HTML, from what we can observe, must really be thought lowly of. Many developers (including frontend developers) invest a few hours into “learning” HTML, think they got it, and then, 1, 5, 10, or 20 years later still write lowest-quality markup. When you look at how poorly HTML is written, by professionals, the situation is an embarrassment. Given how much goes wrong around HTML, whether it’s the decades-lasting refusal to validate HTML code †, the under-use of HTML elements, or the rare optimization of HTML for production, it’s downright pathetic what’s going on in the HTML part of the field, even if HTML was not the most important (document) language on the Web.
How’s this for CSS? CSS has long spun out of control. Symbolically, I peg it all on the day we introduced custom properties: On the server side we were always able to work with variables, but somehow the mindset snuck in that CSS better was a programming language and that therefore, variables had to be brought into the spec. I’m bending the story but it matters little—CSS has exploded and while that has had many benefits, it also threw a wrench into us ever understanding, mastering, exhausting CSS. We will never get there anymore: No one will ever fully understand, master, and exhaust CSS. Except for the junior frontend developers, as we now get told, who better move on to other engineering positions…
Start Respecting Frontend Development
That bad joke now, and our bad joking, must stop.
That joke-telling, this false narrative, has cost us dearly.
While the digging started early, with web design and development becoming commoditized (thanks first to FrontPage and Dreamweaver), it was a small part of the field then (vendors and standards contributors) that made web development super-cool, but also super-complex. That commoditization and complication of the Web that has progressed over two or one decade, respectively, was accompanied by a large part of the field that looked on, and that thereby helped frontend development perhaps not to a grave, but to quite a spacious hole.
It’s time this changes. This was in parts a rant, but here are some suggestions.
- Respect HTML.
- Respect CSS.
- Understand that these three languages, especially in conjunction, are more complex than any random programming language. Frontend development is document, formatting, and script language territory.
- Understand that frontend development rests on a robust understanding of these languages, an understanding that’s near impossible to obtain (and ridiculous to ask for from a junior developer).
- If you’re not one of them, leave frontend developers alone. They don’t tell you how to do your work, either.
- Respect frontend development.
When we do that, we quell the insinuation that frontend developers were second-class developers who should at the first opportunity become backend or “full stack” or other types of developers.
No: We would recognize frontend developers as first-class developers, and support them to get order into the chaos that “web development as a commodity” and “web development as software development” have caused.
Finally, as frontend developers and frontend development managers we need to show more respect to our own field and ask for more from ourselves, too. That some of the industry’s output is pathetic—I will say it again—is largely our own responsibility. While others need to understand what frontend development really means, we need to clean up our own backyard.
Let’s all do this. Thank you.
Many thanks to Jad Joubran for reviewing this post.
* Let’s admit, however, that frontend developers are also quite easy to distract. I don’t know a single one who would not aspire to be a great software developer, too. When that part of the frontend developer’s ego kicks in, we look behind us again, to the back end, and not ahead, to the front end.
† We’ve for too long played down the validation blind spot, not realizing how all the invalid code would eat the craft and the profession from the inside. Imagine your mechanic, your lawyer, or your doctor would go about their craft as frontend developers go about HTML. If they did they would end up in the same mess frontend developers find themselves today—evidently lacking basic professional standards, in a field constantly in or at the brink of identity crisis, questioned and bullied by neighboring disciplines, and—probably rightly—not always trusted.