Should designers code?

More often than not, design is seen as merely aesthetics. Many organisations separate design from the development process, with designers handing static screens and prototypes to engineers — and in worst-case scenarios designers and engineers don’t even sit together. In the world of interactive design, functionality should play a significant role in the design process.

Code shouldn't hurt your creativity.
It should enhance it.

Knowing how to code allows you to make smarter decisions as a designer, it will help you to bring additional value to your work and projects. You don’t necessarily need to write production-ready code, but you should at least know about it as you will gain an understanding of the challenges an engineer faces.

I’d say 25% of the real design work happens after a designer hands off their designs. That’s when engineers start pressure testing your designs, and they’ll find new constraints and edge cases you never expected.

Think of coding as another tool in your design tool belt. Start with HTML and CSS, throw something together to quickly test an idea or model an aspect of how the interface should behave. Then take up a notch with JavaScript and you will be surprised at what you can achieve. Even if your code doesn’t get shipped, think of it as a communication tool, hand it to engineers to demonstrate how the interface should function — it will always be better than still images.

We spend hours designing for a medium that’s interactive and responsive, but we start by producing mockups that are static and inflexible. If great design is not only aesthetics but also how it works, then it’s time to make development part of the creative process.

That’s my take on the “should designers code” debate. In the end, it’s not about your job title, but about your responsabilities. Remember, code is just another tool, and if it help you delivery better results, why not use it?

Ps.: here’s the code for the animation above, feel free to use it as you see fit!