Shortage of Rails Developers Not Considered Harmful
Recently, there has been some discussion around the apparent difficulty some companies are having finding Rails developers. At least one blog post makes the assertion that this shortage of devs is inherently bad for the Rails community, arguing that companies will ultimately decide to go with a different technology (PHP, .Net, etc). While this may be true, I do not subscribe to the notion that this is detrimental to the community.
A Developer’s Perspective
The first question I ask myself: Would it be better if the situation were reversed; that the market was saturated with Rails developers, and there were not enough jobs to go around? This is the predicament that too many people face in this country today, and I consider myself fortunate that there seems to be plenty of work to go around in this field. Sure, I have to put up with the occasional — okay, daily — clueless recruiter, but if that is the price I have to pay, I will gladly take that over the alternative. In a perfect world there would be exactly one job for every worker, but this equilibrium isn’t ever going to happen.
If a company does not have the patience or time to invest in recruiting Rails talent, and they ultimately decide to go with another technology, then that is probably not the kind of company I want to work for anyway. I want to work for a company with high standards and conviction. I want to work for a company that cares about its employees and wants them to be happy. If you visit the Rails web site you will see the mantra: “Ruby On Rails is an open-source web framework that’s optimized for programmer happiness and sustainable productivity” (emphasis mine). I am not saying that a PHP or .Net programmer cannot attain workplace happiness; there are certainly other factors than the programming environment such as office culture, compensation, etc. However, I have never met a Rails developer who coded PHP, .Net, Java in a former life ever say they wanted to go back. And I haven’t met many Rails developers that don’t enjoy what they do. They may not always love their job or the clients they work for, but they generally and genuinely enjoy writing Ruby code.
What Should We (Developers) Do?
Evangelize. Mentor. Show off. Prove the naysayers wrong. The “Rails can’t scale” myth has been debunked by now, but there are still non-believers. Though I am not on the “Everyone should learn to code” bandwagon, I do think there are plenty of people out there who you can take under your wing, show them the ropes, get them excited, and perhaps alter their career path.
What Should You (Employers) Do?
One idea would be to hire at least junior level developer for every senior developer; or even an intern. The point is that the senior developer would act as a mentor for less-experienced developers. This mentoring can be via pair programming, or by having the noob work on some minimally intrusive “low hanging fruit” features or bug fixes. In my experience there is a constant backlog of would be relatively easy wins for a new developer to knock out. This eases them into the codebase without overwhelming them, and builds up their experience and confidence. In the end senior person is always responsible for reviewing their changes before merging them into the master branch.
If you are a company looking for a senior Rails dev — Go to the local RUG. Get your name out there, and be creative about it (Monkeys and Robots are a good start) Get to know the professors in the CS department of the local University. If you must hire a third party recruiting firm, make sure they at least know what Rails is. Be diligent; be patient; don’t give up if someone thumbs their nose. After all, the best things come to those who wait.