My organization has been looking for software developers and developer/managers for quite a while now. We have outsourced HR searching and screening for us and we've posted on craigslist in the area we are searching.
I do the technical interview. The technical requirements are ASP.NET/C#/SQL and the interviewees that make it through the initial filter look very promising on paper, but over 90% of them do not get it... There are people with 10+ years of experience and masters degrees in comp sci that cannot answer simple questions...
- describe the collections primitives/classes in your language (of choice when they don't know c#) and when each might be appropriately used
- what's an interface and why are they important?
- what's normalization and why would you normalize (and why would you denormalize)?
So, to those who can answer these questions without looking anything up or even giving a second thought - where do you post your resume?
Please don't actually answer the questions or ask for clarifications. We've got a small shop and I want to create a strong team with no dead weight. The funny thing is that one of the hires we've made was an auto mechanic with no college degree and less than 4 years of development experience. He got all the questions right, had a great attitude. I had to reach pretty deep to find the question that made him say - I don't know. BTW - this is a trick some of us interviewers use to make sure we don't have a BSer. There is so much to know in our field, even if we are highly specialized, that there will always be things we don't know. Over 80% of people try to BS when they don't know, versus admitting that they don't know...
Resolved:
It doesn't look like there is an answer to this question. It's somewhat comforting to know that we are not alone, it's a bit disheartening that the pool of talent available is not what one would expect... I wonder if MSFT/GOOG/AMZN snap up all the good young ones.
As a sidenote - we found the talent from outsourcing to other countries (India/Ukraine) is comparable with the U.S. in that you get what you pay for... I've rewritten 2 applications that have been outsourced to India. The programming was cheap, but the work that we paid for was comparable to what I imagine an evil genie would give you. They never questioned specs or asked for clarification and gave you exactly what was specified - especially when it was wrong. The strong developers from overseas were more expensive than local developers when you factor in the fact that you need a fulltime P.M. to manage the time/language/culture differentials.
I'd like to thank everyone for sharing their experiences.