Part of any craft is mastering the materials you work with. A Chef does not just write out a menu, but is a manipulator of food. A jeweller is not someone who just sketches rings and necklaces, but a metalsmith. Just as the furniture designer is also a professional carpenter. They know how to work with materials. Work that included understanding overcoming the materials inherent properties. The material a User Experience is crafted from is software! This is why designers need to get their hands dirty with it. Yes, it may be more abstract. Software indeed has differences to physical materials but it also shares some characteristics.
Somehow the dangerous idea that designers don't need to get hands on with software still dominates the field. My own view is that designers who can get more involved with the implementation of the product are not just better designers but also happier in their daily work. We claim to be creatives, yet what do we create? For many it will just be PowerPoint decks, wireframe views and UI specifications. Are these really the products of creativity? Can you proudly point at the fingerprints you left on a product?
Endlessly debating over if designers code can easily get boring. Once you are working hands on it is pretty clear that a lot of the tools and technology to enable better user experiences are simply terrible. One reason is a lack of designers getting in there, trying to use them and making smart suggestions on how to improve them. What follows is some of the main arguments I have experienced trying to get designers to get more hands on.
"You need a degree in computer science to understand how to develop software."
While the more you know isn't going to hurt you a full degree is not needed. I don't have a computer science degree. Hell, some amazing developers I know don't even have one. You just need time, supportive patient colleagues and decent tools.
"A little knowledge is a dangerous thing."
At the beginning, as designers try and get to grips with the fun world of software development and the product itself, they are going to say many dumb things. Take version control. Often designers new to it will worry that they now have the power to destroy the entire project by adding some broken code! This is not the point to laugh and call someone dumb. Just as you don't laugh at children when they start to speak. Okay maybe you do laugh, but only to encourage them. We should see the mistakes and incorrect assumptions as part of the path to proper understanding. Trust me, if you are a developer and you think designers are saying silly things, you should be a fly on the wall when only the designers talk to each other. Don't be daft and suggest designers should stay away from engineering issues, go explain how things really work.
"Knowing about development issues makes you less creative."
I often feel embarrassed at how often I hear this claim. The idea here is you need to be ignorant of the daily realities of software development to be able to push the limits. First of all when it comes to pushing the limits of what software can do no one is more active than software developers. Take the world of open source software, where designers are massively underrepresented. Here a constant stream of projects exist due to various developers frustrations with the status quo.
There is germ of truth here. Engineers are still mostly human. Estimating how hard a problem is to solve, simply by thinking about it almost always proves wrong. What is thought to be easy can take weeks, while the impossible turns out to not just be possible, but sometimes simple. The solution here is not ignorance, but high standards combined with finding the issues worth pushing.
"You cannot stand up for the end user if you also have to worry about development issues."
It is possible to walk and chew gum. For sure anyone can get lost in the details. It runs both ways though. Just as developers can get lost in the details of implementation, designers continually get lost worrying about issues that are not that grand or important to people when the product ships. Loss of perspective is best fixed by knowing about a wider range of issues. Designers don't need to stop standing up for the end user by knowing about the implementation.
The reality is the separation between designers and developers is what more often leads to products that don't work well for the user. A lack of hands on involvement, leads to poorer communication of what the genuinely important design issues to be solved really are. Focus goes to the wrong parts of the product and by the time the mistake is realised the chance to make significant changes to the software has passed.
There is also a flip side to this. Even the purest of designers, whatever that means, will have some knowledge of what is possible with software. No one wants to look like a crackpot by suggesting nothing but impossible ideas. Experience shows a poor understanding of what is possible just as easily leads to possible ideas never being suggested due to the designer thinking they cannot be done.
We live at a time where it is still fashionable to claim there is dangerous knowledge. Knowledge that can make us less creative. Knowledge that would harm us to know. Be it the well meaning manager protecting employees from information that might distract them from their daily work. As well as the bureaucrat who claims some knowledge must be kept secret to protect our safety. But we are not little children and are best able to decide for ourselves what is useful and what is not. Also we need to constantly stride to broaden our education. To open ourselves to new ideas and new skills. It saddens me to no end that so many of my colleagues have crafted a wide range of reasons to push fingers in ears, heads in the sand and cut themselves off from a world of knowledge that could transform their daily work. This is meant to be an enlightened age. It should go without saying that taking a bite from the tree of knowledge is not original sin, but how we liberate and improve both ourselves and the world around us.