Ships and lighthouses, on Rails!
Een schip op het strand is een baken in zee.
[A ship on the beach is a lighthouse to the sea.]
- old dutch proverb
Steve Yegge, one of my developer idols, has accomplished quite a feat, demonstrated at Foo Camp; porting Rails over to Javascript. However, this task took him 6 months and 2000 hours, according to John Lam, who created RubyCLR.
His two most recent blog posts, a tad obscure, were about the difficulties he encountered and some of the learnings he obtained from the experience. If you haven’t read Yegge before, his often comical approach makes him a pleasant read, with enough material dating back to the Amazon days to last for a couple of months.
This brings me to ponder on a few things:
I assume Yegge’s development effort is not to grow developer *hrm* appendages but to save other developers time in the future, a noble endeavour. Constructing software of this compexity in this short amount of time does lead me to think it has been rather grueling, and the evidence is in his mysterious tale about magic marshmallows. Should we celebrate the 11 daily hours of sweat Steve + team endured (or enjoyed) or rather despise the heroic effort of a few?
It is perhaps my software engineering formation that shapes my beliefs, but I am not the only one to think there is something to be said on this topic. I do concede that reality might require different courses of action than what is good in theory, however it does make sense that a series of burnouts will not yield any positive consequences; how does decreasing motivation, (perhaps) lowered code quality and increasing reasons for frustration within the organization measure up with a repeatable, more predictable process?
I am not criticizing Yegge or undermining any of his achievements. He remains one of my inspirations. However, as a follow up to his post on agile the Google way, this DOES smell like “bad agile.”
PS: On a side note, this is also another indication that Google is not the Valhalla of software engineers that people make it up to be. The truth is, it is Yet Another Software Company (YASC - I just invented that term, pay me royalties) facing the same, very real problems.

Monday, June 25th, 2007 @ 12:18 pm
June 25th, 2007 at 4:30 pm
Very well put, Olivier. You must be the first person that I come across and who do not idolise Google and their programmers. There are so many other capable developers out there, including Microsoft’s own John Lam and Scott Gu. Novell also has Miguel de Icaza and the rest of the Mono team who implemented Moonlight in 21 days.
June 25th, 2007 at 6:08 pm
Thank you for you comments, Eddy.
I agree there are very good developers elsewhere. However. while I am sure Google is an awesome place to work at, my rhetoric about the Googleplex goes deep into my developer bones.
Software development is mostly a problem of human proportions; the chaos in our minds, the garbage that comes out of our mouth and all that don’t make it to our brains from our ears. We are imperfect machines, working imperfectly with each other trying to produce code as perfect as it can be.
Should we praise heroes? Should we think about standard development processes? To me, THAT’S an interesting problem to solve.
June 26th, 2007 at 7:02 am
To be honest, I’ve never looked at software development in this light. For me, good programming is all about expressing a problem in a way that can be translated into instructions for the computer as simply as possible.
I don’t think we should praise heroes, but we should take inspiration from those who have achieved great things. We should not follow “standard processes” but rather adopt best practices that have been proven. What works at Google will not necessarily work in another organisation. Processes should emerge and evolve naturally in a given environment, and once they have developed, they cannot be transplanted somewhere else without that new environment having the same conditions for them to work.
June 28th, 2007 at 11:13 am
The best developers in the world can be sidelined by the environments they work in. It is very impressive that companies the size of Google or Microsoft can still get anything out the door. So many companies half their sizes get bogged down with the “corporate” nonsense.