Are you experienced?

I used to be a software developer. I worked for Motorola, building debuggers and simulators for smartcard microcontrollers (the 8 bit 68HC05SC to be precise...).

When I joined the Visual Studio User Experience team I had the benefit of experience with Visual Studio and experience with software development in general.

But I don't believe that experience was absolutely necessary to be able to successfully study developer tools and API user experience. To begin with, my experience was very specific to a particular scenario and context. To think that this meant I understood very well the experience that a developer would want in a different scenario and context (e.g., building an internal enterprise application) would have been arrogant, foolish and utterly misleading.

Instead, to really understand the ideal developer experience for a particular scenario, you need be able to let go of all your existing biases and prejudices about how developers work. Immerse yourself in the new context and learn. Soak it all in and begin to appreciate what is important in that context.

It's not easy. Most of the time we don't even know how or when our previous experiences are biasing the way we perceive new contexts. You need to pay constant attention, ask lots of questions, especially the ones that you think have easy answers.

These are the sorts of skills that user experience researchers have. They have a collection of tools and techniques that allow them to gain a deep understanding of a specific scenario and context. Contextual inquiry, ethnography,  avoiding leading questions, and many other techniques help a user experience professional remove the shackles of their own biases and immerse themselves in the new context.

Sometimes though, the new context can be complex and difficult to understand and navigate. So you take someone along who knows a bit more about the context who can help you navigate but you are still driving. You are still asking the questions and determining where to go.

Many times doing an API study I will need a navigator, someone who knows the API well (most likely a developer or program manager who implemented or designed the API) to help me navigate and understand the experience that a developer is having with the API. I'll still drive in the sense that I'm asking questions, determining what aspects of the experience are important to understand etc. But the 'navigator' helps me understand better what we're observing and experiencing as we watch a developer use the API to accomplish some task.

In fact, in this Channel 9 video, that is exactly what is happening. Nancy is the user experience researcher running the study. She's sitting at the controls, taking notes, asking questions and observing the experience of the participants using the API. She's not a developer, has never been a developer and didn't have a lot of experience writing code at the time she ran the study. But the study was a great success because she was able to observe with an unbiased perspective and she was able to determine where, when and how to drill deeper into the experience that participant's were having. Dennis Pilarinos was the program manager responsible for the API at the time and he sat right next to Nancy, helping explain what was happening. This helped Nancy make better sense of the observations she was making. Together, she and Dennis helped each othter to achieve a deep understanding of the experience that developers had with the API.

I've seen the same thing happen in other usability groups around the company. Umer Farooq for example has been writing about the recent work he has been doing on studying the API user experience. He's not a developer either.

You don't need to be a developer to be able to study and understand the developer experience.