My good friend Zed Shaw wrote a recent blog post called (warning contains bad words but we're all adults - right?) "Rails is a Ghetto". I really don't do anything (yet) with Ruby and I actually debated writing anything on it.
But I feel I must if for no other reason - Zed is one of my closest friends. I've know Zed since he was at University of British Columbia and I was starting at WebCT. He was doing really cool work on early Web Services and uPortal. I literally talked my management to paying my way to a uPortal conference (luckily uPortal was aimed at higher-ed and WebCT was too so wasn't too much arm twisting) just so I could meet Zed.
Zed is by far the best programmer I know. He's usually thinking 3-4 steps ahead of anyone else - which is why I think there can be some friction.
Then when this post came out - I was really worried for him. I felt bad - I didn't know exactly how lean those early days with Ruby were. And I wasn't sure if this post was too wise.
But then I watched another episode of Anthony Bourdain's No Reservations on Travel Channel. Which then reminded me of his first book - his big break - "Kitchen Confidential".
Which effectively was Bourdain's rant against food industry and many people (including himself) thought would kill his kitchen career.
But the opposite happened. While Bourdain was never the best chef - he understood food and passion for food. That good cooking actually was an expression of culture that could be portable even as people immigrated from one land to another. That the real sign of a good cook wasn't the ability to fire up a grill and cook a good steak - that's easy. The real trick is to take the parts that aren't so good (aka "The Nasty Bits") and turn it into something not only edible - but awesome.
I now view Zed's post as his version of Kitchen Confidential. Yes - it's crass. And no it's not for everyone. But he's being honest and it has re-opened discussions that probably should have happened before.
- Like - is RoR really about Ruby or is it really more about that we need to simplify some tasks in Java.
- How to be better prepared if you take on a consulting gig
- How programmers are NOT cogs. You can't just rip one developer out with another and necessarily expect the same productivity