¶ Like the unwelcome advances of an over-friendly wet dog, this debate comes bounding up occasionally. Our canine culprit this time seems to have been this tweet:
Honestly, I’m shocked that in 2010 I’m still coming across ‘web designers’ who can’t code their own designs. No excuse. – elliotjaystocks
Designers need to understand the medium in order to properly design for it. That is a given, whatever your field of design, be it fashion, posters, packaging, architecture or web.
Mark Boulton makes the point that HTML is not the medium. By extension, being able to code HTML & CSS proficiently does not necessarily imply an intimate knowledge of the medium from a design perspective.
At Clearleft, our designers do not mark up their own designs. We require that they can all code well, but they never touch a line of production HTML. By the same notion, our front end developers – the ones who do code up the designs – never push a pixel of design, but we do expect them to have a basic understanding of design principles.
Why should our designers be able to code but not be required to do so? A working knowledge of HTML & CSS gives a deeper understanding of the medium. More importantly, this knowledge provides the designer with a foresight of what difficulties he or she may be presenting to the developer, without having to concern themselves with actually building the design.
The oft-used architectural metaphor holds well here. An architect does not have to be a civil engineer in order to design a building; he or she needs to understand how the building will work for the people or things which inhabit it. But an architect does need to have a sense that construction of the building is actually possible within whatever constraints are present, and they need to know when and how to talk to a civil engineer about the feasibility of their design.
This is the beauty of working in teams of specialists. By being able to rely on the expertise of others, it provides a license to push the boundaries of your own specialism. This only works smoothly when everyone is a rounded specialist. There needs to be a common vocabulary and understanding of all disciplines. Conversations are required; discussion and compromise. The best compromises are reached when both sides understand the issues of the other.
If you’re a lone freelance designer, you’ll most likely be required to both design and build, and the chances are you’ll be better at one than the other. It also means you’ll be having the afore mentioned conversations with yourself. And that of course is the first sign of madness.




Comments
1
Well put, Rich. Designers don’t need to be able to code, but they should have an understanding of it. And obviously that understanding is attained with greater ease if they can do it, if required.
2
This is the essence for me, and something I’ve banged on about before to devs & designers I know:
This goes both ways, exactly as you said, your devs have an understanding of design principles.
Hear, hear.
3
Well put, Rich. I feel there has been a misconception that understanding is always attained by ‘doing’. it’s not the case, all the time.
I can’t write javascript, but I understand the design implications, and can therefore design for it. If I could write javascript, then I’d no doubt find it easier to design with it in mind. It’s a case of where you want to put your efforts.
4
As everyone else has said, it’s an excellent article.
I get the basic principles for design, but I still look at a PSD and immediately wrap it all in tags and CSS in my head.
5
I agree wholeheartedly with that statement, however I also think we need to push the fact that a better UNDERSTANDING also helps you to realise the possibilities of the medium.
How this understanding is achieved I don’t really mind, although from a personal perspective I find it easier to understand by doing, others may differ.
6
An age old argument.
But don’t forget the end user too – we need to eat our own dog food.
7
I agree, and like Rem says, it goes both ways. I’m a developer – backend Java & PHP and front end HTML, cSS & Javascript.
But, I’m not a designer. Sure, I’m OK with Photoshop and I’ve knocked together numerous designs for clients who couldn’t afford to pay for a designer.
I think it’s good that there is a division between design and development. If I tried to design a site, it would be constrained by my own ability. Similarly, a designer who tries to develop their ideas will likely be constrained by their abilities (and that’s why we sometimes end up with sites doen in Flash)
But as a developer it is frustrating when the designer doesn’t appreciate the constraints of x-browser CSS or dynamically created CMS content, and how this can impact a design with budget constraints.
The key is to work together
8
Excellent article! I totally agree with you.
9
Great overview of an old & ongoing debate. Personally I never touch code of any flavor, but I don’t believe this makes me a bad designer. I do have a good understanding of what is/isn’t achievable code-wise, this comes from working with some great developers. Only when working as a member of a team of experts do you achieve a great result. You can be good at many things, but it better to be great at one thing.
10
What is the medium?
11
What is the medium?
12
Good article Richard. I definitely feel that the architect analogy is the most apt of all I have heard. I find it funny that there is such heated debate about this topic, as Mark Boulton has said a lot recently there are shades of grey. The shades of grey in the web industry are vast, but the approach that you guys take at Clearleft just makes sense to me.
13
Seems to me that there are plenty of web designers who have both (coding / development) skills out of necessity, but it’s rarely the other way around.
Having worked on both sides of the equation, I now (as a recruiter in this ‘business’) often work with designers who have furthered their own development skills in order to be successful as freelancers – Attempting to meet their clients needs without adding overhead to their business model.
You need look no further than the number of designers who are also pretty adept at installing a CMS, working with a Linux command line or modifying a PHP script to suit their needs. All tasks that would be traditionally handled by a developer, but something they need to do to maintain their own portfolios and to run their design business.
I love / hate it when we get requests from clients for a designer / developer because it’s very rare to find people that are incredible at both. I relish the chance to educate our clients on value of specificity and I spend equal amounts of time telling designers that just because you can install EE or query MYSQL through PHPMyAdmin, does not mean you are a PHP developer or a database engineer.
I’m not saying that you have to just choose one discipline, but suggesting that you are a true “renaissance man” who can do everything, rarely seems like the core value you bring to a project. It’s always a nice to have but never the requirement.
14
You say it perfectly with:
I think this quote speaks volumes about our industry. It’s invaluable to understand and be able to talk intelligently across disciplines. I run into this when building web applications. I work with some very good programmers, but they don’t understand HTML/CSS/JavaScript – so the end product becomes a nightmare.
15
I share your point of view exactly!
The most effective projects I’ve worked on have been ones where the production team is specialized in at least three ways: Visual designer, interface developer, and back end programmer.
The three should always meet on design. The three points of view will complement each other, and when decisions require a compromise, it will be based on balancing what is nice with what is possible. Plus the developer acts as a nice intermediary between the designer and the programmer, because he/she is usually able to speak both languages.
Sample conversation:
Designer: “We need a tab up top to switch between the two views.”
Developer: “Let’s not space them like that. Just use what our CSS grid already allows for.”
Designer: “Ok. And I should probably resize this one widget to follow the grid. Forgot about that.”
Programmer: “Do I need to redraw the page on clicking that tab?”
Developer: “It should probably just be an AJAX call. Most of the content will remain the same except for these two widgets.”
Designer: “Can we constrain the height of the widgets? I don’t want the page layout jumping around when one box has a lot more content in it.”
Progammer: “Sure, I only return the top six rows anyway. I’ll truncate the text based on my over/under character limit.”
Developer: “Alright, but that should be a table, not a list. Just give me the variable name and I’ll rewrite the markup.”
Beautiful!
16
Spot on, designers should be able to code, but not necessarily to the high standard of developers and vice versa.
I think the same argument applies to front end vs back end. Just because I can do back end stuff, doesn’t mean I do, but I know what the limitations and technologies allow, and that came from doing it (albeit the doing it was doing it badly).
17
Nice post. I’ve been thinking about this lately too (who hasn’t) and I have to say I definitely agree with you. I think it’s necessary for a designer to at least understand HTML and CSS so when they’re designing they know what’s possible and what’s not. Mike Kus made a great point in his post about how learning code liberated him and I think knowing how to code can be nothing but a benefit for a designer.
18
Started four months ago. Lot to learn about. No conversations yet.Waiting for the first signs.
I`m trying to do both design and build websites, i enjoy it and try to get better every time.I cannot imagine doing one without understanding the other.
Great article
19
I am a trained graphic designer/visual communicator… For a long time I had no idea how websites where built and the idea of designing a website scared me and the idea of learning how to build one terrified me.
But these days to be a designer requires a knowledge of web development, so I took a deep breath and got my self a web design job.
I was lucky with job I got because I still got to design whilst being trained in the coding side of things.
I could never have tough myself web development to the standard that my company have trained me and it is for this reason that i would say to anyone who is thinking of getting into web design, if you want to be seen as any thing more than a “cowboy developer” you really do need the experience of working for a company who have spent time and money developing standards and ways of working.
Then you will be able to bring something to the table rather than drown in a sea of mediocre web designers.
20
My goal is to have the kind of command of type in CSS as I have in Adobe software. That’s going to take years!
21
Hey, if you have the resources to not rely on your designers to handle the front end coding, go for it.
As far as my own opinion goes (and I assume this article is partly to attract interaction on this subject) I don’t see how anyone worth their salt could call themselves a ‘web designer’ today and not have a very solid understanding of XHTML, CSS and Javascript regardless of how often they use those skills. Perhaps my definition of web designer includes more development skill sets than others’ and I know this article doesn’t argue against that but in my experience if I didn’t touch a line of code and only drew a layout in Photoshop (which I rarely do anymore as it is), I’d be out of a job overnight and very unemployable, at least in my country. Just sayin’.
In the end, whatever floats your boat, I suppose.
22
I’m with Skyrocket Labs on this one. Run your business the way you want, but don’t try and jam everyone on earth into your square-shaped peg-hole. Sure, it’s the rare person that can both design and code well, but isn’t that all the more reason to aspire to that level of professional skill? If I had a choice of jobs and one said “you can design, but you’ll never touch the production code,” I’d be looking elsewhere.
23
<p>I have to agree with you on this one Rich. Often times when a PSD comes down my way, there has been no thought on what kind of headache it provides a coder. Often times things come down with a 1800+ pixel background, that has no way to dumb down or make smaller.</p>
<p>Regardless, when I do a freelance design, I am the one the builds the code out. So, my designs are usually simplistic and always contained within 980 pixels. They never contain something that is going to be hard to accomplish, and the HTML is usually prewritten in my head before I even get a colour scheme!</p>
<p>Nice right up. Thank you very much for this!</p>
24
I agree that their are designers and developers and a right-brain/left-brain thing going on but, at the same time, it is essential – especially for students to become versed in both. Most of your smaller companies will want a Webmaster or a Web person that is expected to do both.
25
Front-end design and development should be the task of the designer and back-end development should be the task of the developer, in my opinion. If you’re paying someone to design and paying someone else to do front-end markup, then I think you’ve hired two people to do one job, and you’ve also hired a print designer to design for the web.
Then again, the back-end developers I’ve worked with have been terrible at front-end mark up, so that could have helped form my opinion.
26
I design and code, but by not hiring experienced designers who don’t know how to code, you are excluding a large chunk of great designers. I sure do hope that hiring someone “who knows it all” is a passing trend, and that the web will allow people to once again specialize in their skills. Though Clearleft has great, clean designs, that you exclude right-brained folks is evident in your aesthetic :)
27
have worked in with printed media for over a decade, I know how offset works but would never even turn on a Heidelberg Printer machine
28
ChunkyPants, I think the screen is the medium.
29
AlexBurr, that is a beautiful workplace dynamic. I want one!
30
I agree, and this is something I’ve said time and time again. Coders and designers aren’t the same – and shouldn’t be. I know some awesome designers who only know the basics of HTML, and some awesome developers who can only tell me what they like about the design, but have no knowledge of design principles.
I was lucky to go to design school, but I knew I didn’t want to design for clients. I love coding and almost all of my clients are other freelancers or web agencies and come to me to do all of their front-end markup. I wouldn’t be in business (or in this profession) if I “had” to design AND code. It’s just not something I enjoy.
31
I agree, I’m a graphic and web designe.
I code in HTML and CSS, but leave PHP and AJAX to the developers. But I do believe that developers should never design, I never seen a nice site designed by a developer yet. They don’t understand the principles of Graphic Design and therefore should just leave it alone. Stick to what they do best coding.
32
Well put. A race car driver will have an excellent knowledge of the mechanics of their engine… but would never be expected to reassemble one from scratch.
33
Well, I’d rather them not code at all then to use tables. Which I have seen “web” designers do before.
CSS is easy to learn, hard to master. But it’s definitely worth it.
34
I agree that well rounded skills make for a good team, but how do you maintain rounded skills if they aren’t practised?
35
Good question. Those skills are practised as our designers are always working constantly on their own sites and projects. Also they are constantly educated by the conversations and developers surrounding them in the office.
36
Morgan:
Calm down. No-one’s jamming anyone into any holes. This is a blog, ergo these are my opinions not some dictatorial mandate. Do what you like, but try not to be so rude.
I think that feeling may well be mutual.
37
i think every designer must know how to code a website without use WYSYWYG editor, i prefer this way, web desig born as HTML, not as how to use or make graphics
SORRY FOR MY ENGLISH
38
When i got the design i wrap it all in tags and css and i am not a designer or dev… !
39
I used to code. I continue to educate myself by reading the latest trends and standards. However, my time is better spent creating concepts.There are many awesome PSD to HTML (and HTML to Code) websites that can, most likely, beat your own hourly rate.
40
That probably depends on your definition of awesome. But more to the point, if we simply marked up some photoshop comps, our clients would be severely disappointed. We’re in the business of providing design systems that the client can work with into the future. A design system needs to be compatible with business goals and particularly with backend requirements. This always necessitates discussion with backend engineers, and where ajax is concerned collaberative working. Flat HTML interpretations of a handful of photoshop comps simply wouldn’t cut the mustard.
41
I get my team to share some of the simpler tasks on ‘certain’ projects to learn a lot about restraints.
But at the same time, I encourage them to exceed the boundaries they know. I like seeing a designer produce something that makes a XHTML/CSS developer’s jaws drop.
42
I’m a coder and if I were to design I would design to make my coding life easy!
Add your comment
Comments are now closed on this post. If you have more to say please contact me directly.