I did it wrong

The Ruby community is a well known for at least two things: being passionate and being arrogant .
Two characteristics that often go together but I am not going to defend or justify anything in this post, instead I will try to reflect on my own experience and will share with you my own view point.

Very much like the Ruby community, I am also quite passionate and can be arrogant at times. A few months back I was in Brazil for RailsSummit and I was chatting with David Chelimsky after a nice evening with the RailsSummit attendees. I was thinking about how cool it was to have people from various non-Ruby communities to come to a Ruby community and share their experience and knowledge while observing the ways we do things with Ruby.

David and I got to talk about technical evangelism, how RSpec became very popular, the whole Merb vs Rails situation which turned into Rails3, as well as MacRuby and Apple. I was interested by the fact that I couldn’t remember David ever saying something bad about test/unit or trying to tell others they were doing it wrong. Instead, he has always tried showing why people might be potentially interested by RSpec.

As an early RSpec adopter, I often thought that people were wrong not to use the solution that I thought was the best. As part of the Merb ‘propaganda’, we spent a lot of time comparing Merb with Rails and showing why Merb might be better for you and why you were doing it wrong if you would fit in Merb’s target and still use Rails.

Even before that, I remember thinking that if you were not using Ruby, you were doing it wrong. PHP & Java developers were, for me, just developers who did not know any better (and I thought that Python-ers were just too lazy to learn a “better” language that takes OOP seriously ;) ).

Since then, things have changed. I have gotten involved with other projects, met different people and maybe, just maybe, matured a little bit. Going back to the discussion I had with David, he pointed out to me how often people talk about a piece of technology or an idea to just quickly conclude: “it sucks” and it has got even worse lately with the ‘you’re doing it wrong ‘ meme.

Basically, we judge people’s actions without knowing them or even having a clue about the problem they are facing and we just tell them that if they don’t do like us, they are wrong. If they are not using this plugin or this gem, they are doing it wrong, and if they are using this other one that sucks, they are also doing it wrong. Also, be careful, something that’s hot today will probably turn out to be ‘the suck’ soon enough, keep up with what the cool kids tweet about ;)

But of course, this is something human and much bigger than the Ruby community. Look at the whole SQL/NoSQL pseudo fight and you will notice the same attitude. Look at the editors war, look at the OS war or even look at the TV with shows like ‘Marriage Ref‘ making money off of people wanting to prove their partner that he/she is doing it wrong. But that’s also the root problem of most religion wars and even the motivation for some people to go ‘invade/colonize’ other countries to eventually force their world vision upon them.

I realize the irony of writing of blog post to tell my readers that telling others that they are doing it wrong is, in itself, fundamental wrong, but maybe next time you think something sucks or is totally wrong, you might want to try to understand the motivation behind why some people decided to go this way. I know I will personally try harder.

Similar Posts
  1. #1 by Hampton Catlin - March 16th, 2010 at 02:40

    I will absolutely 80′s slow-clap for that one, Mr. Matt.

    Different technologies, different ideas, different approaches, different *problems*

    Like, I’ve had more people guiltily tell me “I don’t use Haml”… like its some kind of insult. As if during a casual conversation I was going to quiz them on syntax or something. I don’t *care* if you use Haml. Positive or negative. I mean, thanks for supporting something I liked, but you know, if you like erb… then great! Maybe you don’t use the same style HTML as me… that’s cool! Haml has some neat stuff if you want to look into it, but yeah. I don’t care.

    And then one that I get the most gasps from myself is that *I don’t test* my application-level code. I test libraries I write. I don’t test my applications usually (unless there is an often breaking area). I once had someone tell me to my face that they stopped respecting me when they found that out.

    I’ve had people tell me my code *must* be crap because its not tested. They had the confidence of a political zealot. No other information was needed for them. They didn’t ask “wow, why not?” or “how do you cope with breakage?”.

    I never say people *shouldn’t* test. Sure, if it works for you go for it. But don’t slam me around because my code works. I serve 20 million uniquely generated pages a day on Wikipedia mobile and about half the tests fail right now. But, the site works.

    Aaaanyhow, people need to relax. This job is fun. Learning is fun. Doing things different should be *fun*!

    So, Amen Matt. Amen.

    • #2 by Matt Aimonetti - March 16th, 2010 at 08:38

      Thanks Hampton, I actually have another draft post talking about testing and your specific case ;) I still need to work a bit on it, but interacting with you definitely helped me see things differently, I realized not everything is black and white.

  2. #3 by Mark Carey - March 16th, 2010 at 07:23

    I think the key in your blog post is the issue of maturity. As you go on you realize there are no silver bullets, and that a healthy dose of pragmatism is often required to deal with a problem. You can’t always do it right, and many times just doing it (wrong or right) is better than not doing it at all.

    @Hampton I think many people forget that a synonym for agile is flexible.

  3. #4 by Renae - March 16th, 2010 at 08:45

    I love the comparison drawn between tech evangelism and religious evangelism. But, dare I say that the difference is that in religion, evangelism is pointless because the premise is entirely faith-based and unscientific to begin with. In technology, evangelism helps to elicit the creation of and adoption of newer and potentially better products and methods. Which ultimately leads to advancements. But that brings us back to the age-old question, is advancement even a positive thing?

    But it’s nice to see the Ruby community acting less volatile. I’ve noticed a change in the level of pretentiousness in the last several months and I like it! :)

  4. #5 by Chad Fowler - March 16th, 2010 at 08:53

    Well said. I agree but constantly need to be reminded.

    Thanks for the post.

  5. #6 by Julio Javier Cicchelli - March 16th, 2010 at 09:46

    Usually, developers see just a tree instead of seeing all the forest. Probably this is the reason why its very common to listen to developers making this very same mistake time and time again. These particular situation goes against what our job is suppose to do: a problem can have different solutions which can be implemented in infinite ways.

    This maxim shows you that there is no good or wrong way, there is your way and that’s it. If you feel comfortable with a certain language, a certain database engine or a certain text editor, then it’s great. After all, they are just tools that you use in order to provide a solution to a problem.

    Usually, sharing experiences with fellow colleagues in a respectful environment should make you think if my way or their way can be improved for the better but sometimes you always find that guy that says “Microsoft sucks”, “PHP is bullshit” or “Relational databases are useless”. Experience tells me that try to reason with this kind of guys is usually a waste of time so you just leave him/her alone. Voila!

    Antagonizing can be fruitful for a just a mere few (not you, usually) and it will sure leave you with your nose against the bark of a tree instead of sit back and enjoy the whole view.

  6. #7 by Mark Turner - March 16th, 2010 at 09:51

    Great Post Matt. I’ve been in quite a few conversations over the past few months where the guys chatting are afraid of talking about something they worry isn’t cool enough to bring up. I hope they just start talking about it and quit worrying about what the other people think.

  7. #8 by mlambie - March 16th, 2010 at 10:16

    Very well said Matt. You’ve wrapped up my thoughts nicely.

    I think there’s a fine line between assistance and ego and people need to tread carefully. A new community member simply might not know the alternatives. Even if they do, choosing something different to you doesn’t make it wrong. In fact, it probably makes your choice better, because of the competition that alternatives cause in their niche.

    Once again, a great post.

  8. #9 by Techdoer - March 16th, 2010 at 11:02

    Thanks for the post Matt. I read “Spirit of Sympathy” just today and your post and Brook’s article (http://j.mp/ap4glJ) complement each other nicely.

  9. #10 by Marcelo Silveira - March 16th, 2010 at 12:37

    Good writing. The community really needs this kind of conscience. Thanks.

  10. #11 by shane - March 16th, 2010 at 13:09

    Covey also said it well with “Seek first to understand, before being understood”

  11. #12 by Brandon Hauff - March 16th, 2010 at 13:26

    The same seems to happen anytime someone mentions that they develop on Windows. Luis Lavena would argue, along with myself, that you can build great apps from Windows too (not that everything is roses in Windows land). Thanks for the article.

  12. #13 by Felipe Pedrini - March 17th, 2010 at 03:27

    Nice post. It’s just part of the human nature: choose its favorites and fight for it (even if the person is completely wrong).

  13. #14 by Electron-libre - March 18th, 2010 at 03:45

    Congratulations , you’ve just wrote a nice encyclopedic definition of what “Troll” mean.
    I hate Trolls

  14. #15 by Matt Pazaryna - March 19th, 2010 at 06:20

    A great post and very encouraging comments from the community.

  15. #16 by GlennR - March 29th, 2010 at 23:55

    Great post. Always nice to get a fresh (and sound) perspective.

  1. No trackbacks yet.

Comments are closed.