Designer Meets Developer

Where I now work, there’s always been a pretty wide gap between development and design. When I started 5 years ago, the design department was a black box into which (once the consultants and developers had a budget, timeline and technical concept mapped out for a project) a briefing would be inserted and after a couple weeks the designers would deliver a stack of screens. We’ve changed a lot in our company, and today it works the other way around: consultants and designers develop a concept and screens, and once they’re done the developers turn them into functional web pages. Designers never write HTML or CSS, and developers are never asked for layout ideas. There’s even a four meter wide physical chasm in our office which seperates design from development.

Neither of these approaches works.

Seen from the fly-on-the-wall perspective, the most interesting (and admittedly difficult) thing about the projects I’ve been working on in cooperation with Microsoft is that their development environment is conceived as a space where designers and developers truly work on a project together, which goes as far as providing a tool (Expression Interactive Designer, which should be called Sparkle) in which designers can work visually, and developers can write code, at the same time, in the same files.

The primary problem is a cliché, but as with all clichés, it’s built on a foundation of truth: developers and designers come from different planets. When I say that it’s important that an image has exactly this size, the guys at Microsoft shake their heads. When they say the data structure makes it impossible to display an image there, I shake mine. It’s an exaggeration, but the designer says, “it must be like this” and the developer replies “but that just won’t work.” In many ways, telling developers and designers to sit down and work day-in, day-out together in Sparkle is like telling a Portugese author and a Chinese editor that they have to write a book together in an English version of Word.

As an optimist, I like talking about solutions more than problems. If designers and developers are ever really going to get the most out of Sparkle, we’ll need to:

  • Develop an awareness that this kind of cooperative work is a paradigm shift of large enough proportions that it requires more than business as usual
  • Admit that both disicplines are of integral importance for the project
  • Learn to communicate in a language both can understand
  • Take the time to explain why particular design or code decisions are important
  • And the best one of all: try to solve each other’s problems

Does that sound impossible, or just too damn touchy-feely?


  1. I am totally with you. As I am a front-end developer I can tell you that your observation is totally correct. I am working in an internet-agency so one should think, we are used to communication as communication is our business. The sad truth is that we seem unable to communicate. But we shall be able, we must be able. Thanks for your posting, it is my opinion and observation for years.

  2. Mb. says:

    I’ve been thinking about this one a lot lately, and I’m starting to believe it’s not only possible, but relatively easy to solve. We just need to have more exchange. To start with the exchange needs to be formalised – regular meetings, planned involvement in the work of the other, etc. After a while, once we know who the other is, he stops being an other, and we start seeking contact and exchange ourselves. Maybe I’m just a stoopid optimist. 😉

  3. I am this kind of optimist, too. In my view it would be important to start with building and concepting websites as a team. A designer and a developer side by side are talking and planning a website or parts of it. My hope is that we can realise such an approach in the near future in our company. We are both doing the same job just from other ends. So only together the picture gets the whole picture.