September 30, 2020 by Marco Cecconi
Warning! Beating a dead horse!
The dead horse in this case is the never-ending debate of whether a web designer should code or not. To clarify, “code” in this context refers to converting a graphical mock-up to HTML/CSS mark-up, not programming. Recently this debate came up again. Many designers wrote and tweeted their opinions. It started with a tweet from Elliot Jay Stocks:
Honestly, I’m shocked that in 2010 I’m still coming across ‘web designers’ who can’t code their own designs. No excuse.
Mike Kus wrote a supporting entry listing five reasons why web designers should code. Elliot later posted in detail to further explain his thoughts on the matter. I share the same views as them, so I won’t regurgitate what they already wrote. I recommend you go read their blogs and the comments they received. Here’s the gist: being able to code your own design makes you a well-rounded web designer and you have more control over the final product’s look and feel. You’d also make it easier for the programmers.
I’d like to add some of my own points.
I think the problem is because of the murkiness of the title “web designer.” If it was so clearly defined, then we probably wouldn’t be debating about who should do what today. When the web first took off in the mid-90s, there were basically two types of people putting content on the web. Old school Perl/C programmers and print/media designers. Both claimed expertise in their own field, with a “specialty” in web design. I’ve seen web sites with very ugly layout, colors, typography, and clip arts done by programmers, and one giant GIF flyer styled pages done by designers. I remember the debate back then was who was the real “web designer.”
The web design industry today is so much more specialized. We have information architecture, user experience, marketing/social media/branding, front-end development, graphical design, SEO etc. Who is the “web designer” really? I feel if I get into it, I’d just be arguing semantics. So instead of treating the matter as tasked based, let’s take a step back and look at the whole picture of a web product cycle from a front-end’s POV.
The initial phase involves requirement gathering, research, planning, IA, establishing goals, and campaign.
The “creative” part: sketches, storyboard, wireframes, personas, copy and graphical mock-up.
Converting concept to reality. HTML/CSS/JS for layout and presentation, JS for interactions.
“Design” is about problem-solving AND providing good user experience. It means function and form together. This is why I think a web designer’s role is to be able to conceptualize AND implement. Just doing graphical mock-ups is only half of the job. That’s why they’re called a “mock-ups,” not the real thing.
What about designers in other fields? Do industrial designers need to craft their own chairs? Do architects need to construct their own buildings? This type of analogies come up a lot during the debate. No, they don’t have to because the nature of their fields is different from ours. The analogies simply don’t apply, despite how sound they are.
That’s right: writing HTML and CSS is so easy, that there’s actually no excuse not to learn how.
This is the main point I want to stress: IT REALLY IS EASY. Some designers say that they have a good set up going: they do the graphics, their partners do the HTML/CSS. But what’s stopping them from learning new things? Personally, I haven’t met a single person(regardless of their profession) who is good at what they do if they’re complacent. To me, refusing to learn shows an aptitude problem.
Web design/development is a very fast-paced field since it’s technology-based. The best web designers I know are those who keep their skills sharp and are constantly learning new things. The graphical design aspect is more timeless since it’s based on long-established principles. But the technology side is constantly changing. This is why, to me, being a web designer is exciting.
Let’s talk about practical stuff. Different web design shops big or small may operate differently, however, they have one thing in common: Budget. If you cannot code the design, then they’ll hire an additional person to do that job. It costs the company extra money. Once you’re done with your graphical part, when you’re idling with downtime since you can’t do anything else, you’re wasting the company’s money. If there’s a cash flow problem, you’d be the first to let go. If you freelance on your own, you’d increase your income by not splitting the pay with another coder. The more skills you have, the more valuable you are.
Despite my strong belief that web designers should code, there are exceptions. If you have moved onto a new role, say a creative director then I don’t think it’s necessary for you to keep up with every single new HTML spec that comes out. By then, you hopefully will have able web designers working under you(who can code).
This isn’t the type of article I like to write about. I definitely don’t want to come off as a snob. It’s not an “I know how to do it so should you” type of thing. As I pointed out, writing HTML/CSS is EASY. There’s just absolutely no reason for not knowing it. It is an integral part of our job. Of course, I can only speak from my personal experience. If you think there’s a case where a designer absolutely needs no knowledge of basic coding, please let me hear it.
Hi, I'm Marco Cecconi. I am the founder of Intelligent Hack, developer, hacker, blogger, conference lecturer. Bio: ex Stack Overflow core team, ex Toptal EM.Read more
February 03, 2021 by Marco Cecconi
A lesson in building communities by Stack Overflow's most prominent community manager emeritus, Shog9Read more
December 02, 2020 by Marco Cecconi
Some lessons learned over the past 8 years of remote work in some of the best remote companies on the planetRead more
November 25, 2020 by Marco Cecconi
Our newest open source initiative, intelligent cache, is available for useRead more
November 19, 2020 by Marco Cecconi
In this post, Salvatore Sanfilippo puts together a list of qualities that I believe make the most difference in programmers’ productivity.Read more
We can say that Mr. Robot is having a moment. The main character was one of the top choices and thus is perhaps the most/least realistic/annoying/inspiring portrayal of what it’s like to be a computer programmer today.Read more…