Demigods are better than unicorns
Why a professional shouldn’t code what he designs
The designer-developer is the white unicorn of the internet world. Many believe they exist, some know someone who hired one, few claim they saw one in the past, always in strange circumstances. No one can refer you to one when you ask.
I’ve seen great designers learning to code, I’ve also seen how good developers became great designers. Hell, I’ve even had some working at my studio! In both cases they were cooks capable of cooking their own recipes, architects who could build the houses they designed with their own hands.
But they were not that unicorn. That combination would not work when producing digital products for other people. Why? Because the bar they set for the overall quality is as high as their weakest skill. And you want the best of both for the end result.
When a good designer tries to code his own design he will lower the difficulty of the design to align it to what he can code. The final result won’t be as good as if an excellent developer would have taken the designs and coded them.
It’s the same with a good developer who can design: she will think the code structure and then try to build a usable and beautiful layer on top of it. But again, that layer will be as good as her skills as a designer and not as her coding abilities. If there are some nice behaviors that improve user feedback or give some extra affordance she may consider them but if they are tricky to design she may discard them.
The unicorn, just as the cold fusion, works in theory but fails in practice.
The finest kitchen in town has always more than one specialist. Perhaps the cook has been a baker before and knows certain things about doughs and caramelizations but he surely needs a pastry chef at his side. The same goes for the pantry who prepares the ingredients and the expediter who is the specialist in charge of the final presentation of the dish. Even if you had a great cook who could do all these things by himself and excel at each one of them, the overall quality would never be the same as from the specialised kitchen.
The best cooks are not just the chef de cuisine who designs the dish but the ones who also have been in the presentation, preparation and pastry positions.
So, my advice to CEO’s and HR people is…
Hire devs and designers who can do both things but have them do just one. If they act as designers they will be great anticipating coding challenges and even easing them through design or side comments. If they act as developers they will understand the critical aspects of the design and reinforce them with code. To me, those professionals are some kind of demi-gods and yes, those exist.