Skip navigation

It’s the Values, Stupid

The most important part of Martin Fowler’s recent post on the “is Microsoft losing their Alpha Geeks” thread is:

My colleague John Kordyback pointed out that at the heart of all this is realizing that Ruby is not Yet Another .NET Language but a whole community and attitude to software development. Ruby is a community where open source, agile thinking, and lightweight solutions are deeply ingrained values. He says a common problem in Redmond is that “They ask me ‘Why is this language important’ rather than ‘Why is this thinking important?’”

Can anyone argue that Rails, not Ruby, is the real success? It’s a community runtime; it supports the value system of the people. It is not for love of the language. It’s for love of the productive elegance: coding to live over living to code. Jean-Paul Boodhoo’s Building a Solid Core post sums it up A-OK so I won’t harp on when I can just invoke the JP macro (CTRL+J, jp, TAB).

One more thing. I see this notion of “Alpha Geek” as an anathema to the Agile way of life. Can we please drop the Alpha from Alpha Geek?!

In the Canis Lupis social structure there’s always a top dog (actually two, one per sex, but you get my drift). A given gray wolf community has a process in place for enforcing its social contract aimed at increasing survivability or, put in Agile terms, sustainability:

Rank order within a pack is established and maintained through a series of ritualized fights and posturing best described as “ritual bluffing”. Wolves prefer psychological warfare to physical confrontations, meaning that high-ranking status is based more on personality or attitude than on size or physical strength. Rank, who holds it, and how it is enforced varies widely between packs and between individual animals. In large packs full of easygoing wolves, or in a group of juvenile wolves, rank order may shift almost constantly, or even be circular (for instance, animal A dominates animal B, who dominates animal C, who dominates animal A). [Wikipedia]

We, attempting to be civilized creatures, can get our eats at Whole Foods (or the bodega on Loisaida as the case may be) and any competition for genetic dominance can reasonably take place outside of the software development sphere. What works for for the wolf isn’t necessarily what’s good for the cross pollination of ideas, innovations, and view points. I’d argue that the “Alpha” part puts it spot on; people of this ilk often self-identify with the wolf model and it’s really not all that necessary or wanted. See Evan’s recent annoyance with the alpha baditude:

That is, unless you are one of those “jumping ship” to leave MS and all us “Morts” behind.  I won’t be following you.  The .NET jobs are paying really well right now, and most of the self-described “alpha geeks” I’ve met in the wild are a pain-in-the-ass to talk with, let alone work on a team with.  It’s typically either their way or the highway.  They know everything and you suck.  Screw that mentality.  I do hope all the alpha geeks migrate to RoR.  I won’t miss the attitude.

Let’s not forget that Courage and Respect are two of the core values in eXtreme Programming. Have the courage to stand up to the ego-driven alphas. Better yet, demonstrate leadership yourself through respecting and listening to other people around you; you’ll grow yourself that way. Don’t get me wrong, I love a passionate argument, but we can check the Simpsons-Comic-Book-Guy personality disorder at the door!

Dialectics, baby. Dialectics… 

4 Comments

  1. Posted June 5, 2007 at 5:36 pm | Permalink

    Wow, pretty powerful post, dude.

    I have to agree that at times, it’s the technology/platform that “makes the language”… have we forgotten VB6 and COM?

  2. Posted June 5, 2007 at 11:40 pm | Permalink

    Hmmm… we use a lot of Ruby at Dovetail, but no Rails. For us, testing with Watir and RSpec is where the love is, and that love is made possible by the clear-thinking that Ruby provides. Rails has the spotlight, and for good reason, but you might also say that Rails is a harbinger for possibilities that a number of frameworks and tools that are enabled by Ruby-thinking. After all, it’s “RubyForge”, not “RailsForge”. Now that the software quality problem is in decline for test-driven customer-centric teams, the next frontier is syntax, baby - and that means DSLs. Ruby is one heck of a great language for harvesting DSLs from model-driven efforts.

  3. Dave
    Posted June 6, 2007 at 12:14 am | Permalink

    @Scott - Sure. My argument is simply that Culture reigns supreme. Dovetail, I’d wager, knowing you, has cultivated a strong development culture and it’s the values of this culture that have lead you to the frameworks, tools, etc. You guys are crushing on Ruby as it enables the expressive, low friction, forward motion lifestyle. On the fx-specific tip, I’m with you… RSpec (not Rails) is my litmus test for IronRuby.

    @Javier - True, true. I want to put my code in the container not put the container in my code!

  4. Posted June 6, 2007 at 1:25 am | Permalink

    I think this post is right on the mark, however, I’m not sure how economically viable joining the community on a professional basis will be in the short term. If the MS stack does happen to be a community embraced platform, it will make things a whole lot easier–especially from the employer/client’s point of view. People talk about sorting interviewee’s for the good ones. Right now, it’s even harder to sort out the employers/clients for the good ones. There are a lot of people talking the agile talk right now.

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*