Monday, July 23, 2007
The Business Advantage of Rails
It's important to realize that the greatest strength of Rails is not what but who. Rails places huge emphasis on making programmers happy. What makes programmers happy? Elegant systems which make them productive and take tiresome, tedious bullshit out of their daily lives. People who value that are the people you want to hire.
The technology you choose will shape the people you hire, and the people you hire will shape your culture. People who get tiresome, tedious bullshit out of their way forever are great people to work with. Conversely, tolerating tiresome, tedious bullshit without ever fixing it is absolutely not a character trait you want your hiring process to be biased in favor of. Think about the effect that this decision has on your corporate culture. You want to bias your corporate culture against wasting time, and against putting up with problems that could be solved gracefully and easily. It is infinitely easier to bias your organization's culture in favor of these traits by hiring Rails programmers than it is to filter Java programmers for those same traits (for example).
Joel Spolsky's hiring rule is "Smart and Gets Things Done". The implicit hiring rule if you're hiring a Rails programmer is "Smart, Gets Things Done, and Is Happy." This is very very much better, as a hiring rule. The reasons are utterly simple. Interacting with other people is a huge part of working. Corporate politics are inevitable, because politics is really just the art of getting people to agree on what they're going to do. But even though corporate politics are inevitable, dysfunctional corporate politics are not. The politics of happy people are infinitely preferable to the politics of unhappy people.
It sounds touchy-feely but "Is Happy" should be a hiring priority right up there with "Smart" and "Gets Things Done", and Rails is one way to make that happen. Programmer happiness is a guiding design principle in both Ruby and Rails. One reason people work with Rails is because they value their own happiness. If everybody you hire prioritizes their own happiness, the corporate culture which results will probably be a healthy one. If you want to get something done, give it to the busiest person you know; if you want the process to be fun, make sure the busiest person you know is also somebody very happy.
Posted by Giles Bowkett at 11:15 AM