| >You generally need to bring an applicable skill to the table immediately on hire. I don't really understand this mentality unless you're talking about the first 5 employees or so. If I find someone who is otherwise great, but has experience in PHP, and my team uses Ruby, I'd rather hire that person now and spend a few weeks getting them up to speed. The alternative is to spend even more time waiting for the perfect candidate to come along who can hit the ground running. You touched on my next point a bit when you said a proven generalist. I think that if you have a strong grasp of CS fundamentals, and 5 or 10 years of experience, you should be able to pick up enough of almost any imperative language to be productive within a few weeks. I don't often use Python, but I do have years of experience with C, Ruby, Java, C# and others. The first time I needed to use Python I was able to pick up enough to get by in a weekend. The first time I used haskell, now that was a bit different. I'll leave this here. http://www.jasonbock.net/jb/News/Item/7c334037d1a9437d9fa650... |
When you hire a PHP person to join your Ruby team, you're making a bet that they're able to ramp up on the new environment as readily as you and I might. I've seen great engineers fail to make leaps exactly like that one. The weirdest things can hang some up, and it can take quite a while to recognize and address the issue. It can cost quite a lot more than holding out for the right candidate. Sensibly or not, that's a risk that a lot of employers aren't willing to accept (or maybe aren't able to).
What mitigates the risk for these employers is if the candidate has other ready skills or has a track record of picking up plethora of skills like "C, Ruby, Java, C# and others" as you describe. I tried to express that in my original comment, but maybe didn't do so as clearly as I'd hoped.