Regarding training/interviewing, I just think about this awesome Steve Yegge post: <a href="http://sites.google.com/site/steveyegge2/practicing-programming" rel="nofollow">http://sites.google.com/site/steveyegge2/practicing-programm...</a><p>"It's a bit easier to tell if someone's in great shape physically than if they're in great shape mentally. You can't just stare at their brain and hope to find a six-pack in all those folds. It's easy to tell how physically fit someone is. You can make people run laps, lift things, take their physical measurements, etc.<p>But for determining someone's mental fitness, you pretty much have to interview them. It it's hard to do a good job of it, since it's like running backwards in front of the person, egging them to go faster. You have to be in pretty good shape yourself to be a good interviewer."
Standard practice at my company: interviewees pair with a developer for a week before being offered a job. Preferably, over the week, you'd switch pairs at least once or twice.<p>If we don't hire you, we pay you as a contractor for your time. If we do hire you, we pay you either as an employee or contractor for your time (depending on what our accountant says).<p>We'll bend the rules depending on circumstances, but basically you're not getting in unless you spend 30 hours pairing with our devs. Anything else, I propose, can be hazardous to the culture and effectiveness of your company.
In a previous life, I was a C# dev for fat client windows apps. Without any serious web development experience, a Django shop took a chance on me, and I learned the whole stack on the job. I feel comfortable saying they were happy with my work, and I came out of the experience with a new set of skills, a new career really.<p>All that to say, I'm a big proponent of taking the time (and yes it does take time) to find out if somebody is smart and willing to learn and leaving resumes with #yrs experience in technology X to the HR monkeys. If a skill is in demand, a latent expert is of much higher long-term value than a present one.
It's an interesting idea, but I can't help but think after reading the following that the post is just fantastically subtle PR.<p>"Today I had an epiphany. Maybe the right thing to do is to enroll prospective job applicants in some kind of low-impact training as part of the interview process. If the training were given in a part-time, online format (like we do at CodeLesson)..."
Before I was hired for my current company, I given a quick tutorial on the programming language (used in company) and had a quiz afterward. It's a great way to see how fast someone can learn and see them apply that knowledge. It was a great opportunity for me was well since it allowed me to show I had potential.
IIRC, this is how AOL used to work. Everyone started in the call center. After 6 months, you could start working your way up, and many people went into QA and programming from there.