cvsdave - you make good points, which obviously come from experience. As I mentioned before, the mediocre programmers are the life blood of the industry and not much would get done without them. They should be encouraged and mentored and they should try to determine if programming is a good choice for them. As I said before, if it’s not a good choice, they should go on to something else. I don’t believe someone’s career should be something they hate, but do anyway for the money. Those who love programming will enjoy their career, but those who don’t should go on to do better things - like become managers who work better with the IT department, or something else that gets them off. I see a lot of people out there plugging away at jobs they hate, and I realize a paycheck is important, but I don’t see much potential in those people, and I would rather mentor and encourage people who love programming, but simply need experience and guidance to become great.
IMO, when a person shows up for an interview, and they can’t even code Hello World in a language they claim to know, they are a fraud, plain and simple, and they don’t deserve a job flipping burgers, much less a job on a team which needs to get stuff done. We’re not an educational institution, and we’re not in the business of teaching programming. However, if someone came in for a job which was clearly entry-level, and they were honest and said they didn’t know much programming and really wanted to learn, I might take them on and help them out… but they would need to have some skills which can benefit the company, or not expect to get paid. We don’t have interns here, but we do have volunteers, and if you really want to learn something and you’re starting from scratch, a volunteer position might be a good way to go.
This blog post isn’t about the non-hot-shots who aren’t in the top 1% - it’s about people with no skills at all, and who really are wasting your time in an interview. Those people should be applying for other jobs, for which they have the skills. There needs to be some method of filtering these people out, and simple programming tests are a good way of doing that - and I don’t think they should be trick question types - they should be essentially Hello World type tests, just to eliminate the fraudulent applications. The rest can be determined pretty easily in an interview.