It’s All About the Users

Thursday, January 14, 2010

What I love most about working at a startup is how close I am to the people I’m serving. Almost every task I work on directly benefits our customers. And working at a web startup means I can deliver that benefit as soon as it’s built.

A lack of customer interaction yielded many frustrations at my previous job, where I was part of an enterprise SDK team. I was separated from my users. Requirements were set by product managers; testing was done by quality assurance; feedback came from division heads. User interaction was not part of our process. I did have coworkers who were very much involved with their users, but they were a limited breed. They tended to be designers, managers or developers of the bottom (user-facing) layer of the stack.

I say all of this without issuing criticism. Pairing up customers with developers can be exceedingly difficult in an enterprise setting. We’re not talking about a web app and a site visitor; we’re talking about a multi-layered technology stack and a user of a derivative work. For instance, if I’m working on a module inside an SDK that goes inside a search engine that is customized in a workbench and appears in a dashboard, when is a dashboard user one of my users? This example is not contrived to prove a point; I was the developer in this very instance. The difficulties get even tougher when it comes time to translate the dashboard requirements into SDK requirements. These were complicated problems that dealt with several layers of our technology stack, and product management was a necessary arbiter.

The question is: at what point in the customer interaction process should product management step back and let developers take over? The answer is: as soon as possible. As soon as a user’s problem can be mapped to a particular developer (or a module for which a particular developer is responsible), product management should get out of the way. At this time the developer should consult directly with the customer.

There are two reasons for this. The first is that it reduces confusion. When there is a chain between the customer and the developer, every link is a filter that obfuscates the customer’s needs. When I speak directly with a user, the odds of my understanding the user’s problem are very high. Those odds are dramatically reduced by each person placed between us.

The other benefit is motivation. I cut code because I enjoy solving problems that make people’s lives easier or more enjoyable. Seeing such a problem first hand inspires me to solve it. There is a strong correlation between motivation and productivity, and letting developers interact with customers is an easy and efficient way to boost both. The customer wins, the company wins, the developer wins.

Now you go:

3 comments:

  1. Thursday, January 14, 2010brendanschwartz says:

    Really good post. This is one of the biggest advantages startups have over big companies. Hell yeah startups!

  2. Thursday, January 14, 2010Natasha Lloyd says:

    This is a great post.

    I think the fear most product managers have is that if they connect one customer to a developer, that developer will take that one customer's needs as the requirements. The problem, of course, is that one customer is not representative of the entire user base. This is probably an underestimation of the developers, who are perfectly capable of distinguishing the forest from the trees.

    Too often, the only interaction developers have with customers is when problems arise. This kind of interaction doesn't provide much insight into customer needs. Instead, you sometimes need to have higher-level discussions to understand why customers need the features you're developing and how do they use your software to solve problems so that you can develop a better product. It's the developers' job to get this message across to the product managers, who should then be happy to step out of the way.

    I think it's also important for developers to take an active role in learning about *all* their users, as a group, on their own time. You can look for online communities or attend trade shows and meet people face-to-face. We've also had some success by asking for contact info of some customers from the product manager and scheduling phone calls to discuss the customer's experience. In other words, don't wait for the product manager to do this for you, just do it yourself.

  3. Monday, June 21, 2010Writing for People | Robby Grossman says:

    [...] profitable sites that can afford to play these SEO games in that they are more strictly about solving users’ problems and providing them optimal experiences. Established companies, on the other hand, can make compelling business cases to diminish a [...]