Developers are designers, designers are developers

I’m going to open with a question: What’s the difference between a designer and a developer?

If you’ve been working in the web for a long time, I’m going to guess at your answer: Designers are responsible for making a website look good, developers are responsible for making it work. This is how it’s been for ages, especially in the dark times before front-end engineers and UX developers or UI designers or whatever we’re calling them this week.

Historically, this is how we’ve done web development: A designer’s job has been to make something that looks nice, throw it over the wall, and let the nerds worry about how to make it a functional thing. The nerds take whatever the designer made and chop it up into something that resembles a website. Compromises have to be made – design elements are impractical or impossible, so they’re modified or left out entirely. The designers resent the nerds for ruining their design, the nerds resent the designers for being too old-fashioned to get this whole “internet” thing, the project managers don’t understand why everyone’s being so difficult, and the content managers don’t understand what all the arguing’s about and why it’s taking so long to make a website for their softball team. Nobody’s happy with this approach.

Smarter people than me have said that there are four things “designers” are supposed to worry about:

  • How something looks
  • How something feels
  • How something functions
  • How something interacts with the rest of the world (i.e. consequences)

In our old model, designers are only looking at the first half of this list, and developers are only looking at the second half, or maybe just that part about function. In reality, the look and feel has to consider the function and interaction, and vice versa. If you’re only considering look and feel without thinking about function, you’re talking about art, not design, and I’d argue that making pretty yet non-functional website templates is a particularly low form of art that won’t see a gallery showing any time soon. If you’re only considering function without considering look and feel, or comprehensibility, you’re even worse off, making things with all kinds of warts and blemishes that aren’t actually functional at all because nobody can figure out how to use them (you also won’t be going in the gallery). If you’re worrying about any of these things without worrying about implications, you’re just being irresponsible.

Here’s the thing: Design is problem-solving. Programming is problem-solving. Especially in the case of the web, the convergence between these two disciplines is stunning, but I think most people don’t see that fact yet and carry on with the old way of doing things. You can’t design a web site without thinking about how you’re going to coerce the browser into achieving the visual effect you’re going for and explaining it in terms of the DOM, or how your visuals need to change for mobile devices or degrade for the color blind or the literally blind or even the paranoid, or maybe sensible, users who disable javascript and cookies and all the bells and whistles by default. You can’t program a design without knowing these things either.

This doesn’t just go for our traditional “designer” and “developer” concepts, the lines are rather more blurred than that. Project managers, art directors, copy editors; Everyone that’s a stakeholder on a project needs to be worried about look, feel, function, and implications of every project they touch.

When we consider these four points that designers are supposed to worry about, you almost have to question the meaning of the word “designer,” and you quickly realize that that word doesn’t mean “people who make things look pretty,” it means “people who make things.”  Developers and designers both fall into that category, and so do project managers and content managers and all the rest of the stakeholders on any project. With that broad of a brush, we’re all designers, aren’t we?

So, to answer my own leading question, what’s the difference between a designer and a developer? Specialization. That’s it. Designers need to focus on the look and feel while worrying about the function, developers need to focus on the function while worrying about the look and feel, and everyone needs to worry about implications. Really, we’re all engaged in the same enterprise, which is making things, and we need to stop worrying about dividing labor and start taking ownership of the products we create.

One thought on “Developers are designers, designers are developers

  1. I’ve been thinking about this for a long time. But I couldn’t find the words. Your title is great: Developers are designers, designers are developers. We are all responsible for design decisions that affect the way something looks and works. These decisions should not be taken in silos.

    Steve Jobs -design is how it works- and Don Norman -user experience is the sum of positive and negative experiences with a product or service- said it very clearly.

    We just have to work together.

Leave a Reply

Your email address will not be published. Required fields are marked *