by Mark Porter
I love programming. I get to spend my days talking to computers. They do exactly what you say. They don’t make mistakes or argue. They don’t get confused. It’s simple — basic ones and zeroes. People, on the other hand, are complex. Their needs vary. They need to be taught and reminded of how to do something. They’re driven by emotion. They get tired and make mistakes.
So why did I trade in my keyboard and mouse for a legal pad and pen and venture out to talk to some of the users of HighGear?
A Programmer’s Journey
My answer is because efficient data structures and fancy algorithms don’t matter much if the users don’t want to use the system.
I’ve known for a while that for HighGear to live up to its full potential, user experience really matters.
For the years I’ve worked on HighGear, the user interface has grown somewhat organically. I had identified for a while that we could use a focused user experience review, but I held the belief that this was best left to the experts. User experience and interface design has always seemed a bit magical to me. Like tightrope walking or trying to match a shirt and tie. I agreed with Jeff Atwood that “Friends don’t let friends produce Developer UI”. As a result I was initially skeptical when we decided to learn user experience improvement skills ourselves rather than hire a consultant.
Our Chief Operating Officer, Josh Yeager (who we affectionately refer to as “The Doo”) bought us each copies of Alan Cooper’s About Face. We spent hours reading and discussing the process and patterns described in the book over the first month. It felt like going back to college. From there we’ve followed the process outlined in the book closely. Now, a few months into the project, I have seen many benefits of doing the work ourselves:
I gained a deeper understanding of the stakeholders’ vision for HighGear
One of the first steps in the process is to interview our stakeholders and understand their vision and expectations. This caused us to think more broadly about the product and to consider how what we do every day will help people.
I got to see how some real users use our product
A number of our customers were kind enough to host us for a day so we could observe and interview some of our users where they work. It was exciting to see some of the features I had slaved away on for hours being used in the wild. It was also concerning to see many features not used to their full potential because the users didn’t understand how to use them.
I learned to think about software from the user’s perspective
As an engineer, I typically dive right into the nuts and bolts of how to make something work. Spending hours talking to users, building personas, and designing interface mockups has forced me to focus on how the software will interact with the user. Of course it needs to work, but let’s make sure what we build is what the user needs first.
Learning UX as a programmer has been a challenging, but rewarding experience. Cooper’s book has been very helpful to give us the basic tools and a process to follow. I’ve also learned a lot by reading the questions on ux.stackexchange.com and by reading articles on smashingmagazine.com and alistapart.com. Sure I miss programming (not that I haven’t snuck in a little pet project here and there), but I’ll get back to it soon — hopefully with a renewed assurance that what I’m building is really going to help our users.