Thursday, November 08, 2007

Despised Software Luminaries

This morning I spent some time thinking about how software luminaries are generally loved or hated.

I've always been confused by people who really dislike Martin Fowler. Personally, I find Martin to be quite nice, but even if I didn't I would find it hard to disregard his passion for improving software development.

Obie Fernandez is another luminary who generally evokes love or hate. I'm friends with Obie as well as people who dislike Obie. Obie detractors often ask: How can you put up with him? The question is mostly targeted at Obie's passionate communication style. I've always thought that what Obie has to say is what's important, so I don't really care how he chooses to communicate it.

As I've gotten to know an increasing number of luminaries I noticed that things don't change at the top either: several of the luminaries seem to love and hate each other.

Why is it that software luminaries elicit such passionate feelings? I believe it's because software development (at an advanced level) is art. It's hard to find developers who can agree on architecture and it's hard to find artists who can agree on the best painting of all time. There is no right answer, it's contextual and subjective.

I also believe that luminaries (unconsciously) perpetuate the disdain with their passionate personalities. For example, a Martin Fowler averse developer once told me that Martin lives in a Java only world. If you read Martin's material you know that isn't the case; however, Martin does use Java examples very often. I don't think Martin uses Java because he prefers Java, I believe that Martin is passionate about reaching as many people as possible and therefore must use a widely known language. Unfortunately, the developer didn't see it from that perspective (I believe) because he was so focused on Ruby being better than Java that he was ready to dismiss anything pertaining to Java.

Software is an art and luminaries are passionate, I don't expect either of these things to change in the near future. Thus, I expect the disdain to remain as well, but perhaps being aware of the origin of the dislike can lead to a bit more tolerance within our passionate, artistic communities.

8 comments:

  1. Hmm ... I'm gonna have to disagree with your calling Fernandez a "luminary", and certainly he's not nearly as prominent as Fowler. Not yet at least.

    Everyone has heard of refactoring; only Ruby people (and a few Java folks attracted by his flamebait that one time) know who Obie is.

    Martin Fowler has written five books, two of which are hugely influential. Obie Fernandez has one, as-yet-unpublished, book.

    Etc. etc.

    Don't get me wrong -- Obie is smart and interesting. I read his blog; I will buy his book. But he's not even close to Fowler's "luminary" status yet.

    ReplyDelete
  2. Obie is a "luminary"? :-D Since when?

    Some trivia, the word "luminary" is used here (Bangalore) in some "agile" circles to characterize any *westerner* who speaks in public. No idea why.

    ReplyDelete
  3. Joe,

    I may have been a bit loose with the term luminary. I generally think of a luminary as someone well known. Obie is well known in the Ruby/Rails space.

    The definition of luminary isn't so important to me in the context of this post though. I'd say the post applies to those with software fame, even if the fame is within niche communities.

    Thanks for the feedback though.

    Cheers, Jay

    ReplyDelete
  4. Luminary: One prominent in a particular sphere.

    That was the definition I was working off of.

    Of course, I'm no authority on luminaries.

    I think you can take the post and apply it to any luminary and it will likely fit.

    Cheers, Jay

    ReplyDelete
  5. Take it from someone who has made many of the same mistakes as Obie in the past, and likely will in the future: Obie has to take responsibility for his communication style, as do I...as do we all.

    Communication is an art too. I used to think that how I say something shouldn't matter, as it is what I say that is important. I realize now how truly dead wrong I was. But it's hard to explain why. So, let's take a software development approach to it.

    Why do we write clean, readable, quality code? Why do we value Ruby's expressiveness? Certainly we can write code to achieve the same result in C, Java, LOLCODE, whatever. As software developers, we value how the code is written, not just what the code achieves. Ultimately we care because we're writing the code not just for the computer, but also for other developers to read and understand.

    Certainly you, Martin, Obie and almost all luminaries earn their ranks on the subject of code quality, cleanliness, patterns, and practices -- the how.

    Why should we (software developers and luminaries alike) disregard the how when programming in the language of humans? When programming the emotions of the person we're talking to?

    Emotions are the foundation of the points we're trying to deliver. Just like a solid code base is necessary (or at least preferred) to extend new features into the software.

    In a sense, our communication style - the how - is our code. The point we're trying to deliver is just data.

    Right now, far too many software developers and luminaries have bad human emotion coding practices.

    Clinton Begin

    ReplyDelete
  6. It's great fun to read Linus Torvalds' posts on mailing lists. He's obviously an incredibly brilliant guy, and personally I rather enjoy his snarkiness. If you disagree with him, then - by definition - you're stupid and ugly.

    I don't mind the way he communicates, especially because you can tell a lot of the snarky comments are tongue-in-cheek or lighthearted. Maybe it's cultural, but I think it makes the guy interesting. I like it when people who feel strongly about something aren't afraid to speak passionately. It's ok to be polarizing -in fact I think if you aren't polarizing you're probably not worth reading. We have to be careful not to flip the bozo bit on people just because we don't like how they express themselves.

    Personally, I like to read both Martin and Obie's posts - and while I won't always agree with their positions I'll never be bored reading their books.

    ReplyDelete
  7. I'd recommend "Analysis Patterns" to the person who thinks Martin Fowler lives in a Java only world. It's my favorite book of his, and not just because it's in Smalltalk.

    ReplyDelete
  8. I believe this blog post by David Heinemeier Hansson addresses your question Jay:
    http://www.loudthinking.com/posts/16-kathys-zones-of-emotion

    Being either loved or hated may actually be a measure that the person is in fact a luminary.

    ReplyDelete

Note: Only a member of this blog may post a comment.