The Role of the API designer: Design what the user needs

Since I have been preparing for the PDC and finishing the book, I neglected blogging. All ideas for posts were just ending up in the “to do” folder (yes, Outlook drives my life J). Now, I will try to catch up.

I was reading Paul Grahm’s essay on Design and Research and I found this sentence that I think describes really well what I think the job of an API designer and a technical program manager is. Paul wrote: “you have to design for the user, but you have to design what the user needs, not simply what he says he wants.”

This is what I always try to keep in mind when designing API for the BCL. We get lots of very specific requests from customers for features they would like to see in the BCL. I always try to start addressing the request (designing) by asking what the underlying problem the customer is trying to solve is.