This movement has produced an interesting and unintended consequence: the line between designer and coder is blurring.
I propose we remove the line altogether.
Why? Say it with feeling: design concerns and code concerns are the same concerns. Internalize that for a moment. Designers and coders contribute to the project at hand equally—we both want the project to succeed. Because of that, our goals and concerns are the same.
Designers don’t want to build an app that runs slow because of agonizingly complex SQL. Coders don’t want to build an app that is hard to use. An incredible app requires both incredible code and incredible design. Without one, it’s not incredible.
Designers are tired of being the gatekeepers for visual detail and user experience. They’re tired of having to explain to the team that their concerns are not petty but are instead a major factor in a project’s success.
Coders are tired of dealing with designers who don’t understand how things get built. They’re tired of turning down silly features that have dire coding implications or are otherwise untenable.
Too often, designers and coders are at odds. Their interests compete. They disagree. If our goals are the same, the classic face-off between designers and coders needs to end.
The influx of coding designers proves we can do it. We can align our goals and start to alleviate all that mutual frustration by sharing our duties and skill sets.
Of course, specialization is important. If each of us were to just dabble in every possible skill rather than pursuing mastery, nothing would get done. However, we need to stop defining ourselves by too-narrow sets of concerns, and instead become well-rounded professionals who each excel in a specific area.
But there’s a problem: coders need to catch up. I could make a broad generalization that most coders don’t know about design, and it would be unfair but perhaps a tiny bit true. Instead, I’ll say that I don’t anecdotally know of many coders who understand even design basics. Do you?
Here is my plea: let’s all start learning about the opposite discipline and continue blurring the line between them. Designers: learn to code and understand why technical proficiency brings about great software. Coders: learn about design and understand why the little details affect the entire project. Let’s stop assuming our colleagues are out to undermine our interests and get on the same side.
Let’s stop being coders and designers—let’s become builders.