Good Designers Code, Great Designers Build
Before I start I must admit I’m unsure about the title. I don’t know if it captures my point, and I am quite aware of the irony that I copied the title instead of stealing it. That’s ok — though I wish to become a great writer, I don’t see that happening soon. Anyway, I hope the title does not detract from the main point.
The debate rages on
The topic of whether web designers should know how to code seems to always be a touchy subject. There is such a range of expertise in our field — you have designers who don’t want to learn code, coders who don’t want anything to do with pixel pushing, and a whole bunch of us in between — and as such you also have a range of responses. As far as I can tell, the general consensus seems to be, why not?
On Learning Code
Personally, I feel that web designers should know how to code HTML at the very least. There is absolutely no reason why any good web designer cannot learn good markup. Mark Boulton said:
A designer who is a fantastic writer, with a flair for typography — and an understanding of concepts such as semantics and document structure — is no less of a designer just because they can’t write HTML.
and I agree, but an intelligent designer such as that should have absolutely no problem learning HTML. HTML is the common language of the internet and it is easy. Learn it, there really is no excuse not to. With CSS and javascript, I think opinions start to diverge. I do believe web designers should learn CSS and perhaps Javascript, and I think Mike Kus presents some compelling reasons why they should. And while I believe learning to code is good, learning to build a site is better (hence the title).
Building a Website
What do I mean by building? It’s “understanding the medium,” as many involved in the debate would say. We all (should) know that web design isn’t just about pretty. But what exactly is this medium? Again, Mark Boulton puts it eloquently:
The medium of the web, as far as I see it, is only partly defined by technology (HTML being a small part of that). It’s defined by people, by stories, by products.
A great designer understands how to tell a story, knows how to engage the user, and designs the site to serve the content. To do so with great effect — to successfully build a website — in my opinion, requires one to understand the technology on which it is built. A great web designer who understands the limits of CSS, Javascript, and browser compatibility is able to work within, and at times extend, the boundaries of web technologies. What better way to gain that understanding than by coding? Yes, a thorough understanding of the medium makes a great designer, and yes, that includes transient technologies as well as timeless principles. Being ignorant of either one only leads to compromise.
Commenting has expired.
Comments
luke
wrote this comment on April 11, 2010
I’m professional software developer trying to learn how to think about design (which is how I got here).
Given the brouhaha around untrained designers using bits and pieces from lists of coolness rather than applying fundamental design principles, I find it a bit ironic when I see the code written by designers.
When coding is done by cobbling together bits & pieces of googled snippets, the result is similar to that produced by the naive designer sweating over gloss & gradients just because everyone else is.
luke
wrote this comment on April 11, 2010
Hmm, on re-reading, my comment sounds a little cranky. I guess what I mean is – designers, code away! Just try to maintain an awareness of the principles behind what you’re doing as you’re building your site :)
David Sutoyo
wrote this comment on April 11, 2010
Hi Luke,
I’m with you there. Lists and round-ups don’t encourage real learning — whether it’s design, code, or some other discipline. Like I mentioned in the article, for designers learning HTML and CSS should be a given. As for back-end code and even JavaScript, most of the time it’s better to leave that stuff to the experts. However, that’s not an excuse for designer to be ignorant.
Gary Brown
wrote this comment on May 03, 2010
Good article. I’m primarily a coder who designs (versus a designer who codes). From my experience, the minimum requirements for a web designer are
* an understanding of background images (repeats, gradients, slicing, etc)
* concept of a viewport (it’s amazing how many print designers have no concept of fixed vs fluid, page width, or the elusive “above-the-fold”)
* use of and limits of transparency
* browser oddities like a gif that is #c0c0c0 does not match a png this is #c0c0c0 in IE.
Although I heartily agree with Mark Boulton, I think most of the knowledge I’ve listed comes easier if you’ve at least had to do some html and css. A litle thought into use of gradients, how boxes will “grow” etc can save hours/days of development time. requirements, hosting vs domain registration, and email accounts.
Additionally, if a designer is going to actually write the proposal and manage the project (and hire a programmer to write the code) then it is a must that the designer understand hosting requirements/options, domains/dns, and how email accounts are or are not tied to the host server. They need to ask things like: do you have your own mail server? is your current server windows or unix?