Get rid of the line between design and development
Designer and developer Bastian Allgeier says designers should learn how to code to become creatively independent and calls for an end to the strict separation between both skillsets
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.
Learn more
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?
Blending skillsets
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.




18 comments
Comment: 1
Unless of course you're only talking about html/css and not really going into depth with server side code.
Comment: 2
Comment: 3
With that said, "A little bit of knowledge is a dangerous thing", and the ego (like always) must be kept in check as designers absorb bits of development best practices and have one "A-HA!" moment after another. The world has "opened up" to me in the last 2 years as I've picked up more JS/PHP, and it is very rewarding in many ways, but the number of programmers I have on-call for various projects has not decreased by even one.
Comment: 4
Comment: 5
A good front end developer will take what ever the designer wants and be able to translate it to a web site. Sometimes things aren't possible and some designers are from a print background so some things don't translate correctly to web. It's just a learning exercise.
It doesn't help when you have crap developers. I'm a developer myself and I pick up a lot of work because customers always comment how hard it is to work with many other devs and they need consultation in the design process and be told straight up what shouldn't be done.
Comment: 6
Comment: 7
Comment: 8
Comment: 9
This seems typical for a time where inspiration trumps creation, and simple trends replace authenticity.
It has been shown, that to achieve mastery in a complex cognitive task, of which I would argue both design and development can be considered, a full 10,000 hours of purposeful practice is needed. In the real world, this translates to about roughly 10 years.
In 10 years, and especially for developers, the tools and skillset will be renewed a number of times, and for every hour you use on areas other than that which you want to focus on, you are postponing mastery.
There are good reasons for the saying "Jack of all trades, master of none". I would argue that the cognitive tasks of design and development, are too diverse to have a useful amount of carryover.
I think, as a designer, you can benefit from having an understanding of the limitations of development--without, for that matter, knowing how to build it.
The idea that collaboration would hamper creative independency is the part that I just won't buy. Any trait that would give birth to such notions, I would have to question.
It also becomes paradoxical to argue that having both perspectives yourself would be inherently superior to having both perspectives in a group, and actually suggests that the skills we should sacrifice some time on are trust and communication.
Comment: 10
I agree with everything said here, both the initial article - blurring the lines between design and programming, as well as the need for specialists.
There is one line of thought missing here, and that is that hard-core specialists, so designers who have no clue whatsoever how programming works, and programmers who have no idea of design - come up with such an insane solutions and it is them that usually make a breakthrough in their corresponding fields.
A designer who knows too much about programming and development will constantly think about consequences of his work and this will constantly be a burden, a pressure. Working with free mind will produce things which are in their first versions impossible to code, but with just a bit of tweaking and clever programming could later produce supreme work.
Same goes for programmers. In my company when master programmers have free time, they come up with some insane borderline useless bits of code, and bits of software. Crazy photo manipulation techniques, silly ways to query a database, etc ... they do not care would designers be able to use this, they just make it. A year later - designers and product managers found a way to do something really good with it.
Too much knowledge can limit you. Sometimes ignorance really is a bliss.
Comment: 11
Comment: 12
Comment: 13
I started out as a real world designer, moved to HTML & Photoshop, then to asp & LAMP. I've run the entire gamut since the 90s. The more you learn, the stronger both skill sets are going to become and compliment each other because you'll actually have an understanding of how your designs will work.
Comment: 14
Comment: 15
The problem is as much one of communication and collaboration, as it is one of shared skillsets.
Yes, it's invaluable for a designer to understand code.
Yes, it's invaluable for a developer to understand design.
BUT, being a master in your field requires a lot of commitment. It's unrealistic to nurture your creative side and engineering side to a sufficient degree and still have a life.
Sure, if you work on a small scale problem/product, you can get do perfectly fine with being a designer/developer.
Once you hit bigger problems, work on larger scale projects, you absolutely want the best people in their respective fields. But to maximise the outcome, you need developers and designers who understand each other, who talk all the time with each other, who see themselves as equal partners of the process and collaborative effectively - in that way, it's still about removing the line between design and development...
Comment: 16
Industrial designers aren't the hardcore engineers, but they understand the engineering to create efficient cars. You can't design in the absence of understanding your underlying system.
The same is true for the web, which is now responsible for consuming several percent of electrical power worldwide. As you'll see from my posts over at Sustainable Virtual Design (http://sustainablevirtualdesign.wordpress.com) the biggest impact on the Internet's current "code bloat" - and the subsequent drain of energy and resources - is designers who create the equivalent of Hummer websites without understanding how web pages work.
A particularly bad set of examples may be found at this link
http://sustainablevirtualdesign.wordpress.com/2012/03/11/green-design-vs...
which shows how supposedly "green websites" are some of the biggest energy and resource hogs online. Checking some of them, (e.g. Inhabitat) you see supposedly "green" designers who are responsible for pages burning 10x the carbon of similarly designed pages on other sites.
Design is the problem, not engineering. Engineers, Google, etc., can only streamline the hippo.
Obviously you need specialization in a design and development team. But that doesn't mean that designers can ignore code, any more than coders can ignore design. It runs both ways - the "codebeast" who doesn't bother to understand design creates similar problems in sustainability.
According to Nate Shedroff's great book "Design is the Problem" (Rosenfeld press) design, is where we can make things more sustainable. To do this, designers have to understand the process of making their design real, and engineers have to understand design well enough to critique/comment. Typically, making sustainable products (and websites are just virtual products) requires major resets and re-thinking at the design level, back-driven by engineering.
This only works if designers and developers are part of the same team, and understand each others profession well enough to suggest changes. We need hybrid designer/developers, and hybrid developer/designers.
Comment: 17
@Daemon
@ux4science
I think Bastian is proof that you can be proficient in both areas, and thats why its him writing the article... ;-)
However my personal experience different: When I lean towards one side, the other side suffers... Especially on the development side (I come from design), I always have the feeling, I am lacking no matter how much time and effort I put into it...
There can be good inputs, though...
A good example for me is GIT. Just thinking about designing in a GIT way (commit, branch etc.) helped me improve some (previously chaotic) design processes. For developers, design thinking will probably do the same for them...
Comment: 18
I can't speak for those people, but I personally think it's the difference between just a job and the passion.