Being a user interface developer means that I take a lead role in building the human side of information technology. That involves studying the people who will use it, engaging them in its design, and managing a software engineering process that incorporates regular user testing as part of development and maintenance. Inevitably, it also means getting my hands dirty with the day to day business of conducting user studies or programming.

This job spans a wide variety of roles, which in most organizations are split between different teams (e.g. designers, human factors specialists, and software engineers). For some people in this field, someone like me who claims to be able to "do it all" seems a bit suspicious; they believe that there's no way one person could possibly handle all the work involved, nor could they develop the necessary skills.

I've been lucky enough to have a wide variety of experience in several areas of user-centered development: as a researcher, as a designer, and as a software developer. A lot of this has been within small organizations, that can't afford three different people to do all of those jobs. Another area in which my diverse interests have been useful has been in large organizations -- I act as the "glue" for these three groups over the course of a project, contributing or taking a lead role in all of them. This makes it easier for them to communicate and maintain coherence as a team.

I'm not the best in the world at any one of the things that I do; however, I'm pretty good, and I love the work so much that I can't imagine settling down into a single role on any one project.