Posts

Showing posts from February, 2013

Lather, Rinse, Repeat

A woman who was married to a computer programmer sent her husband out one day to the grocery store to buy bread.  As he was leaving she added: "If they have eggs, grab a dozen."  It will come as no surprise to the computer programmers reading this that he came back from the store with 12 loaves of bread.  In response to his wife questioning his mental state in bringing home that much bread he simply said "They had eggs." You can't always trust a computer programmer to make great decisions.  We tend to operate the same way a computer does, which is to follow each instruction literally.  If we examine the above case we can see that the husband was given a program to run; Buy Bread.  After starting the Buy Bread program his wife altered the parameters and told him to check for eggs.  The husband did this, but because he was still running the Buy Bread program it never even occurred to him to buy eggs.  The only thing he cared about was buying was b...

Nobody's Perfect

Nobody is perfect.  Read that last sentence again, but this time imagine that Nobody is the name of a person.  Now with that in mind read the following paraphrased version of a poem by Charles Osgood: Everybody,  Somebody,  Anybody and Nobody were at work one day when an important task came up.  This task was something that Everybody should have done, but Everybody assumed Somebody would do it.  Anybody could have done it, but he also assumed that Somebody would do it.  That made Somebody mad because it was Everyone's job, and in the end Nobody ended up doing what Everybody should have done. This fable is usually used to illustrate the importance of taking responsibility, but it also illustrates an important trait about Nobody.  Nobody is perfect.   He is always willing to do the tasks that we leave undone.  But we on the other hand are far from perfect.   So why is it that we are unwilling to allow others to be...

Software and Skittles

As a software engineer I have come to understand the importance of asking the right questions.  When you build software it's important that you build something useful.  Most of the time you are building software for someone else, known in inner circles as the "user".  This user's job is to give you something called "requirements".  Your job as a software engineer is to take these requirements and turn them into "software".  But this process can break down fairly quickly if you don't ask the right questions.  From the perspective of a user, in order to get software that's useful to me, I need to keep the focus on what I truly want the software to do.  Software engineers are notorious for starting to build the software and getting sidetracked with the phrase "You know what would be really cool....".  Too many of those conversations and you end up with Windows ME.  Looks cool, has a lot of features, but ends up virtually unusable. ...