“You don’t have to do another person’s job to be able to work well with that person, but you have to understand the broad issues that your co-worker deals with. When that co-worker is ignorant of their own issues, all sorts of crazy notions emerge. Crazy notions like designers need to code.”
Alan, thanks for framing it so correctly. I would take and extend your thought to not only development, but to other aspects of a software product too. Awareness of the quality process/workflow could help them in making effective test scenarios. An insight into what matters to Marketing folks, could help in placing the right messaging across the product face (if applicable, of course).
I think, “Awareness” is the word. This awareness could shine onto oneself through multiple ways. In terms of development aware, it could either be that I have actually spent time crafting code myself or it could be my inferred knowledge from close collaborations with fellow developers. In most cases, I would like to believe, its both in varied ratios.
However, as Alan rightly hints, awareness of these invisible ‘demons’ at times tends designers to limit themselves from going ‘beyond’. Personally, I have also fallen into that state of mind multiple times.
To top that, our ‘egoistic and trickster’ mind (call it alter-ego rather) also complements the scenario, applauding our limited design efforts putting all the blame to the ‘developer awareness’. As if saying — “I could have done lot better, but the developers will have a tough time implementing it then. Hence, this seems like a great compromise!”.
One way to get out of this falsely rewarding cycle is to think of this demons as your helpers. Call then “Genie” if you want to. One’s awareness can then be used positively. Suppose I designed a cool element transition within a prototype — even though I might think that with current CSS transition support, that might be a tough nut to crack. But then I also know of the custom easing facilities in CSS today, so might be our developer friends could use that a bit. Or, better, I could some available tools to iterate and generate the function that could be plugged in the easing function. Hm! On to better things. Trust me, most passionate developers I know also get that ‘kick’ from doing something ‘cool and new’ — as long as they are not left alone in there and as long as we designers can explain its value.
Enough said — thank you again, Alan. You have been a ‘Guru’ to me.