This is probably the most blogged topic ever, but let me try to reiterate it.
I find it interesting that some of the companies or recruiters I had to work with actually place more emphasis on the claimed skills of the individual, rather than the individual's mindset.
Why is the mindset important?
Going back a few years, I was actively interviewing candidates for Java Developer positions. After the initial round we dropped only the ones who couldn't talk at all. I realize that everyone can have a bad day, but those people were actually unable to communicate.
In the second round, they had to solve a problem in front of the computer, without any time limit or restrictions. They were free to ask questions, search on the web. The task was not a hard one: it involved writing a servlet and a JSP. Basically the candidate passed, if he was able to Google "servlet jsp tutorial". The results were astounding:
- majority of the candidates have given up after 5 minutes;
- most of the rest were unable to find the solution on the web;
- some of the rest were able to solve it.
The demography of the results were also very surprising to me:
- fresh graduates who worked on thesis related to the field were unable to solve it;
- people with years of experience were unable to solve it;
- usually random people without proven experience or degree could solve it.
Going back to the mindset
The fizzbuzz example is a similar problem; people with degrees or experience can't solve a problem that involves simple concepts.
And I think it is not the degree or experience that corrupts people, it is the mindset of the people involved (being affected by the other people at the company or university/college).
I have seen people get high and proud doing their thing at a company, and it is fine to a degree. The danger rears its head when these people want to move on and realize that there is a whole different world out there, with acronyms they never heard before. And even for a J2EE developer, it is very unlikely to find a job that requires to do the same thing as before.
Therefore it is necessary have a mindset that embraces new things, is open, receptive and pragmatic. This is sometimes visible in job posts like this Atlassian one.
Going back
I come back to my first statement: I feel that some companies I interview with in Hungary are not actually interested in my mindset, they are interested at static evidence that may or may not mean what they think. I feel that it won't make that much difference to a team if I am the best EJB guru ever born (I am not). I feel that it is more helpful to have someone who can see the concepts and intents of a system. If that is given, I don't feel that it matters what technology we are talking about, since technology can be learned (fast).
I am not saying that companies should not require proven experience from candidates in areas they will work with; I am saying that the focus should not be exclusively in that area.
I feel that these companies would be much more productive if they would hire people who are open to new things. Rands called them volatiles.
I feel like I have to emphasize that I don't think people with proven static experiences can't be volatile or pragmatic. I just think that the recruitment process should assess those qualities as well.