Should all designers learn to code?

A couple weeks ago I attended a Refresh DC event with Sarah Mills, a designer and co-worker at Matrix Group, where the presenter, Garrett Miller (@heyitsgarrett), gave several compelling reasons why all designers should learn to code:

  • Designers who can code can put their ideas in motion without waiting on a front-end developer (FED).
  • FEDs can design something the way they want it, instead of trying to interpret someone else’s vision.
  • The streamlined process allows for agile design, where user feedback can be implemented immediately.
  • Applying creativity to development produces more thoughtful, user focused products.
  • Teams are able to design user interactions in a real world environment instead of a PSD.

Sarah and I both fit this description of a designer/developer, starting in design and then learning to code our designs. She has stuck with design, and I have moved mostly into front-end development, but this crossover made us especially interested in the topic.

In debating, we came up with some additional reasons why designers and FEDs should understand the other side of things:

  • It improves our ability to share ideas, critique each others’ work, design for new capabilities, and watch for problem areas.
  • Smaller organizations can save time and budget by hiring someone who can do both.

On the other hand, we think that agencies or organizations who have the budget for a full team benefit from having both designers and front-end developers, preferably with some cross-over, but whose primary focus is one or the other. Here’s why:

  • Keeping up with bleeding edge technologies and web standards OR design trends and tools takes a lot of time. Trying to keep up with all of the information necessary to design and build modern websites and also do the work would be very challenging.
  • People are always better at one or the other. Developers can build a site that doesn’t look bad, especially using boilerplates like Twitter Bootstrap, but it will be somewhat plain. Designers can learn to code, but particularly complex CSS or JavaScript will always make their brain feel a little fuzzy.

Overall, our answer to the question is “Yes, but…”