PORTLAND, Ore.-At the RailsConf conference about the Ruby on Rails Web development framework here on May 30, Rails’ creator David Heinemeier Hansson gave a rousing keynote that had him part motivator, part life coach and part therapist to a crowd of developers seemingly hanging onto his every word.
In essence, Hansson called on Rails’ developers to become more like “renaissance” developers and take the time to learn more about the profession rather than just code galore. He admonished the audience to learn more about the business side of the technology industry, as well as to learn design. Perhaps most interesting is that Hansson told the developers they ought to program less and get more sleep.
For his part, Hansson was trying to tell developers how to become better people, but also better programmers by broadening their horizons.
In his talk entitled “The Great Surplus,” Hansson spoke of how Rails after five years still maintains a “lot of surplus productivity over other languages,” although mainstream environments dominate the industry. Yet, the Rails’ surplus is not unique in that other environments also provide surplus productivity, “but they don’t have whatever it is that makes it go green; we have something we can sell.”
Hansson said what makes Rails a blue-chip technology is actually a handful of things, including that the Rails’ community has confessed commonality, ceded flexibility, and decided tech matters. He cited Ruby creator Yukihiro Matsumoto’s motto that Ruby is designed to make programmers happy. Regarding ceding flexibility, Hansson said that “people like choice a lot better than having to choose.”
However, the bad news is that the surplus will not last forever, Hansson said. He predicted one of three things will happen, including that the mainstream companies and technologies will copy Rails and the productivity surplus provided by Ruby on Rails will be over. However, “I don’t have a lot of confidence this will happen,” he said.
Another possibility is that another dramatic alternative arrives that provides better productivity for Web developers. “But you can’t out-Rails Rails with a 5- to 10-percent increase in efficiency,” Hansson said. Although he noted this was a more likely scenario.
The third possibility is that Rails becomes mainstream, “and you lose your surplus because everybody else is working on it, too.”
Essentially, Hansson said Rails’ days at the top of the Web development productivity and efficiency heap are numbered. But instead of exhorting developers to continue to put in exorbitant amounts of hours, work 110 percent and try to become superhuman programmers, Hansson said just the opposite: Overworking yourself can only lead to “fatigued, disinterested and passionless” developers.
Instead, Hansson said Rails’ developers should be “doing a Dubai” and investing in something that can outlast Rails.
“Invest in yourself and in becoming a better ‘mensch,'” he said. “With this surplus, you should have that extra time to be able to invest.”
Some programmers are 10 times better than the average developer, he said. Yet people are not born rock stars. “You learn everything; the thing is you have to learn to do that,” Hansson said.
How to Become a Better Programmer
He said there are various techniques to becoming a better programmer. For one, “you have to recharge tangentially,” he said. “You have to do something else instead of sitting in front of a computer all day.” Hansson cited folks at his company, 37signals, who are into whittling, playing musical instruments and learning to fly.
Taking a swipe at Google, Hansson said, “Some companies say we’re going to give our employees 20 percent off … to do more programming.”
Meanwhile, he told the audience to sleep more, to “stop trying to be superman by working fantastic hours,” and to read more paper and not so many RSS feeds.
Moreover, the programmer that is 10 times better does not necessarily write 10 times more code that the next person, Hansson said, calling on the audience to “program less. We write way too much programming instead of writing the right things.”
Other advice Hansson gave was to have developers start from scratch more often and to start sharing.
“The purpose of playing this game well is to be able to get the best position in the next game,” Hansson said paraphrasing a famous quote: “So the amount you can invest right now in setting yourself up for the next game is worth it,” he said.
Hansson said that 37signals has instituted a four-day work week and he has seen no drop in productivity. “How does 20 percent less time matter … if you have programmers who are 10 times better than average and you have tools that are so much better?” he asked.