Hi, I'm not a senior developer so I almost skipped your post, but now I’m glad I didn’t. Actually I believe this kind of a question and some follow up questions could be very useful for juniors as well. You see I think that when you ask a junior developer to tell you about a project he really enjoyed building, he will either talk about an assignment project which he did in college or a personal project with which he was playing around. If he starts talking about some personal project then I really believe he likes writing code and also he is probably a self-taught… Also I must agree with Hezek1ah, I think that he would really enjoy talking about this topic.
Regarding the FizzBuzz test and its variations, this tests are not suited even for pre juniors… any fresh programmer who is preparing for an interview will stumble upon this and learn it. I have encountered this few times, you give a simple problem which needs to be solved and if your candidate is successful with accomplishing this you presume he knows the basics. But sometimes the problem is that these candidates have an interview mentor which will get him prepared for this kind of questions, but he will not know how to use this knowledge in real scenarios.
In these cases this test will not give you any good insight on his coding capabilities, so a good approach would be to give candidates an online programming test from which you could easily eliminate even the candidates that are bad programmers but are familiar with a FizzBuzz test, for example we used a Java programming test to filter out candidates which are not fit for this job.
I've worked in very few team environments, and I've written a great many apps on my own time at home using my own resources. My favorite project of all time is the one I did when I was just starting out, and earned me the user ID I use here. I wanted to change the colors used in the Turbo Pascal 2.0 IDE. Someone told me that it was impossible, so I went ahead and did it anyway, just to prove that it could be done. That was almost 30 years ago.
BTW, I've been using C# for more than four years. Before that was 16 years of C/C++, and before that was 6 years of Pascal and about 4 years of assorted other languages. As far as subject matter knowledge, I've done radar tracking, asset tracking, estate planning, charitable giving, troop readiness tracking, real-time image acquisition/transmission, embedded programming, real-time video encryption/streaming, telecommunicaions billing, ACH transaction management, and currently, financial management.
I've written commandline and UI apps for both DOS and Windows, TSR's (remeber those?), Windows services, web services, asp.net apps, legacy asp web sites, a couple of Silverlight modules, and a couple of WPF apps. I don't believe in specializing because each job has always required a different skill set, and usually meant I had to learn something I didn't already know. I guess I fall solidly into your "athlete" classification, but that only makes sense since I've been doing this for over 30 years (and no, I have no desire to be a manager - yet).
I'm completely self-taught (ragarding everything I've done since 1981), and my least favorite part of an interview involves test questions. I hate 'em. I long ago stopped trying to remember everything I ever did or saw. Google is my reference and I use it - a lot. My fading memory has forced me to become a copious commentor in my code.
Thank you. Fizz/Buzz (aka Fizz/Bang) is also a fun one. I wrote about interviewing in my book Agile Development & Business Goals (http://www.amazon.com/Agile-Development-Business-Goals-Solution/dp/0123815207/ref=sr_1_1?ie=UTF8&s=books&qid=1304168999&sr=1-1), in addition to topics like compensation (http://www.codeproject.com/Tips/150008/Agile-Development-Environments-and-Developer-Compe.aspx) and how to physically structure the work area.
Very good, my 5 Though it might be worth noting the ever famous FizzBuzz test, probably the first question you should ask after they told you about their project: http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/
Having done many interviews, I gotta say this is a good question. Open-ended, gives the applicant the opportunity to display their knowledge without looking boastful, gives a good indication of their analytical ability, and most likely gets around stage-fright since they'll be by definition talking about something they're enthusiastic about. And if they can't get enthusiastic about anything with this kind of lead, they're probably just a careerist.