Don’t Design and Code

Posted in Engineering, Thoughts, Web Design

There has apparently an on-going debate on whether designers – web designers, to be specific – ought to be able to code their own designs. This article, for instance, re-ignites the debate.

I guessing the combination of designers moving onto the web en masse and that HTML + CSS has a low barrier to entry mean that a number of designers feel like they can and should code their own designs, especially if working with a particularly indifferent web developer.

The right solution is to find better developers.

I’m firmly in the “You should strive to be the best in your chosen field of interest” camp. Some of the best designers I’ve had the privilege to meet and work with immerse themselves in their design process and flow; they don’t let the implementation details get in the way of the initial brainstorm of ideas. Refining that workflow takes time and effort, and spending that time learning to develop is a hefty opportunity cost.

Then there’s the code itself. Most people seem to want to dismiss coding in HTML and CSS[1] as trivial, and I’d agree with that assessment for small portfolio sites and blogs; to echo my comments here, sites today (well, the interesting ones) take on an app-like quality, with rich interactions that require engineering considerations to build and maintain. If the designer insists on handing HTML and CSS to the engineers, chances are we’d have to tear apart the markup into separate templates if not rewrite it altogether appropriate for DOM manipulations or performance considerations.

It’s not that designers can’t learn how to do these things; rather, the vast majority of designers have no interest in these issues and those that do become engineers themselves. There may be a few rare individuals who are interested and talented on both sides[2], but it’s not a goal for those in this industry – developers and designers alike – care to attain.

When designers understand the strengths and weaknesses of the medium and developers respect the philosophies of the design, the two can work together. As I mentioned above, the purity of the design process can be tainted by the practicality of the engineering structure, and a little conflict between the disciplines bring out the best results.

Footnotes    (↑ returns to text)

  1. And once in a while Javascript, although Web 2.0 apps and developments like nodeJS have garnered the ugly little scripting some measure of respectability.
  2. Which reminds me, that first article is pretty self-serving and self-congratulatory; “Hey, the best designers also can code, and I’m one of them. Why don’t y’all be more like me?”