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.