Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How to hire a Rails developer (matschaffer.com)
50 points by matschaffer on April 12, 2011 | hide | past | favorite | 14 comments


I think your final point is the most valuable takeaway here. That's usually the biggest differentiator to me between "good" and "great" developers. The good ones are usually passionate about a particular technology and know it like the back of their hand.

The great ones approach things from a the perspective of "what is the correct tool for this job." They're not firmly in the Ruby, Python, Java, or .NET camp - they approach each technology as a tool in a larger tool belt and bring out the appropriate one for the task at hand. These people also tend to keep up on the latest and greatest - much like people who collect and maintain a garage full of physical tools - great programmers generally maintain a mental library of great programming tools (languages, libraries, frameworks).

Partisan allegiance to any one specific technology rarely indicates overall mastery of the field - at least in my experience.

There are obviously plenty of exceptions to what I've said - but this has been my general observation.


This is a very big problem: the constant focus on tools and specific technologies instead of looking at the people and their abilities.

A great developer will always be able to pick up a new language/framework/paradigm quickly. So if you plan to have a longer relationship with your hire, you can by all means afford not to check every bullet point regarding technologies. By strictly requiring explicit experience in the fields you are working in, the only thing you really accomplish is to drastically reduce the number of possible applicants.

For example, since Django is still a lot less common than Rails, if you need a Django developer and specifically require Django experience, you will not have an awful lot of candidates. If you broaden your search to anyone with experience with a web framework, you are almost guaranteed to attract some more good candidates. Once you screen those, you pick the best. Best case: he/she was already familiar with Django, congrats to you. Worst case: the dev was not familiar with Django, but still a better fit than ALL the candidates with Django experience. Sounds like win-win for me...


I think us developers all tend to know this. But for some reason most employers still don't get this. Almost all job listings look for candidates with specific experience in technology X, rather than just all around smart and able people. When I am job hunting these types of employers are an immediate turn off for me, but they are by far the majority. I wish we could succeed in convincing employers to look at the bigger picture.


While I agree that you probably miss out on finding a lot of great candidates, there is a significant advantage in finding someone that already knows your chosen platform.

Already knowing the OS and Tools allows a new hire to focus on understanding the business domain quickly. For some companies, that's far more important than raw technical ability.


The "quickly" argument is a strawman, if you plan on having a working relationship that lasts longer than 3 months or so. If you just need someone to upgrade your current Rails 2.3.8 project to 3.0.6 and then move along, by all means get someone with Rails experience.

But if you intend to employ that person longer, the specific experience is of diminishing importance.


That's why I usually try to describe myself as a bard of programming. Pick a language. Pick a framework. I know enough to get started, and I know where to find answers to my questions.


This might be another incarnation of the "Nobody ever gets fired for using IBM" phenomenon. HR are more likely aiming at avoiding errors, and not necessarily hiring the best people possible, if those come at a risk. So you can always say "but he had x years experience with Rails" if the hire doesn't pan out.


I think it is a bit nuanced; I wouldn't dismiss a candidate outright if they called themselves a rails developer.

Instead, can they show that they have the ability to chose the right tool for the job, be it a database, a language, or simply a plugin? Sometimes a job candidate will "brand" themselves in a way which doesn't fully express their skill set.


Interesting post, though I don't agree with the last point. A good rails developer will present himself as a rails developer, even if he does other things. A typical rails app includes html, javascript, maybe even xml or some other fancy stuff, so a real rails developer is always a bit of an jack-of-all-trades.

Btw, outside US, it seems like it is the other way round. I develop rails apps and have trouble finding work at the moment.


I don't think it's a good idea for non-technical founders to specify the framework.


Step one: hire a good developer

Step two: give 'em a "Teach Yourself Rails" book

Step three: wait two months


This is a very good point. It's absurdly easy to learn, even if you're still learning programming. It must be a doddle if you're already extremely experienced.

(This is not meant as a slight against rails. On the contrary.)


(This is not meant as a slight against rails. On the contrary.)

Exactly. Rails is good because it's easy. That doesn't mean that just anybody can write a great program using Rails, though, it merely means that who can write the best program becomes about who is the best programmer, not about who knows the most about Rails.


Thats a lot of effort to put into getting a rails developer. Just imagine if you needed two or three.

I particularly like the last rule. Never hire anyone who claims to be a rails developer, hire an erlang dev and you are set!




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: