As a designer, I often feel the pressure of learning programming. It seems to me that the ultimate super-designer also possesses the power of coding, and would be able to design and develop a product from start to finish. In the article Unicorn, Shmunicorn: Be a Pegasus, Wayne Greenwood addresses the question of whether or not to be this mythical product development creature who can both create compelling designs and write production code.
Personally, I often find myself asking to what extent conflicts emerge when you package these two vastly different skill sets into one person.
“What happens when user goals and technical constraints collide as deadlines loom? Do you build the best product for the user, or the product you can implement in the allotted time given your technical abilities?”
I completely agree with Wayne Greenwood when he states that the primary reason software has improved so dramatically is because Software design/UX/UI/IxD has evolved into a separate profession.
User Experience requires knowing your users, determining needs, wants, and goals, creating personas, inventing a concept design, crafting the interaction flows, producing detailed wireframes, designing pixel-perfect mocks, responding to last-minute feature requests, creating production assets, and a million other details. Worrying about details of a neighboring discipline (programming) would mean compromising quality in both design and development.
I believe the best products are made by a set of two types of people:
- Highly skilled UX designers with a good understanding of programming
- Highly skilled programmers with a good understanding of UX Design
With a dynamic team, each individual brings a highly skilled expertise to the table without compromising their attention to detail.