Monday, May 5, 2008

Love thy critics

Summary: Don't hate your critics; you can learn something from them.

If you follow technical blogs, you must have heard the news about stackoverflow.com: a recent joint venture between Jeff Atwood and Joel Spolsky. If not, here it is in a nutshell: about a month ago, two of the most popular technical bloggers created "a programming Q&A site" which is "by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming knowledge in the world." The new site is still at an early stage, but hopefully it will continue the traditions of Coding Horror/Joel on Software and turn into the source of knowledge and entertainment for programmers and other tech lovers.

I'm delighted that my favorite bloggers now produce podcasts and other technical content together, but I'm even more fascinated about the personal dynamics between the duo. In case you are not familiar with the story, Jeff has not been always kind to Joel. Not long ago, he called Joel blind, illogical, and just stopped short of calling him insane. In fact, he did call Joel insane... right before posting this picture:


If you look at this story closer, you will realize that I did tweak the truth a bit. You see, Jeff did not actually call Joel blind, illogical, and insane in general. No, sir. He merely implied that certain technical decisions made by Joel could have been characterized as such. Do you see the difference? Joel did, but many software professional don't.

After having worked in IT for over a decade, I witnessed numerous times how technical disagreements produced animosity between otherwise rational professionals. So it's refreshing (and encouraging) to see Jeff and Joel embracing their technical differences. This is how grown-ups behave.

Note to self: next time you hear people criticizing your technical position (your design, code, chosen methodology, etc), or call you (technically) blind, illogical, or insane, think about this:
  • It is not personal.
    They are not trying to make a fool out of you or ridicule you; they just don't agree with your technical position. So do not fall into a trap of making it a personal issue between you and them. Although they may be fighting for their opinions for personal benefits, it's most likely that they want the best outcome as much as you do, so don't treat them as personal enemies.
  • They may be right.
    Don't assume that you know everything. Try to find out if you are missing something that they take for granted. Biases are sticky. They may be genuinely misguided, but so may be you.
  • Be gracious.
    Take a deep breath and stay cool. Be mature. Be patient. Do not call names. Don't make personal attacks even when being attacked. Don't whine. Whether you are right or wrong, you may lose. If you lose, don't be bitter. Don't seek revenge.
If you are surrounded by people who always agree with you, you are limiting your personal and professional growth. Instead, foster relationships with bright people (colleagues) who are not shy to criticize you; they will make you better. And in the meantime, check out stackoverflow.com.

Additional references:
Introducing Stackoverflow.com
Stackoverflow.com

No comments: