We should end the Developers vs Designers feud
There’s a lot we can learn from each other.
When I started my own business in 1999, I designed all sorts of things for my clients. I would create designs for logos, branding, brochures and, sometimes, websites. If you knew how to craft pages online, you’d be called a webmaster, and you were off to the races! Being a factotum was common. For better or worse, things were much more sincere back then.
Fast forward a few years, and you’ll find all sorts of division in the very same industry. Specialisation in different branches took place and with it also some form of tribalism. You can see Content Designers, UX/UI Designers, Front-end Developers, Back-end Engineers — the list goes on.
The current industry
If you’re a coder, you can’t be a designer and vice versa. Don’t you even dare to attend a designer meeting if you’re a developer! People will stare at you like you don’t belong in the room. If you’re lucky enough to be invited, the only communication that happens is always the same: “We want this design here. Can you develop it?”
That’s it — nothing else.
You don’t have a say in any design decision because you, as a coder, are just a mere executor. You live in a pit speaking an obscure language only you understand. No ideas can ever come from you because you’re a code monkey sitting in the corner, muttering gibberish. All the hard decisions are already digested and dumped on your head. You should be happy, aren’t you happy?
Well, I wasn’t.
The awakening
I stood up during a meeting: “You know, I’ve got over a decade of design experience myself. Why don’t we collaborate on this?”
The whole team could not believe or even conceive that:
“But you’re a developer? You can’t possibly also be a designer?”
I had to show my portfolio during a team meeting to prove it — silence in the room. I finally broke a taboo.
This unnecessary elitism amongst designers is toxic to any environment. A change had to happen, for everyone’s sake. The problem is that it wasn’t only one-sided.
Developers are notorious for avoiding Designers. I overheard a discussion where the team ridiculed a blueprint because it looked dumb and didn’t make any sense, yet it got developed anyway. As a result, the solution would be over-engineered and clunky as developers won’t care about the products as long it would comply with the designers directive. That’s all it mattered! — Compliance.
The realisation
So, where did we fail here? — Communication. Developers and designers speak different languages. The former being relegated in the dungeon, while the latter is sitting comfortably in the ivory tower.
Architects understand the properties of concrete — why can’t designers understand the foundation of development? They both need each other, yet they don’t communicate.
So, I decided to become the missing link between the development and the design team. I’d walk both worlds until I’d fully understood and translate what I learned.
I’d entertain workshops to show how you can design with code. Changing values in my editor would instantly update the view, giving a not much different feeling from what you’d be doing in your prototype design. I was showcasing the front-end: it is as close as it gets to the design world with the difference that it’s what you’d get in production! I sparked my fellow designers’ curiosity, allowing them to understand that developers aren’t that different after all.
On the other front, I’d listen to what the developers had to suggest. Rather than making the solution only look pretty, it has to be functional and with precise specifications. In their environment, reusable “components” were king. Having building blocks could be crucial to the creation of a common language between designers and developers.
Everyone played Lego bricks at some point in their life, right? You understand you can stack them up, classify them by size and colour. That’s easy to grasp for everyone.
So, we agreed to invest time in creating a design system that would be the same for both teams. A common playground was taking shape. Every component would be called the same, work the same and have the same functionalities.
It was a joint effort and always evolving. Designers could drag and drop components into their prototypes very confidently. Similarly, Developers would understand the design quickly.
Getting everyone on board was a fight in itself. But once managed, things got smoother. Our whole team finally realised that collaboration is critical for success. In the end, designers and developers worked together in harmony. — More or less.