Today, .net Magazine posted a comic about developers’ frustrations with designers’ lack of coding skills. Like most comics, it poked fun at a stereotype. And like most stereotypes, it has a basis in reality but is factually wrong.
The comic was created by a very talented designer. His company site says he’s a user experience designer. I can’t tell if he does his own code, but clearly he knows designers who don’t. It seems a shame to cater to this stereotype and throw his fellow UX designers under the proverbial bus for a laugh. But that opinion of designers does exist, so I get that it’s supposed to be funny.
There’s a big difference between graphic designers, illustrators, visual designers and user experience designers. The former three don’t necessarily need to know code. But for user experience designers, not knowing code is a huge mistake.
Code versus markup
Let me clarify a little bit. HTML and CSS are markup languages. They are not technically code. Javascript, however, is code. My beef with the afore mentioned comic is that what the text references is purely markup and not code. Every UX designer worth their salt knows markup. It is less common to find designers who are good with Javascript. Syntactically it’s very different from markup. Markup is more like working with a simplified language. Once you learn the “words” it all makes sense.
Javascript is object-oriented and contains arrays, functions and all kinds of words that someone like me avoids like the plague if possible. But it doesn’t mean I didn’t learn Javascript. I most certainly did. I have worked in a variety of companies and all of them expect their UX designers to have visual layout skills in Photoshop (at the very least), know HTML, CSS and Javascript.
Why I stopped “coding”
At a particular time in my life, I was designing in Photoshop and Illustrator, writing HTML, CSS and Javascript, and working in C# on ASP pages. I was doing all of that and I was “ok” at it. Then I had an epiphany.I didn’t want to be “ok” at many things. I wanted to excel at something I enjoyed.
I really loved the design work and I really dreaded the code work. I took inventory of the possible paths my career could take. At the time (around 2005), I knew that coders were getting paid much better than designers. But that wasn’t really what mattered to me. What mattered was if I was happy in my work. When I realized that, I decided to back off of code and stick with design.
I still really enjoyed the HTML and CSS, and managed to slog through Javascript. But I knew from then on, I was a UX designer. Never to become a developer.
What can code do for you?
Now comes the hard part. I can feel myself losing code knowledge by the day because of Agile development practices. Everything is needed faster and faster. So it’s easier to take a UX designer with mediocre Javascript skills and pair them with a front-end developer to get the work done quickly.
This has worked out great for me (yes, I’m calling my JS skills mediocre), because I enjoy design much more than I do Javascript. And I work with some amazing front-end developers that can do almost anything I can throw at them. But I have to make sure I have some side projects that involve at least some coding because it’s a “use it or lose it” sort of skill.
Before I had a good developer working with me, I had to limit my designs to what I knew I could completely code out within a given time limit. Now I can design anything that JQuery has a code solution for. But that’s the catch. I know what JQuery can do. I know what Javascript by itself and in other frameworks can do. Why? Because I have to build things that are possible to code.
If you are a UX designer who does not know Javascript because you don’t need to, you should be learning about it. You don’t have to learn the code itself, but you need to be knowledgeable about its capabilities. And if you’re a UX designer who doesn’t know HTML or CSS, then I have no idea how you are employed. I’ve never seen a job listing for a UX designer that didn’t ask for at least that.
Support your local developer
So I could have turned this into a rant about “why can’t developers pay more attention to details”, but I didn’t. You know why? That’s my job. I’m a user experience designer and the details are my responsibility.
Do you know how I keep my front-end developers happy? I give them every hexadecimal color, every font name, style, color and size, every rounded border pixel dimension and each gradient color stop when I hand over the design to them. And you know what I do then? I ask them to tell me if they see something that doesn’t look quite right or tell me if they have an idea for altering something in the design. I don’t correct them when something is off – they come and ask me how it looks and if anything needs tweaking. We do it together. Working collaboratively beats the pants off of working in a vacuum.
Image from Quadriform


Awesome article. Especially the last paragraph. As a front end developer, there is nothing better than being handed all the details of the design before you start working it up. Otherwise… it’s very frustrating to guess about the details and be told that ‘that’s not what I wanted.’
Thank you, Brad. It took me some time to figure out exactly what I could do to make the designer/developer duo work as smoothly as possible. Co-location was one thing, then collaboration and providing clear, programmable information. There are too many people – designer and developer alike – who work in a silo. Collaboration seems to be the key to better understanding, better work and a better work relationship.
definitely spot on. as an interaction designer, I do feel the need to code so at the very least I can have a rough prototype of what I’m working on. however, when in the production cycle, handing it over to someone better at coding seems very logical and definitely accelerate the working process.
but here’s a question? as a UX designer, do you also tackle the visual side of the design? Or do you work with another designer with a graphic design/similar background? I figure, as someone who has a background in technical, stepping up to visual design is a lot of hard work itself.
I am also a visual designer. My background in visual layout design is strong. I’m more “right-brained” than left, but combining the visual and UX design is a great balance for me.
As a web developer I’ve worked with both kinds of designers: Ones who can code (mostly HTML/CSS, maybe a bit of JS), and ones who can’t.
Those who can code are much easier to work with, because in general they produce designs that work much better with the browsers. They have an understanding of how to do something in HTML/CSS, and what is hard/annoying to do, so they are able to produce designs that fit better.
It’s the same with myself. I have used Photoshop and I’m somewhat proficient with it, but I’m by no means a designer or an artist. However, knowing things like that helps me communicate better with designers.
Some designers I’ve worked with even fiddle around with the markup and CSS side themselves… but that can often be a two-edged sword. Although it can be super helpful sometimes, especially with things where there’s just some minor issues like things are 1 pixel too much to the right (as is often the case
), what the designer often lacks is understanding of what makes for good code.
This has often in my experience led to poorly maintainable markup and CSS. I could go into details, but that’s besides the point. It’s really the same if they asked me to do graphics work.. I could do it, but it would be a mess
So, as a developer, I appreciate a designer who knows how to code. Working with them is much much easier than with those who can’t. But please, if you do changes to the source code, either ask your friendly dev to teach you about how to do write maintainable code, or stick to minor changes
(Note: I’m sure there are designers who know the ins and outs of how to structure markup, CSS and all that in a maintainable fashion. This is merely some observations, and some things I think designers can study in order to make them work more effectively with us devs)
If there’s one thing I loathe, it’s when someone jacks with my code. So when I’m working with a front-end developer, I do them the courtesy of not touching one jot of their code. For most of my 14-year career, I’ve done all my own design and markup. It’s only in the past two years that I’ve been paired up with developers. And it’s really expanded my design horizons. Knowing that I won’t have to figure out the JS behind what I’m designing really opens up my options. And I’ve had the good fortune of working with some incredibly talented developers.
Good discussion. I come from a coding background and learning and immensely enjoying the design aspects. I am beginning to realize that I am madly in love with both sides of the coin. Thanks to designers like you.
That’s great. I admire developers who “get” and enjoy UX design. I wish I could enjoy JS more, but I just don’t.
Like Ahsan_s I am also madly in love with both. They are such refreshing mentalities. When I get worn/burned, out of one, I am eagerly looking forward to start with the other, as they require such different mindsets and both contribute to kick ass stuff. Its like stepping from a hot tub into a cold shower and vice-versa.
As front-end dev, that last paragraph is legit!
[...] The Not-So-Odd Couple: Designers and developers – Let me clarify a little bit. HTML and CSS are markup languages. They are not technically code. Javascript, however, is code. My beef with the afore mentioned comic is that what the text references is purely markup and not code. [...]