I’ve been wondering for a good long while why it feels like web design and development isn’t respected as much as native app development, and why the front-end role in many organizations is seen as a nice-to-have rather than a vital part of the business. Why is it so hard to see that this gig we call “front-end development” is crucial for business and even the day-to-day lives of users?
Is it just me that feels this way?
We depend on front-end developers to help us file our taxes, buy our food and clothes, pay our bills, and entertain us. We find new music, we read stories and play games, and we fall in love… all on websites made up of nothing more than HTML, CSS, and JavaScript written by front-enders.
I’m not trying to be a jerk here, but you can see organizations everywhere that de-prioritize front-end development. There are slow websites! Ad-tech junk everywhere! Poor responsive interfaces! Divs used for buttons! Inaccessible forms! The problems on the web today are daunting and overwhelming to those who care about both good front-end development and the health of the web itself.
What’s the cause? Well, I certainly don’t believe that it’s malice. Nobody wants to make slow websites or broken interfaces and nobody (I think) is intentionally trying to break the web. So, why do we all end up doing things that go against what we know to be best practices? What is it about the complexities of web design that is so hard to grasp?
Again, I’m not being mean here – this is an honest question.
I got coffee with my pal Lindsay Grizzard the other day and we were talking about this stuff, asking each other these and other really tough questions related to our work. We both see problems in this industry and it drives us both a little mad to some extent.
Anyway, I asked Lindsay that question: what is it about web design that makes it so difficult to understand? She posited that the issue is that most people believe web design is like designing a book. Heck, we still call these things web pages. But Lindsay argued that building a modern website is nothing like designing a book; it’s more like designing a car.
Lindsay and I looked at the cars parked on the street next to us: they have to be mass produced and they have to be tested. Each has to be built up of perfectly identical components that need to fit together in a very specific format. There are technical issues – limitations of physics, money, and time – that require confronting on a daily basis. You can’t point at one part of the car and have an opinion about aesthetics because that one component changes the relationships of the others. You have to understand that you’re looking at an immensely complicated system of moving parts.
I love that comparison though, even if it’s not particularly helpful to give others insight into what we do: a website is a car and not a book.
It’s not just you. Most front-end focused devs at most companies have this frustration, I believe. However, even when there is a front-end developer, they often don’t have the same power as the designers who provide prototypes. In general, I think there’s a failure to understand the skillset of a good front-end developer, and therefore that skillset is undervalued. In general I think it’s the same resistance to change that makes universities insist on Drupal for their new websites. It’s probably the same reason companies don’t add dedicated QA engineers. It just means the pain of that job is shared among people who lack skills in that. It’s a frustrating state of affairs. I hope that front-end devs who are valued at their companies realize that’s not the industry standard and appreciate what they have.
This makes me afraid of what am trying to become. A front end developer.
Thanks to modern capitalism, most web developers need to spend a bulk of their time doing things that are profitable instead of good. My boss doesn’t care if I do it “right” and they’ll replace me with someone who can do it faster and cheaper if I don’t. The company doesn’t care if the website has a terrible user experience if it’s due to advertisements that are making money. Consumers don’t realize websites are slow because of all the tracking data being collected.
So long as trashy, slow websites make more money than ones that aren’t, we’ll have nothing but personal conviction and values that everyday people don’t understand or care about to try to push for actualizing the web as it can and should be.
Why bring capitalism into this discussion?
Because we have to pay our bills and most of the work we do, except for some open-source-stuff we do for fun and-or the greater good, is being done in capitalist contexts. You don’t have to bring in capitalism. It very much is there already.
For anyone questioning on learning to be a Front-end, while this post is true.
Its not to change your mind. If you love creating what you create, you’ll be paid your worth.
I agree. And said another way: A website is not a brochure, it’s a house. We need to educate non-tech people more on our practice. It’s sad that it isn’t understood and valued as it should be.
Leaders care more about the ROI rather than things working efficiently which often yields a higher ROI because good frontend was given more respect.
The solution is in demonstrating to these leaders how they are losing money when they devalue frontend.
A car? Seriously?
As a full-stack developer, I understand that in most cases a server-processed page is enough to achieve the client’s requirements, maybe with some AJAX features (comments, accounting, preference management, file uploads, etc). In other cases a SPA can do the trick. This must not be only a designer’s decision based on what he/she likes: there are tons of conditions and specifications behind a well-designed platform.
In most cases, a skateboard or a bicycle is, maybe, a more accurate approach.
I agree with you, creating website is like building a house from scratch.
It’s a good analogy, I would add just like those cars on the street they need to get regular scheduled maintenance, oil, water and petrol. You can’t just keep driving it without making sure it’s in good working condition else you will not get to where you want to go.
Yeah indeed, a website is a car. :D
I can relate to this! A lot of front end developers were undervalued on how technical their jobs. Most of them are even underpaid and even blame for poor design. I believe that this should not be the case and we should give them the compensation they deserve. We should recognized that being a web developer is a tedious job, it even requires much time and analytical skills.
I don’t agree that it “feels like web design and development isn’t respected as much as native app development”. Where I work as a native app developer I’m actually often in awe of the web guys.
The reason is sad and simple. Web developers forgot about users. Not the framework of the day takes the first place on the priority list. Nobody asks “do we need a framework at all?”. The question is “which framework are we going to use?”.
The fact that many so-called developers do not even know the foundations of the thing they are building. They don’t know JavaScript, they don’t know CSS, they don’t know HTML. They know angular or react, or vue. They are obsessing about the means over the ends.
I´m Designer from Colombia and also I see that many companies (tech companies too) deprioritize Front-end development. They underestimate the value of good Front Coding for UX, Design and performance.
Many people thinks it’s all about using P and BR tags, use a CSS color declaration and deploy. For these people, if it’s “working”, it doesn’t matter how has been made.
So, I agree with the comparison in this article :)
Excellent insight. I think you can go a step further on the metaphor. The car has to be designed and mass produced — but each user will use it differently. Some will use it solo daily for several 7-minute rides… some will use it less frequently to carry multiple passengers over long distances, some will not use it for 20 days and then use it intensely for a week. Some will use all aspects of the audio system, some not at all, some will put the towing load to its max, some not at all. Whereas a book is generally just used one way, read from page 1 until the end.
I will tell you why website development isn’t respected as much today…responsive web frameworks and templates. There are prebuilt themes for literally every platform out there, especially WordPress. Why would someone pay a developer to make something, right?
Also, if you think designing and developing a website is hard to explain away, try logo design nowadays. Clients will at least see the value of having a website. They can now go to fiver and get a logo for $5. Why do they need to pay a real designer to do it? It’s only their entire brand, right?
PS, there is nothing wrong with using a div element as a button. I mean, the button element itself is really just a div that’s been named something else.
Yes, using a div rather than a button element can work just like drinking from a bowl rather than a cup can also work.
This is spot on! I’m not a front-end developer per se, I work as an UX-designer, but I do know a thing or two about HTML and CSS. I have a team of front-end developers who’s supposed to transform my designs from sketch to a finished website. The work they do are mostly good, but it baffles me how little they actually know about basic HTML and CSS. They use flexbox when there’s no need for it, they misuse padding and margins, they fail to write good, semantic HTML and so on.. The end product always looks good, but the code is… not easy to maintain.. so to say
Every developer thinks they “know” HTML and CSS, because it’s basic. “CSS is just how a button looks like”, they’ll say. It’s not. CSS is everything you see and don’t see on a web page (or ‘web car’). It’s the visible product and the invisible scaffolding that holds everything together.