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...
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.