Programming platform experience is like knowing your way around the kitchen. Where are the knives, what size plates do we have, and what spices are available. It’s very useful for getting things done without having to search high and low for every little thing. But it’s also an asset with a cut-off point of diminished returns. Once you have a reasonably good idea where things are, it’s no longer the bottleneck in your culinary performance.
Like chefs, like programmers. Peopleware quotes a study that six months seemed to be the cut-off point for programmers. Once they had six months under their belt, the platform knowledge was no longer the bottleneck in their abilities.
That sounds about right to me. That’s how I felt it going to Ruby. In the beginning, I would constantly be looking things up. Trying to internalize the idioms and not merely convert previous patterns to new syntax. But after about six months of exposure, I knew where things were. What tools to reach for. Yes, I kept on learning (and still do), but the difference between now and then is not all that dramatic.
Which leads me to my point: Requiring X years of experience on platform Y in your job posting is, well, ignorant. As long as applicants have 6 months to a year of experience, consider it a moot point for comparison. Focus on other things instead that’ll make much more of a difference. Platform experience is merely a baseline, not a differentiator of real importance.
In turn that means you as an applicant can use requirements like “3-5 years doing this technology” as a gauge of how clued-in the company hiring is. The higher their requirements for years of service in a given technology, the more likely that they’re looking for all the wrong things in their applicants, and thus likely that the rest of the team will be stooges picked for the wrong reasons.