Should designers code their own projects? How much code should designers know?
Countless articles have been written on that topic in the past few weeks, and they all led me to question my own motives: why did I, as a designer, originally choose to learn how to code? And how come I still do? It all boils down to a simple answer: creative independence.
For an interface designer, handing over your designs to the developer means losing control of the creative process. Of course, you will be working together on the project and communicating back-and-forth, but it will never result in a creation that is all of your own. In other words, you will never be independent in your creativity.
Bret Victor hits the nail on the head:
"An author can write a book. A musician can compose a song, a animator can compose a short, a painter can compose a painting. But most dynamic artists cannot realise their own creations, and this breaks my heart."
Starting with an idea, making concepts, working on the design, writing code and finally launching – maybe even selling – your very own project is a mind-blowing experience that will most probably change you, and your work, forever. It definitely changed me.
Once you have been to the land of code and pixels, you never want to go back. It's not about having to learn something, or about blindly imitating what the cool kids are doing. Rather, it's about scratching an itch to learn more, about being able to create without limitations and having a greater influence over the outcome of your own work.
Obviously, learning additional skills does not mean never working with developers again, or withdrawing into an egoistic bubble. It does, however, change the way you think about projects and helps you exert creative influence over aspects you never thought about before.
Learning to code extends your creative toolkit. The more you learn, the more you will find yourself rethinking basic concepts, features, structures, even your design decisions. The technology becomes a new lens through which you can see and critique your work – or the work of others.
The more you learn, the more both worlds will converge. Things you have learned as a designer will start influencing the way you develop, and things you have learned as a developer will change the way you design.
The web is packed with free resources for both designers and developers to learn more and to improve their work. We are all living in a candy shop, and all the sweets are for free. Once you realise that you are in a position to become independent in your creativity, it's no longer about wondering if you should learn how to code. It's about where you want to start first.
But wait, we are always talking about designers. Doesn't the question hold the other way around? Should developers learn about design?
We often forget that developers are facing the same problem designers do: they know how to build great applications, but designing interfaces often proves a tricky task for them.
We are all trapped by our limited knowledge of the cognitive tools of others, which keeps us from challenging each other. Instead of being afraid to lose our expertise by branching out, we should think in terms of readjusting it.
Certainly, we shall never be able to know everything there is to know about both design and development. Becoming a professional developer or designer requires years of study, and a sharp focus remains essential in building high-quality work. But there is a big difference in how we set that focus.
At the university where I studied, we were able to take classes in pretty much every aspect of design during the first semesters: typography, illustration, photography, editorial design, interface design … The list goes on.
It helped us all find our preferred domain and enabled us to narrow our focus in the following semesters. Looking back, I longed for an opportunity to attend all sorts of development classes as well, to get the same overview of that field. But I studied design, and instead had to learn how to code in my spare time, because I felt my tool belt would not be complete without it.
Why is there still such a strict separation between developers and designers? By now, we should have better models that blend both skill-sets.
Let's mix things up! Let's throw our egos over board and move closer together! We need to focus our skills on the things we want to create instead of following obsolete study programs based on long-gone job descriptions. New ideas and better products will inevitably stem from this global approach.
Get rid of the line between design and development: design is development, and development is design.