
The “designers should code” bullshit and a not so new idea - caludio
http://intenseminimalism.com/2011/designers-shouldnt-code-the-digital-duo/
======
ender7
This might work for web design. In my experience, it doesn't work well for UI
design.

The first law of UI design is that you will fuck up most of the time. Most of
your ideas are going to be bad bad _bad_. If you think that every mock comes
out of your workstation smelling like roses, then you're either deluding
yourself or you're just knocking out something incredibly derivative. To be a
good UI designer you have to say _no_ all the time, and to all of _your
ideas_.

So here's the problem. Static image mocks only paint about 60% of the picture
when you're talking about modern (especially touch-based) interfaces. Static
mocks don't give you enough information to accurately cull your ideas.
Sometimes you need to build the damn thing, so you can touch it and move it
and realize _well damn, that wasn't such a great idea after all_ (or _oh, this
part really needs to be changed_ or the final, magical _yeah, that's not too
bad_ ).

All of the best and most innovative UI designers that I've met have been able
to build interactive mocks of their designs. Now - don't ask how they did it.
It's spaghetti code that will curl your hair, frequently written using some
arcane technology that might not even be supported anymore. But it works
_just_ well enough that they can use it to iterate on their ideas.

Now, you can split this job into two people. One a "designer" and one an
"interactive mock engineer". In theory, it could work, but in practice I've
found that it becomes hard for the designer to detect the flaws in the design.
I'm not sure why. But the final product doesn't change as much. It doesn't
evolve as much. It's rarely as good as it should be.

~~~
ender7
The following quote didn't really fit with my post, but I like it too much not
to share it. Take heart! Your limitations are not as strong as might believe.

 _A human being should be able to change a diaper, plan an invasion, butcher a
hog, conn a ship, design a building, write a sonnet, balance accounts, build a
wall, set a bone, comfort the dying, take orders, give orders, cooperate, act
alone, solve equations, analyze a new problem, pitch manure, program a
computer, cook a tasty meal, fight efficiently, die gallantly. Specialization
is for insects._

-Robert A. Heinlein

~~~
folletto
It's a wonderful quote, because it also says that before coding you might want
to learn cognitive psychology, social psychology, gestalt theory, marketing,
copywriting, information architecture, usability, economy, statistics, science
of materials, architecture and so on and on. :)

There's not just "design" and "code" out there, the design field is way more
deep than that, so that quote might translate well to a designer that can't
code, but studied in depth social psychology, urban architecture and team
cooperation techniques. :)

------
agentultra
The author is just pigeon-holing the abilities of people. I was/am pretty good
at math AND art. Not everyone is a specialist that fits neatly into perfectly
shaped holes.

Designers who design for the web _should_ know HTML, CSS, and Javascript
pretty well. The best ones know them throughout. Design isn't art -- it's a
technical profession and one that requires the designer to know their medium.
If you do not then I would say you're taking the piss right out of it.

Being the person who has to "code" a designers' work is a career built on
frustration. The web wasn't built in photoshop. It was built by nerds and
engineers. It has come a long way to allow people to make their HTML documents
more expressive (to the point that they've become full application UI's...).
But that doesn't escape the fact that this is a technical medium with specific
technologies that drive those expressions.

You have to know this stuff if you want to be good, IMO.

~~~
folletto
Pigeon-holing? Quite the opposite. I'm making the difference between "should"
and "could". That's exactly because not everyone is a specialist, neither I
am, but at the same time not everyone is a generalist! :)

Exactly like I'm saying in the middle of the article, "you have to know this
stuff", but you don't have to know also how this stuff is done, you can, of
course. But it's not a must. :)

It's always sad for me to hear people with bad experiences with designers or
developers, but really, I don't think that "code" is the answer. I believe
that "teamwork" is the answer. Knowing. Discussing. Collaborating. I've never
seen a team doing that failing, regardless of the mix of skills :)

~~~
agentultra
It's the "Theory of Multiple Intelligences" bit that gave me the impression of
pigeon-holing. And the paragraph preceding it where you go on about the
typical high-school stereotypes. And the rest of the article is built on the
premise of a dichotomy where creativity is separate from technical ability...
the whole "left brain/right brain" idea.

It's bunk!

I think the split is actually in designer/front-end developer.

If you want to make analogies to other industries, I think your concept of
designer is more analogous to a "concept artist". The person who has the good
ideas that are not restrained by the burden of having to think about how to
build them.

However when I hear, "web designer" -- I'm thinking of someone who can create
or take a concept and actually build it. Someone who uses the tools available
(HTML, CSS, Javascript, et al) to create something. This person does have to
know how to build their ideas from the tools available.

And I think for most projects the designer is also the concept artist. Very
few (if any) web projects actually need those roles filled by two separate
specialists.

So I don't think it's _bullshit_. Designers should know how to code. And they
should be good at it too.

~~~
folletto
Again, I agree. The whole article isn't built on that dichotomy. It's just a
sequence from a simple perspective to a more complex perspective, and actually
ends saying that it's better if you are willing to expand your view, exactly
like you are saying. :)

~

On the second part of your comment, well, you are talking about "web designer"
specifically, and with a very specific definition of it as well. If that's
your definition, then yes, he _have_ to do that. But er, it looks more like a
Frontend Developer to me, and I never heard of a "Concept Artist". ;) However,
it's a matter of terminology here, and there's surely some confusion about it.
:)

------
jinushaun
I disagree. Just to be clear, we're talking web design here in HTML/CSS, not
actual programming in JavaScript or Ruby. HTML/CSS creates designs, just like
pencils create sketches and paint brushes create painting. Sure, it's hard,
but watercolor and oil painting is also hard and has to be learned. Web design
is no different.

IMO, in a team, creating the HTML and CSS is a responsibility of the designer.
The developers are too busy doing real coding. At least, that's how it works
in the _design_ agencies I know personally. It's always a designer that
creates the markup, whether a lowly design intern or a production artist.
Maybe enterprise and tech startups are different, but that's how it works in
the design agencies.

~~~
folletto
Probably you never met amazing designers that can't even put a "." at the end
of their sentences.

People are different, with different mind, and intelligences. Forcing such a
designer to "code" is just going to destroy his skillset, that otherwise would
be of great use in a good and collaborative team. :)

~~~
knieveltech
If someone has to be forced to learn/use the underlying medium then there's
nothing to destroy, they don't have the skillset to to do the job to begin
with and they should probably just stick to doing print layout.

Having worked with designers ranging in skills from pure photoshop all the way
to writes app code in addition to markup, CSS and javascript, in my experience
a designer that doesn't have a solid understanding of raw markup, CSS and
javascript is a liability.

~~~
folletto
I worked with lots of excellent designers that aren't able to write a single
line of code. And still paired in a good team with a developer, they did
marvels. :)

~~~
knieveltech
So what you're saying is it's cool for someone to only learn half their job if
you've got other warm bodies available to cover for them. Eh.

Taken to an extreme this is similar to you saying I'd make an excellent
plumber if I could drive the truck and had a couple of helpers that actually
knew how to do plumbing.

You can't tell me with a straight face that a designer that doesn't have a
solid grasp of the underlying principles of how front end code works isn't
going to (at least occasionally) end up cranking out the worst sort of pie-in-
the-sky speculative horseshit that's a rugged nightmare to mimic on the web,
and every time they do they end up taking a big ass bite out of the project
budget when the rest of the team is scrambling around trying to sort out the
cross browser issues with the hot mess of a design comp they've just been
handed.

I'll pass, thanks.

~~~
folletto
That's a nice metaphor, but no, we aren't saying that you are doing a job, and
actually you don't know how do to it and you have someone else doing that for
you. The plumber metaphor is flawed.

I can tell you, because it happen every day. It happens to me every day. And
if you don't believe me, just read around the comments from people, here and
on the article page, that do exactly that.

By the way, there are also comments of people saying that designer _must_
think a bit over what's technically possible, to innovate. Figures. ;)

The problem however isn't in agreeing or not, but in not being so sure that
your point of view is the right one.

And I'm talking with a straight face, yes. :)

------
camwest
'According to James Traub (writing for The New Republic), Gardner's theory of
Multiple Intelligences has not been accepted by most cognitive scientists nor
by most academics in the education field. Indeed, George Miller, one of the
psychologists credited with discovering the mechanisms by which short-term
memory works, wrote that Gardner's theory boiled down to “hunch and opinion.”'

[http://latestlearningcurve.blogspot.com/2010/01/learning-
sty...](http://latestlearningcurve.blogspot.com/2010/01/learning-styles-
multiple-intelligences.html)

~~~
NeilCJames
I am editing a forthcoming book in the field, written by a teacher who
earnestly believes in MI. Evaluating this teacher's data, his approach is
clearly working for his students, but I think because of better engagement,
more individual attention, and more interdisciplinary projects. Ultimately, I
think we're cutting most of the MI stuff from the book as unsupported,
although he will cite Gardner as inspiration.

The data I've looked at is more consistent with variation in subject
performance primarily correlating with interest and personality, rather than
MI.

~~~
lhnz
> is more consistent with variation in subject performance primarily
> correlating with interest and personality

My hunch and opinion is that this is correct, too. ;) Also, it all kind of
reminds me of the Pygmalion effect[1]. Other people tell us what we're good
and bad at and then we run with it...

[1] <http://en.wikipedia.org/wiki/Pygmalion_effect>

------
mgkimsal
Yay - designer/developer "teams". Sounds fair enough, but it's gotta work both
ways.

You as a designer need to be flexible. If I as a developer say "that can't be
done within the given time/budget/constraints", you'll need to rework or
rethink some of your precious design.

I as a developer need to sometimes do some more research to make sure
something can, in fact, be done, instead of relying on 10 year old
preconceptions about what's possible and what's not. I may need to tell a
client/pm that we're going to do XYZ visually and IE5 be damned because I've
looked at the stats and 0.21% of the visitors in the past 18 months used IE5.

I've rarely seen true _teamwork_ collaboration between designer/developers in
the web world, and it's worse in the 'virtual team / freelance' world, because
pretty much every project is a new set of people working together for the
first time.

What's more common is a designer puts together some graphic design which is
fairly impossible to recreate in browsers, then complains tirelessly that it
doesn't look _exactly_ 100% the same on every single browser, including their
WAP phone, iPhone and IE6 on XPsp1, and proceeds to tell you about their
cousin who made all this work perfectly 6 months ago because he wrote some
javascript to make everything awesome. Then the designer coming back 4 hours
before a demo/launch and telling you that the color in the footer on each page
needs to be different, but they're going away on vacation in 10 minutes and
"it's pretty simple, just look at the 19 mockups I emailed to you in February"
(conveniently named 'XPJ59 client X here's slide #1.JPEG', etc).

Also more common is a developer who takes no notice of the designer mockups
that were approved by 8 people over 2 months, and just does their own thing
with CSS3, custom modified jQuery, and only tests on their custom Konqueror or
Chrome beta release, then pushes to Heroku where only they have an account and
rights to push.

Yes, designers and developers need to learn to work well together to
appreciate the issues each faces. Web designers do, in my view, need to have a
better understanding of web technologies, understanding the limitations and
possibilities of the tech. I don't see how you can do that without actually,
you know, learning how to code _some_. Developers should have a better idea of
how to use graphic tools, and sit in on some meetings where designers are
subjected to idiotic whims and endless debates on shades of blue to have a
better understanding of _why_ the designer is bitching about what should
really be a 2 minute change for the dev (cause the designer will get it in the
neck from 8 people if they don't).

~~~
endtwist
Design is not about the tools you use, and development is not about the code
you write.

Developers can learn design _fundamentals_ (and I mean _really basic_ "what's
the idea behind this color/element/typographic decision?") without touching
Photoshop, Illustrator, etc.

Similarly, designers can learn about what is and isn't possible, without
learning to code, through research about the existing technologies and their
use cases.

~~~
mgkimsal
"designers can learn about what is and isn't possible, without learning to
code"

Depends on what we mean by 'code'. I don't expect designers to understand
javascript, php, java, .net or whatever.

I _do_ expect someone who bills themselves as a _web designer_ to understand
the basic fundamentals of CSS, what works on various browsers, gradeful
degradation strategies, etc. I don't really think you can do _web design_
successfully without understanding them, and I've never met anyone who really
_understands_ them who didn't also actually code html/css from scratch, at
least at some point in their career.

It's probably _possible_ to just read about it without opening an editor, but
probably far less effective.

And re: developers - getting some understanding about colors, shapes, fonts,
sizing, etc, to understand why some decisions are reached will definitely give
a new appreciation for good design, and can help in other projects in the
future where perhaps a good designer isn't available. I've stolen quite a few
tricks from some designers I've worked with, and as time goes by I get better
and using those tricks together in concert to make stuff that doesn't suck too
bad.

~~~
silon
They must understand that user can (and should be able to) change (just the)
font size, if not their designs are often useless.

~~~
ThomPete
Useless might be a tad strong.

How many sites can you really change the font size? Unless of course you mean
through the browser.

~~~
kiiski
Why would they implement a feature that's in every browser anyway? They should
just design the site so that changing the font size through the browser works.

~~~
mgkimsal
Cause someone asks for it (or demands it)?

Buttons to change font sizes are anywhere in a browser's default chrome,
therefore 99% of people don't know you can do it.

In general, I think it's dumb, but have been on the receiving end of "add font
size buttons". No amount of "but you can just hit ctrl-+" does any good.

------
gavanwoolery
I will call your bullshit and raise you a fallacy. ;) But seriously, I think
that pigeon-holing yourself into one skill set is the WORST thing you can do.
If nothing else, you should at least attempt to learn code so that you might
be able to produce reasonable, efficient designs that the coders can easily
implement.

But it goes much farther than that.

Someone (on the internet) once said "programming is the new literacy."

I am both an artist and a programer. I am not very good at either, but I find
having a knowledge of both is extremely empowering. I DO NOT believe that you
are born an artist or programmer. Sure, you might be born with a slightly
better brain than the next person, but anyone with an IQ above 70 can learn to
program and/or draw. Learning both is not time wasted, but time invested.
Being a good programmer can actually save you time as a designer.

~~~
talmand
Wow, what a way to say I'm not good at either but it doesn't really matter in
the end. Really? So you say you're not good at either but having knowledge
empowers you? In what way? It gives you the ability to point out people better
at those skills than you? I think you should focus on one until you feel you
are good at it and then move on to the other.

Yes, anyone with an IQ above 70 can learn just about anything. Doesn't mean
they will be good enough at it for a career. You make sound as if those
abilities are not challenging or difficult in any way and anybody can do it.
If that's what you are saying then I have to seriously disagree.

Good point about being a good programmer can save you time as a designer, but
it can work the other way as well.

~~~
gavanwoolery
I only said am not _very_ good at either - but competent enough at both to do
them professionally, I think (and I have). Only trying to be humble ;) Anyways
- Like the comment below, I don't believe anyone should be "forced" to do
something, but at the same time no one should be closed-minded about learning
new things.

The one thing I have learned from working in both areas is that in the
beginning you improve very rapidly, but at some point only hard work drives
you closer to perfection. I would advise anyone with an open mind to at least
_try_ learning something they are not good at. Not a requirement by any means,
but I do not think anyone would regret trying.

------
rickmb
Methinks we are ignoring the elephant in the room. Sure, good teamwork will
solve a lot of problems, regardless whether the designer can code or not. A
team with all the skills combined can deal with both.

 _But there are people that have a vested interest in playing designers and
developers against each other._

I've seen this happen time and time again, both via internal management and
external clients: feeding designers and developers separately different bits
of information (but never the whole picture), letting them make commitments
based on that information and only then bringing the two together. The end
result is that in order to make good on their separate commitments, designers
and developers are left with very little room to compromise, which undermines
the cooperation. The goal of this little divide-and-conquer game is to
pressure them to come up with a result they otherwise would not have committed
to given the time and budget constraints.

There's a reason why designers and developers are often very deliberately
hired or managed separately for the same project. There are plenty of people
who believe having designers and developers work together too closely is not
in their interests.

------
duopixel
Some of the best designers I've had the pleasure of working with didn't know
how to write HTML or CSS. The did, however, deeply understand the constraints
of web design. Knowing HTML and CSS gives you a _de facto_ understanding of
the constraints, but you don't actually have to write it in order to become a
competent web designer.

I also think most people are thinking from the perspective of the scrappy
start-up, where you must be multi-talented in order to cover various roles. In
large organizations there's designers that only produce wireframes, then
another designer comes along and produces the final visual output, and finally
another guy comes and codes it. Not that it's the right way to do it, it's
just that the expectations are being set too high.

Instead of putting down web designers who can't code, appreciate web designers
who do it. This comes from a web designer who can code.

~~~
Rusky
I think this post is at least partially misunderstanding the assertion that
designers should be able to code. The point is not that they should _be_ a
coder, just that they should, like you said, "deeply understand the
constraints of [their field]."

Someone who comes up with a good design that can't or won't be implemented may
as well have not designed it in the first place- but if they understand the
constraints on their design they can come up with something optimal _that can
actually exist_.

------
wccrawford
"The team of the digital era is a designer / developer team"

At my last job, I kept trying to get them to hire a designer. When I left,
there were like 15+ developers and no designers. A couple of them thought they
had designer skills, but they didn't really. They ended up outsourcing their
design, and of course, a lot of back-and-forth was needed.

I absolutely think that designers and developers need to work closely
together.

I also think it's -possible- to have someone who is great at both. But you're
going to pay them a lot more. Probably more than having 2 specialists. They
are going to be amazing at what they do. You certainly won't get twice the
work from them that you get from 2 specialists.

------
enobrev
As a "web designer", HTML/CSS are your medium. If you don't understand your
medium, you don't understand your craft. Last I checked, web browsers don't
understand PSD files, which means without HTML/CSS the design isn't finished.

Imagine hiring a painter to do oil on canvas and they handed you a picture of
a painting, or a sketch of what the finished painting should look like. You
hired them for oil on canvas - not something that looks like oil on canvas.

When hiring a designer for a web project, I expect to receive html files that
can be opened in a browser. In the very few cases where the designer didn't
know HTML/CSS, I hired a designer who did to finish the job - because the
inherent decisions with modeling a website in HTML/CSS are design-minded
decisions.

As such, I suppose as a designer you don't HAVE to know HTML/CSS, but then I
can't think of a single reason to hire you for a web project. Print, maybe -
provided they understand the needs and limitations of printing and can provide
files in a format the printer can use. Otherwise, I'm just going to have to
hire a more talented designer to finish the job, which will leave me to wonder
- why did I ever hire that first designer?

------
krmmalik
I got about a quarter way through the article and gave up reading. The
reasoning cited is pretty poor. I was someone that used to think i could never
code because my brain wasnt wired that way, but yet here i am, coding. Its
given better insight into what issues and constraints programmers face.

This whole pigeon-holing exercise is just a complete farce. Far better to know
a little about everything than everything about a little.

Its really not as a big a deal as people are making out.

~~~
folletto
Kudos to you if you were able to do it. However, please, reach the end, it
says the same thing. :)

------
twidlit
The problem here is 'designers' is an ambiguous term and 'code' is a loose
term. If the sentence is "Web designers should know at least HTML/CSS." as it
should be, then the debate would proceed properly instead of everybody missing
each other's point. Framing this whole argument into "designers should code"
is not doing any side any favor.

~~~
talmand
Thank you. I agree that whenever someone writes such a post saying that web
designers should or should not "code" then they should define what coding
means in that context.

Creating HTML markup and CSS is debatable of whether to call it coding or not.
But every web designer I've ever interviewed I expected them to write their
own HTML markup and at least be of average skill with CSS. Ability with
Javascript was a bonus but not required.

I have a design degree and I learned HTML in class as part of my minor. This
was before CSS was common so it was all font tags and tables. They used
FrontPage for this but I refused and stuck with Notepad in back of the class.

I, as a web designer, create my design, write the HTML markup, write the CSS
and code the javascript. In some cases I tweak the back-end code to suit my
needs if it's light. Heavy-lifting on the back-end is done by a programmer.

Truthfully, I'm probably more of a front-end developer these days though.

I am not a print designer therefore I would have a bit of a learning curve to
re-acquaint myself with the medium which I learn in school. But it would be
expected of me to learn it. Therefore, I don't feel it is wrong to expect a
web designer to learn their medium as well.

But hey, everybody should pick what works for them. Some companies don't want
designers involved in markup, that's fine. Some companies do, that's just as
good.

------
dpark
Yes, a good designer should be able to do more than draw things in photoshop.
A good designer should be able to make things aesthetically pleasing, but more
importantly functional. If they haven't even a basic grasp of HTML/CSS, for
example, how can they pretend to design functional interfaces in HTML/CSS? A
designer who can only mock things up in photoshop is not a designer, but an
artist, and probably a poor artist at that.

> _Knowing what is very different by knowing how. This takes us to the usual
> questions: do architects need to know how to build a skyscraper? Do car
> designers need to know how to build an engine? Do a movie director need to
> know how to act? Do a surgeon need to know how to build a peacemaker? Of
> course not._

Yes, architects take some structural engineering classes. They aren't
engineers, but they certainly have an overlapping knowledge base. If all they
could do is draw fancy buildings, then they would not be architects, but
artists. Yes, car designers should know how to build an engine, not to the
level of an engine designer/engineer, but to the point that they truly
understand how the engine works, and not just what it does. Yes, a director
needs to know how to act. They might not be the best actor, but they should
know the craft, or they can't get good performances out of their actors. Yes,
a surgeon who installs pacemakers should understand how they work. Do you want
some guy attaching electrodes to your heart when he doesn't really understand
how they work?

Good architects understand engineering. Good car designers understand engines.
Good directors understand acting. Good heart surgeons understand pacemakers.
And yes, good designers understand coding. When something is so closely tied
to your effectiveness, you should should understand it, and that means you
should understand the how as well as the what. Otherwise you will not be good
at your core competencies, because you have too many gaping holes in your
knowledge.

Relying on teamwork to fill the gaps in your knowledge is crap, too. If you
don't have a shared vocabulary and a basic understanding of coding, how are
you going to work with developers? You're going to hand them a pretty picture
and tell them to implement it, and they're going to dismiss you as
incompetent, because you are.

> _There’s still a good point in suggesting that designers should code_

This is really lame. Don't write a dozen paragraphs claiming that it's
"bullshit" to say that designers should learn to code and then end by stating
that it's a good idea for designers to learn to code. That makes it obvious
that you're just a trolling ass. If you believe in the stance you're taking,
then stick to it. Otherwise don't rant about something you don't even believe.

~~~
ssharp
"Yes, a good designer should be able to do more than draw things in photoshop.
A good designer should be able to make things aesthetically pleasing, but more
importantly functional. If they haven't even a basic grasp of HTML/CSS, for
example, how can they pretend to design functional interfaces in HTML/CSS? A
designer who can only mock things up in photoshop is not a designer, but an
artist, and probably a poor artist at that. "

There is a difference between knowing how a web page functions (from a UX
perspective) and knowing how the web page is built with HTML/CSS. The front-
end of HTML is ubiquitous. People know how web pages work because they use web
pages every day.

~~~
dpark
If all someone knows is "how a web page functions (from a UX perspective)",
then they don't actually know anything meaningful. If all they understand is
that a link is clickable and that a web page is sent over the Internet, then
they don't understand nearly enough to be telling someone else what to
implement. HTML and CSS are relatively simple. A decent web designer should be
able to build a mockup using them.

------
kreek
He buries the lead at the end. It's good for designers to know how to code but
they shouldn't spend so much time coding that they can't grow their design
skills.

Yes some people are more creative, but who said being a good programmer had
nothing to do with creativity? Along the same lines design is not art. I've
seen many talented artists who were average designers because they couldn't,
or wouldn't, blend in some structure to their work.

I started out as a book designer, then web hit and I became web designer.
Although I admit the early days of table based layout made me want to run back
to QuarkExpress. Flash arrived on the scene and sites like the Remedy Project
inspired me to learn to code. Long story short, I now know OOP inside out and,
thanks to hacker news, have dived into in functional programming.

I spend very little time designing anymore. I'm still miles ahead of my fellow
developers, and I tend to be more creative in my problem solving. That said I
still run to them (or stackoverflow) when a hardcore programming problem pops
up.

Becoming an expert at anything takes time, if you're a Jack of all Trades one
of those trades will suffer. I've chosen programming because I like building
things, plus the pay's not bad. I'm still 'designing' it just happens to be
with code.

------
sp4rki
Very few people argue that designers should learn how to code (as in
programming). What most people argue though, is that WEB designers should be
able to code, as in do the markup and CSS, their own designs. If they aren't
able to code their own designs, how can they know the limitations imposed on
their designs by current (and old) technologies?

A designer does not need to know how to do AJAX, jQuery animation, MVC, Ruby
(or Python, or C#, or Java...), an SQL dialect, Linq queries, how to configure
nginx to serve your statics, and a whole plethora of things that are important
when creating a product for the web. A bunch of different people and skill
sets are needed for all of those, and no one person can wear all hats. That
being said, a designer that designs for the web needs to know the medium on
which they're creating their artwork on. I do oil painting, and I know I need
to know how to frame my canvas with a stretcher or strainer. I know that I
need to prepare my canvas with animal glue, chalk, and white lead paint. I
need to know my brushes and their properties also, wether they're made hair
from a horse, camel, squirrel, sable, etc... I need to know a myriad of
different things that are NOT actually painting. I'm also an avid strength
training aficionado, for which I've learned more about the human physiology
and the mechanics of lifting weights and their effect on your muscles and
nervous system than I care to remember. I need to know a myriad of things that
are NOT how to lift weights correctly. If I'm a web designer, and I make
pretty pictures for the web, I need to know my medium. I need to know how to
code my own markup and I need to know how to make my own CSS. Only then will I
know the limitations and the mechanics of how a "webpage" works. Hell,
creating a good creative design is a lot harder than doing the markup and CSS
to be delivered to a front end developer who will probably end up changing a
lot of it anyways.

The point of web designers knowing how to do their html and css, is not to
remove another person from the conveyor belt of web products. The point of
designers knowing how to do so, is to make sure you've got a design that works
beautifully and that goes hand in hand with all the standards and best
practices that the project requires. If I'm going to hire a web designer that
doesn't know how to do his own html and css, I immediately think that he's not
really a WEB designer and that he doesn't really care to be the best he can be
as a WEB designer. Regardless of his actual skill as a designer, and of
course, I won't hire him. If I get a designer that doesn't know how to do so,
but wants to learn... I'll probably hire him because of his attitude and
aptitude for learning. As long as he's actually good as a designer of course.

I'll just end this already too long post with one 'though': Valve (as per the
latest articles going around the web) hires mostly multi skilled people, as
opposed to people that are one trick ponies. The developers to my sides (no I
don't work at Valve) are both completely multifaceted people with a myriad of
skill sets not directly related to making software, but that we use almost
every day. I consider them some of the best I've ever met. I've done system
admin in linux, bsd, and windows, and I'm pretty knowledgeable in all three.
I've developed software for the past 15 years. I've also been designing for
the last 10. I'm pretty decent (and I've studied and practiced my ass of to
get to that point) in all those fields, but you can't be bothered to learn
HTML and CSS so you can make YOUR web designs better? Give me a freaking
break.

~~~
thomasgerbe
Except that in most agencies, designers don't code. So they spend 8-10 hours a
day doing design.

Learning how to code does enhance work but it doesn't mean that you'll
necessarily be a better designer than someone who doesn't know how to code but
has a pretty firm grasp of what the web can do based on their experience using
the medium.

I've worked with top tier designers in NYC who have probably never touched a
line of code. And personally, I'd rather higher a highly talented designer and
teach them the ropes (if they even need it) than a good designer/developer.
Because quite frankly, it is extremely difficult to find individuals who are
killer at both design and development. That's why most agencies have a pretty
rigid division of labor.

~~~
sp4rki
I'm sorry but if a designer spends 8 to 10 hours doing design in an agencie is
of no consequence to the point we're discussing. Wether they do or do not code
their own designs, is not the point. The point is that they should be able to.

I agree that there are designers, and there are designers [insert vocal stress
where appropriate], but we're talking specifics (WEB designers) here. They
don't need to know how to program or even animate something with jQuery. But
they do need to know the inner workings of floats, the box model, browser
quirks, etc... You've said it yourself: "based on their experience using the
medium". If you're at a point where you can really design for the web, having
in mind standards, browsers, usability, accessibility, and best practices, you
can most definitely write your own html and css. A web designer's medium is
the "web page", and while no is asking a designer to create a Facebook, Stack
Overflow, or Hacker News, we ask that they actually deliver a "web page" not
just a psd that might very well not work with the current state of the web.

Your last point I fully agree with and I think I mentioned something like it
in my previous post. I'd rather work with a highly talented graphic designer
and show him/her how to be a "web" designer, than work with someone that might
know both things but isn't as good. But on the other side of the coin, I'd
rather work with a decent (read: good) web designer who can code, than with a
great designer that refuses to actually study web design because he thinks
he's over having to learn complementary skills.

Once again, we're asking the designers to learn to code their own markup and
css, NOT to learn to program (both might be 'code', but they're completely
different disciplines). We want graphic designers to keep doing design and
deliver 'graphics' and we need web designers to be specialized graphic
designers that deliver 'webpages'. We'll leave the real programming to the
engineers and developers in the process, since that burden should not go on
the designers shoulders.

~~~
folletto
Please, try to understand that there are different kinds of people,
intelligences, sensibilities and talents, and that what's easy and simple for
someone, might be hell for someone else.

Some professionals might do a more than excellent job if they focus and pair
with a developer, instead of trying to be something they are not. ;) Some
others instead, might become better professionals by learning how to code.
Different people, different skills, and they can both work on the web very
efficiently in both small and big teams. :)

I love the attitude you express in the third paragraph. We need way more
people willing to teach and support others understanding them. :)

------
tel
This article is plain non sequitur.

The argument stated is that intelligence is multidimensional (stated as fact
with caricature testimony) and therefore there exists a job aligned with one
of those dimensions. Arguing that designers should code states that today
optimal design is done by someone who has skill on multiple axes.

So the article really just dodges the issue by defining situations alternative
to arguments made by Frank Chimero[1] makes and then pretending like that's a
rebuttal.

He, of course, steps away from this ridiculous position toward the end by
agreeing that designers could learn to code. Even suggesting it might not be a
terrible idea, but this again misses the brunt of the pro argument:

 _Designers with strong understanding of implementation are_ better _than
those without._

I don't really want to argue that point in this comment—I'm not qualified. I
just wanted to state that he never actually says anything concerning it.

[1]<http://blog.frankchimero.com/post/9594863189>

~~~
folletto
That point is underlying the whole article. ;)

What it tries to clarify - and well, it might have failed, of course - is that
we should stop to simplify the problem as "designers should code", because not
all designers _should_. But yes, all designers _could_ , and if you feel that
way, or you are prepared for that, or if you want that, you can learn to code.
Exactly like a developer can learn how to design.

In either case, exactly like it's wrong to say "developers should design" but
it's correct to argue that a developer with design knowledge will be better at
its job, it's equally wrong to say that "designers should code", but it's
correct to argue that a web designer with developer knowledge will be better
at its job. ;)

~~~
tel
I think the difference is that the author defines "designer" as someone who
excels in some "designer-like" quadrant of the intelligences. Which is a load
of self-entitled bs.

A designer is someone who designs—it's defined by action, not beliefs about
competency. If you design things implemented in HTML/CSS and you don't have
any proficiency at all in those technologies then you're very liable to be a
worse designer than someone who does. The argument of how often that is true
is what's important here and it's never actually discussed in the article.

~~~
folletto
However, you _can_ design things implemented in HTML/CSS without actually
knowing anything about HTML/CSS. ;)

------
twfarland
The dichotomy of 'design vs code' feels artificial to me.

The activities of designing and of coding overlap extensively. Both require a
clarity of communication, a deep consideration of the purpose of the thing to
be designed/built, and a sense of taste.

If in the habit of extracting general principles from concrete examples,
coders can become better coders by learning aspects of design and vice versa.

Many of the concepts in a 'coder' book like 'How to design programs,' for
example, are readily applicable to UX design, e.g: refactoring, wishful
thinking, generalisation of purpose, and the control of complexity by use of
'black boxes.'

Likewise, a 'designer' book like 'The design of everyday things' is full of
stuff that applies usefully to the activity of coding, e.g: the importance of
meaningful feedback, and of ensuring a clear mapping between expected actions
and their outcomes.

These correlations aren't everywhere to be found, though. But I've always
found interdisciplinary people to have the freshest approaches.

------
mtogo
At first i thought the title was referring to backend work, or perhaps just
jQuery and i completely agreed-- i wouldn't expect a programmer to be great at
design either.

But it turns out that this blogger doesn't expect designers to actually make
their designs into something tangible. It seems positively ludicrous to me
that any designer that is designing for the web would think that not knowing
HTML/CSS, and therefore putting out an unfinished product is acceptable. It's
almost insulting-- learning HTML and CSS takes a month at most, so why won't
this designer learn it?

Building a design for a web page without actually writing the HTML+CSS for it
is being a print designer and expecting the client to finish the job.

~~~
folletto
People are different. What takes you a month could take years to others. Don't
assume that we have equal skills and talent. If you can learn how to write
markup in a month... great! Good for you. :)

Other designers, are still doing great, without knowing how to code. ;)

------
athst
It is really arguing the extremes, when reality, the best place to be is
somewhere in between.

Designers and developers should of course have good understanding and empathy
for what the other person does. But at the same time, they shouldn't have such
a complete understanding that it negatively impacts their primary role.

For example, if you're a designer, you don't want to fall into the trap of
only incorporating things into your design that you already know how to code.
You might leave a lot of innovative stuff out that would make the product
better. If you're a developer, you don't always want to be bound by the
existing design constraints either. It's a back and forth discussion between
the two halves.

------
carbon8
Design and art have always required technical knowledge of tools and the
medium, and knowing HTML and CSS is no different.

Web application design (which is distinct from brochure web design or print
design) has unique conventions and constraints, and web application designers
absolutely must have a deep understanding of both. There are header nav bars.
The branding with the link to the root path is in the upper left, user
info/settings are in the upper right. HTML and CSS are structured as boxes
within boxes. Main content areas contain the primary content, sidebars contain
secondary content. Components are modular. Browsers have significant variation
in how they render things, and viewport sizes vary dramatically. We have views
and forms, GETs and POSTs. Resources are nested, with one URL per resource.
Browsers have different levels of CSS support, leading to a focus on
progressive enhancement and graceful degradation.

 _Every single time_ I've ever worked on a web application with a designer who
didn't know HTML/CSS or a web designer who only does brochure sites, they
stumble on these issues, and we end up with inflexible designs that have
usability issues and are a pain or impossible to implement. Designers who
don't know HTML/CSS create drag in a startup environment. It forces others to
spend time and energy explaining how the web works and what the conventions
are.

------
zmitri
Look at someone like Garry Tan of Posterous, he can design and code, and for
that he is significantly more desirable than a large portion of designers. I
would not call it bullshit.

~~~
folletto
The point is that we should stop to say that designers who can't code aren't
valuable. Of course, and it's exactly the last part of the article, if you can
code it's better. ;)

------
ZephyrP
It can be as much bullshit as you would like it to be.

I won't work for a company that makes me write designer's HTML.

I'll do manual labor, I'll take out the trash, I'll do the dishes, I'll help
move, I'll clean, I'll do the system administration and I'll even interface
with users and play customer support if you want.

I will not write HTML and CSS. If you ask me to do this, I won't work for you.
A quick discussion around the office has confirmed that other developers feel
similarly to me.

And at the end of the day, you can find hundreds of thousands of great
designers who will do this for cheap. You can not do the same for developers.

As well, as a developer who paints at night (artistic background) and writes
Erlang & Rails at day - I find the notion of intellectual "division" slightly
amiss and I would find it insulting if I was a designer. Its misleading to
refer to the 'theory' of multiple intelligences as anything more than a half-
cocked ramblings of a drunk on the same intellectual caliber as NLP. Our brain
is tremendously complex, although some people exhibit obvious deviant skill
distribution, for the most part, we are completely malleable in our
capabilities, even well into our adulthood. The article above basically
suggests "Designers are so dumb they can't comprehend the tools that they ply
their craft with, paint for them!". This simply isn't true.

------
rglover
I think something is being overlooked here. As a designer, when "learn to
code" is suggested, it's not aimed at programming languages (C, Ruby, Python,
etc.), but rather simple/easy to understand things like HTML/CSS. Any self
respecting designer should be able to take a .psd and get it working in a
browser. And although it's not _necessary_ for a designer to understand
development languages, there's nothing wrong with it (regardless of scientific
theories).

------
ehutch79
Once again, as a web developer, I do NOT want to work with a designer who has
no clue how html and css work at all.

It's insulting to say that it's not important.

Do you expect an architect to not understand how the materials they're
designing with work? or what the building codes are?

Not expecting a web designer to understand how html and css work is like
letting a painter tell someone who knows illustrator where to put all the
lines.

~~~
ehutch79
I also want to make it clear, that i did NOT list javascript or php in there
at all. Nor did I say they should actually write the markup, just that they
know how it works, and what is possible.

------
rapind
As a programmer I could care less if a designer can code. What I'd love though
is if design courses spent a very small amount of time teaching basic source
control, organization, and naming conventions. I know some designers would
consider this boring, but I swear it would really simplify the process and we
coders would be much more accepting of last minute changes (after all, we make
last minute changes sometimes too).

I think the misconception presented here is that designers shouldn't
necessarily be handing massive, unsliced photoshop files to pure coders.
There's a a few skills in the middle of that process; slicing, optimizing,
organizing, and css. Often enough neither designer nor coder is proficient in
this area. Handing off your mockups to third party slicers isn't always the
best idea either (you can end up with some pretty strange CSS, and dealing
with UI changes down the road can be painful). You might be better off with
someone dedicated to this role.

------
scelerat
People working on teams where each occupies some vertical niche -- designer,
developer, etc. -- should have a solid understanding of the territory their
own niche abuts.

I don't think visual web designers should necessarily be able to fully and
efficiently implement their designs, but they should have a general
understanding of how their designs will be implemented. IMO part of a web
designer's educational experience should include interactive design (not just
art and print design), HTML and even a programming class.

Likewise, front end engineers should have some exposure to art, design, maybe
even have taken some drawing classes, and definitely be able to operate
Photoshop and Illustrator (or whatever the predominant tool is).

You don't hire an architect who doesn't already know something about
contracting, materials, and geology, even if they're not going to be driving
the bulldozer. Same goes for web design.

------
saraid216
I have to agree with this article.

Quite frankly, it's the developer's job to say, "This isn't possible." It's
the developer's job to know where the cutting edge is, and to take the time to
think about whether or not a completely new design idea ends up being possible
to implement after all. If you force the designer to take on this role, it
reduces the developer to a code monkey--your job is to ensure robustness--and
forces the designer to take on two roles.

I tell my designers to ask for magic and to accept it when I say I can't do
this. Their job is to know what affordances are standard and why things ought
to be shaped one way or another. That's their area of expertise. _My_ area of
expertise is to look at something crazy and go, "Hm, but if I did _this_ then
maybe it would work after all."

And when the best way ends up being technically difficult or impossible, we
compromise.

------
eignerchris_
His first premise is entirely invalidated by the "No empirical evidence"
section on the wikipedia page :/

Begrudgingly setting that aside, I know quite a few developers who do a pretty
good job reading design and UX articles. I genuinely try to better understand
clean, thoughtful, and elegant user interfaces. It certainly helps
architecting an app, and I think it helps organize my code. I don't think it's
unreasonable to expect designers to do the same. I'd never expect a designer
to fill the shoes of a full-time developer, but at the very least he/she ought
to have a basic understanding of the medium for which he/she is designing,
which I think involves learning some basic code.

My favorite web designers? Front-end folks who made the leap to UI/UX.

------
lucisferre
Markup and CSS are not code, they are tools to do design on the web, they are
just not clicky-clicky. By not using them you _are_ just drawing pretty
pictures if you don't fully grok the limitations of the tool that will, in the
end, actually be used to design the site.

Designers for the web who don't understand how to at the very least manipulate
and tweak markup and CSS are at least somewhat fooling themselves and the
people they work for/with. This is ok as long as you accept this in the end
and begin to make the effort to learn something new that _will_ improve your
ability to design for the web. Bitching about professionalism won't change
this fact.

------
studiofellow
How can a web designer understand the constraints of the web without knowing
how to code?

They can look at other web sites and accumulate knowledge and "best
practices," but even then there is a lack of fundamental understanding.

Web designers need to understand how elements piece together in markup to know
what is achievable. And even more, this knowledge inspires executions that
would be unthinkable in ignorance.

It's up for debate whether designers should write code that's used in
production. However, designers should know code so they are not producing
designs that are impossible to execute.

As a designer who can code, I have a lot fewer conversation with developers
about "can we do this?"

------
bnferguson
This, to me, is why at very least a _web_ designer should know HTML/CSS. I
think it's a feeling that web designers can relate with:

[https://img.skitch.com/20110901-xwygj4ursxfk4hu461jjy8j21k.j...](https://img.skitch.com/20110901-xwygj4ursxfk4hu461jjy8j21k.jpg)

:D

(more seriously, as adjustments need to be made those who care most about them
and understand them most have the least control where they should have the
most)

------
dharmach
Specialists are people who know more and more about less and less, until they
know everything about nothing

------
Neputys
The actual problem is that many designers just don't understand how things
work in general. They just "do some pictures"... Then ofc they get this "learn
to code" line.

But I can say the same about programmers when it comes to design.

This is something that needs effort from both sides if you care about final
result

------
bugsy
The recent article he is responding to posits that designers who code are
valuable. That is true. To debunk the claims properly he would need to show
that designers who code are not valuable. Instead he debunked the straw man
argument "designers should code".

~~~
j_baker
It certainly sounds to me that "designers should code" is the argument some
are making.

<http://andyrutledge.com/web-design-is-product-design.php>

 _The graphic designer who lacks html/css skill is insufficiently prepared as
a web designer. A designer who lacks competence should address that issue
rather than seek refuge within embarrassing debate._

Sounds pretty clear-cut to me.

~~~
bugsy
OK thanks, fair enough. I had thought he was responding to the latest one that
made the rounds here - [http://flyosity.com/application-design/if-you-can-
think-desi...](http://flyosity.com/application-design/if-you-can-think-design-
code-you-win.php)

Seems he wasn't though.

------
morroccomole
This _position_ is the bullshit.

This argument is made by those that are completely satisfied with their
design. A little engineering knowledge on their part could never make the
design even better. no, never!

~~~
folletto
I suggest you to read the About page over that article then. ;)

------
YeeHaw
I've yet to meet a good designer who LIKES to code.

~~~
folletto
Hello. :)

------
leon_
Guys, cool down. Writing HTML is not coding.

~~~
talmand
A great deal of people do refer to HTML markup as coding. It's debatable if it
should be called that but in many cases when someone says "coding" the context
is HTML and CSS.

~~~
cesarsalazar12
Exactly! HTML is way different from a programming language. HTML is a language
that describes structure, not logic. The web is all about structuring
information in a way people can make sense out of it. Any web designer that is
not able to use a language to provide structure, is not at the to of their
profession.

~~~
leon_
So writing something in word is programming too?

~~~
talmand
Depends on how you look at it. Writing HTML is more like using Word in a
formatting mode where you can see the code that's normally behind the scenes.
The method you are referring to is similar to using a WYSIWYG editor. Plus it
depends on how you define what "code" means.

~~~
schrijver
Coming at this as a designer who learned to code in both senses of the word, I
have to disagree with the sentiment that HTML/CSS is easy.

Sure, the principle is rather straightforward, but writing CSS is tedious and
error-prone and the HTML/CSS is combination is modeled on single column text
based layouts… it’s shocking to find out there’s no built in support for
columns and no way to vertically align an element, for example.

I spent a month doing CSS until I had learned to implement the kind of grid I
could knock together in 5 minutes in InDesign… very unsatisfying… Whereas
later I spent a month learning Python and felt like I made much more progress,
deepening my understanding of the digital medium, improving my “procedural
literacy” and shaping my views about possible interactions.

So programming logic is actually more easy and fun for me—though that doesn’t
take away from the fact that you need CSS knowledge to make a design work…

~~~
talmand
As a designer who develops as well, I agree wholeheartedly.

Although I would say that HTML and basic CSS is easy. Getting creative with
complex layouts using CSS can get challenging.

------
innes
Speaking of bullshit...

[http://en.wikipedia.org/wiki/Theory_of_multiple_intelligence...](http://en.wikipedia.org/wiki/Theory_of_multiple_intelligences#Lack_of_empirical_evidence)

