RailsConf '09: What professionalism is about
May 12 ’09
Robert Martin's keynote at RailsConf this year, though ostensibly about SmallTalk, was really about professionalism. Many people are talking about it, but I think there's part of the message that everybody missed.
Looking at the ideas behind the questions in the last day's keynote, it's pretty clear that people in the Rails community are worried about Rails becoming too complicated. Take, for example, the infamous "are you going to let Yehuda turn Rails into Drupal" question.
That's an easy answer: "No!" I'm not even close to the core team and yet I know the answer to that. The concern is because Rails is becoming more complicated than it is. As of Rails 3.0 the framework will offer choices, whereas now it offers none. Building the infrastructure into the framework to allow that is hard. That makes the code base more complex. But, that doesn't mean that using Rails will necessarily become more complicated.
I welcome this change, because of one way that Robert Martin defined professionalism. He said that the Rails community must be willing to solve the hard problems, and that's part of being professional. If we don't, other people will, and we'll be left out of the party. He's right, too. The world is made of complex systems, and if we don't model those systems in Rails somebody will do it in Hibernate or Django or some other web stack, and we'll be those snobs who ignored the hard problem so that we could write a service for Twits.
If Rails wants to be taken seriously, it must start addressing the complexity that enterprise-level systems frequently come with; if it can't, it'll never be more than a hobbyist's framework.
Thankfully, the Rails community is taking those steps, or, rather, is being dragged kicking & screaming into taking those steps by the core team.
I love Rails. I use it every day at work. I model complex systems with it. It's pretty good at it, but not great. I'm glad that the core team doing what it takes to make Rails a more professional framework by putting the ability to handle complexity in to it, while at the same time caring for those users who don't need it.
Start the conversation
* indicates a required field








