Just finished the regular Sunday interviewing session. An unusually good interview round, with 3 job offers going out after 10 interviews. Our average is 1 out of 10. Strangely enough, I don't feel so elated. Not sure why. Perhaps it was because the most impressive candidate on paper (all the right open source buzzwords) failed miserably at all the non-programming problems we gave him. Also tried a new tack learned from a recent Motorola acquaintance - trying to encourage interviewees and give them hints when they struggled with a question. Unfortunately, it was all the more depressing because the ones who _needed_ the hints typically couldn't do anything even when given the hints.
On the other hand, the last 2-3 days has been very good as I follow the progress of one of our trainees. Fresh out of college with no working experience, this trainee was added to one of our projects a month ago. For the longest time, relatively simple tasks took 1-2 weeks to complete. I wasn't disappointed since I expected the trainee to take quite some time to learn the technologies we used, but I was hoping that it might be a bit faster.
Like a dam bursting, that breakthrough happened 3 days ago. From 2 weeks to complete a task to finishing 2 tasks a day – I was amazed. Not too often that I get patches faster than they can be reviewed from any developer. Not only that, but the trainee was refactoring crappy code in our code base, producing high quality code I would have expected from someone with far more experience. Ok, so I did casually suggest those refactorings, but all the same, it was a very encouraging development.
That leads me to another tangent – some of our best people were underemployed before we hired them, due to that horrible 'working experience' requirement. Our best junior developer was working at McDonald's before being hired here! Too many could not find a job fresh out of school due to lack of working experience. We have reaped good benefits from hiring fresh graduates - eating the cost of training them for the first few months and reaping the rewards of hard-working developers with the right 'can-do' attitude. But if we hadn't hired them, their skills would have gone to waste. What a waste that would have been ...
Of course, we have had to eat the cost of losing some of these trainees who left for greener pastures the moment they became minimally functional. That is a challenge that every company has to face though. Hiring and retaining good talent is hard and we have only begun to build a corporate culture that is conducive to this.