I Don’t Care How Your Program Works

Found this from the MSDN Blog: Why Software Sucks. It's an interesting title for a book by Harvard professor David S. Platt. The following snippet from his sample chapter really scratched my "itch":

I Don’t Care How Your Program Works

[A] mistake that programmers make when they design user interfaces is to force users to understand the internal workings of their programs. Instead of the programmer adjusting her user interface to the user’s thought processes, she forces the user to adjust to hers. Furthermore, she’ll usually see nothing wrong with that approach. “That’s how my program works,” she’ll say, puzzled that anyone would even ask the question of why her user interface works the way it does.
...
You shouldn’t have to know or care about her program’s internal workings to use it successfully, as you shouldn’t have to know or care whether your car’s engine uses fuel-injection or a carburetor in order to drive it.


As programmers, we tend to think like....duh...programmers, and often forget to think like users. Being able to make this leap is probably one of the distinguishing factors between a seasoned programmer and a rookie.

Note to Self: stop being a rookie.