For those of you who aren't yet geeky enough to know, Robert X. Cringely writes the geek's version of the tabloid gossip column. He follows the computing industry very closely and has connections all over the place. This week's column is about Windows on Mac hardware, and has some even more surprising speculation. A good read (link at the bottom of this post.)
I want to address just one thing from his column (which really isn't about what I'm talking about at all):
Cringely paraphrases Dave Winer as saying that the job of a software developer is to say 'Yes' to customers, adding features and capabilities as needed to please them.
I wish my job as a developer were that simple! The biggest challenge of a software developer is never simply providing the features and capabilities your users need - in fact, that's almost always the easy part. The biggest challenge is almost always figuring out what they need.
Imagine for a moment that you are a developer working on the very first spreadsheet ever written. A user tells you that he needs to be able to add 1 to every entry in the spreadsheet. You very quickly add a menu pick that says "Add 1 to every entry." Obviously, this meets your user's immediate need. But what about when they need to add 2 to every entry? Or when they need to add 1 to all of the entries in a single column? Or all of the entries in a given row?
Good developers jump off of cliffs in order to implement the features their users ask for.
Great developers understand that a request for a feature from a user almost always only involves what they need right now. Great developers look for what users will need to do six months from now. Great developers understand that a request from a user is almost always symptomic of a larger need than that user understands right at this moment.
Link: PBS | I, Cringely . April 20, 2006 - Native Speaker.
Recent Comments