We have been meaning to write a post like this for a long time but have never really had the audacity to do so. We thought the time is right to do it after a lot of stories we have been reading recently.
Over the past few months we have been seeing more and more articles, reports, tweets and basically any other form of communication where people are really putting down other products, methodologies or even other people. I myself have been guilty of this in the past but I felt as though I had to “grow up”. As We started speaking at various events and talking with other speakers, we saw that we needed to change this attitude; to learn to see issues as not just black or white but grey also.
We feel that, as software developers, we all can create an aspect of crap software. There is no-one on this earth that will create perfect software in their first attempt. This goes for the bigger software houses as well – Microsoft, Google, Novell, IBM etc.. but this doesn’t stop us from striving to do so.
Unfortunately the industry we work in seems to thrive on companies trying to make out their product/software is better than the product/software of another company, although this may be standard marketing practice it won’t necessarily help gain users since when we developers get our hands on it we can very quickly determine if it is any good or not.
One of the worst examples was witnessed earlier this year during a well known conference. A well known team directly demoed their product against a competitor product and pointed out all the wonderful things that their new product will do over the competition. Whilst the new product may be good, people on Twitter were quickly able to determine the veracity of the claims and tweeted with relish when one was found to be false.
We see other examples of this with developers having problems with TFS in comparison to Git/Hg/SVN, we see it in Win Phone 7 compared to iPhone/Android, HTML5 compared to Silverlight. Its everywhere! Its frankly becoming boring to read, see or listen to. Who are we to tell a company that their software is crap? Or that the software I use is better than what they product?
Continuously criticising something in public, yes I’m looking at you tweeple, just makes you look small for not being able to deal with whatever tool a business has decided to use. You may not like something and you are entitled to your opinions, you can tell the business that there may be something better, but if the business has made an investment and isn’t going to change then just shut up, sit down and do your job.
If you keep banging on about how something is bad or a complaining that a situation is unjust then it just starts making you look small, better to keep quiet and demonstrate through actions how there is a better way to do something and talk about the positives, generate a buzz about it and grow support to help you overcome the issues that you are seeing.
Our thoughts are subjective – so what’s good for me is not strictly good to you. Our code may be good to us but may be bad for you. I think we all need to get off our high horses and just let people make their own decisions. We, as professionals, should deliver our opinions and then leave it there.
Thanks to Nathan Gloyn for being guest co-author for his post. You can find out more about Nathan at his blog – Design, Code, Release. Also need to thank Dan Kendall for reviewing our post and to keep it from being too wild :)