It’s not a new subject, but it’s certainly far from resolved, or even understood well. For a long time, I remained indifferent to all the chatter on the topic. However, as I started to be responsible for hiring and building UX teams, it became important to resolve this at least in my head, and share where I am coming from in more than 140 characters.
I have learnt to code as part of my computer science education during college years, I am not intimated by it, I just chose not to continue with it. Here’s why:
I have been involved in more than a dozen projects with similar challenges, but, I think a couple will help see my point -
In my first job as a business analyst on a CRM and BI implementation for Citibank in Europe, I spent more time running SQL queries than really understanding what the business wanted. CRM tools are highly strategic investments for any organization. I think most of my team members would tell you I did a great job as a business analyst, but, I know I could have been a lot more innovative and valuable to Citibank if I had a better understanding what CRM meant for them, and how they expected it to transform their business.
On my first web design project at Cognizant where I had to come up with a knowledge management portal, I spent more time doing an HTML prototype than understanding the impact of what I was doing on my users. Knowledge management systems can be fairly complex in their information architecture – particularly if you are designing for a company with 50,000 users distributed across the globe who expect the search experience to match those on Internet search engines! If I had done something as simple as card sorting, or spent any time at all understanding the user’s mental model, I am sure the information architecture for my site would have been a better experience – to design and to use.
Subsequently, I was fortunate enough to work for some people who were passionately committed to user experience – who encouraged me to spend more time understanding the user and the context, performing task analysis on complex functionality, facilitating collaborative design sessions, “an hour a day” on site usage analytics, formal and guerilla usability testing. I spent significant time in gaining experience using methods and tools to help with experience strategy, user research, information architecture, interaction design and usability analysis, and I know I am far from done. Thanks to my association and learning from folks from companies at Adaptive Path, Coopers and IDEO (they help me justify my Bay Area mortgage!), and other individual consultants who have made significant contributions to this field, I have grown into a designer who is much more aware of how my designs influence my user. When I say I create empathic designs, I also mean that anything else is a compromise.
It’s only when I poured myself into such methods and tools, I realized the positive impact of those on the quality of the interactions I designed. On the other hand however, my HTML/CSS skills were turning rusty, and I started to see that my designs were no more limited by my design skills, but by my coding skills. I started to get better results pairing with UI developers who were really good at what they did, and helped me stay in touch with newer technologies for web and mobile application development.
What I’ve learnt from my experience is that something’s got to give, and it’s more often design, not code that gets compromised – When someone’s doing design and development, higher chance that they would spend more time coding than engaging in activities to understand the users, and validate their designs. I would really like to know how many designers who code are able to get the time in even running usability tests, or analyzing site usage analytics to validate their designs. There’s a higher chance that a designer who focuses on just design has a system in place to constantly refine the interactions based on qualitative and quantitative feedback. I am basing this inference out of my interactions with friends in the field; it would be interesting to do a formal survey on this.
Some have made a good case for designers to code based on what Silicon Valley start-ups are asking for in their job descriptions. I get why sometimes working backwards from job descriptions can help someone who is starting off in their career, but, if job descriptions were a way to go, then agile and lean development would not be where they are today. Settling for lower quality of experiences because an employer wants to get two for the price of one is not where I want to go.
Being a believer and practitioner of empathic design, I look to build a team of designers that is committed to understanding the user and the context of usage, ideate through a variety of designs, facilitate collaborative design with the team, take the effort to get feedback on the product from users, find innovative ways of creating a faster feedback loop. Whether they come with coding skills or not is immaterial to me, I would rather that they have the right attitude in collaborating with developers.