I had to jump on this one! After the recent discussions on FizzBuzz and how to measure the goods on a good programmer.

In my last job I interviewed what seemed like an unending stream of really bad people. What strikes me about our industry of software development is that we have no way of taking our important work with us and showing it to anybody. In fact most companies insist you sign away the rights to show any code you write. My wife on the other hand, who is a Graphic Designer, has a metric tonne of work in her portfolio. She can walk into an interview and immediately state "this is how good I am ... This is what I did for this marketing campaign ... and this was my time constraint". As developers we are required to somehow prove our competency within a few short hours by describing our understanding of some abstract concepts that we may or may not have used recently.

I have worked on a lot of great code in my life, along with some really talented developers, I have had those great ideas that appear as inspiration from the heavens (imagine the beam of light and heavenly music). Yet I find it difficult to describe how beautifully weighted and measured my code was to a potential employer without showing them. I am left with simply listing the projects I have worked on and hope they ask me an intelligent question that unleashes the true triumph of all my accomplishments.

Another problem is that a good developer, IMHO, is also just a good problem solver. I do not necessarily care that they do not remember the exact syntax of a command, or in the FizzBuzz example, whether they remembers how to use Modulus. My concern is what kind and variety of projects has worked on, does he know how to find answers and finally can he follow instructions well.

I think the problem is a two way street! Good developers need a good means to show they are good developers too.

"He was always late on principle, his principle being that punctuality is the thief of time." - Oscar Wilde