The hundredth monkey
There is a certain species of monkey that lives on two different islands. The two groups of monkeys that live on the two islands are just alike, the same species, the same basic environments, and hence, the same basic lifestyles, but the two islands are far apart, and the monkeys don't swim, so there is never any contact between the two groups. One day, on the first island, one of the monkeys somehow makes a discovery that by taking a piece of the fruit which is their main food down to the water and soaking it, it becomes much easier to peel. This is a wonderful discovery, a real breakthrough. Soon, the other monkeys on the island begin to catch on, and learn this helpful new technique. Now, although this species of monkeys may have lived for generation upon generation on these two islands without making this discovery, now that it has been done, by the time the hundredth monkey on the first island has learned it, there will be monkeys doing it on the second island as well.
[Snipped from http://www.hootenanny.com/hoot/3/sheldrake.html]
I have always had my own doubts about the hundredth monkey principle. Does a “collective unconscious” really exist? Do morphogenetic fields influence human behavior? Can one's perception resonate with the vibrations of another's consciousness? Are there inexplicable forces acting within a community which lead to collective behavior?
Perhaps. What else can explain the incessant urge to blog that I have been experiencing of late? So intense that I tracked down Daniel and pestered him till he set me up on this site. And strangely, Java developers around the world seem to be doing just the same. One look at Java.net , JavaBlogs or Jroller can provide enough testimony. Perhaps it's this collective blog-urge of the java developer community that is making me write this blog.
Anyways, this being my first java blog (rather my first blog ever), I have decided to shamelessly indulge in egotism. I started programming in Java four years back, for reasons banal. It was a cool thing to boast about; and there was good money involved. Period. It was not for the love of the language or OOP or platform independence or anything else remotely connected. These were things that never ever crossed my mind at that point. I just didn't care. I just coded for food and it meant nothing else.
But then things changed, as they very often do. I was put right into the middle of a roller-coaster of a project juxtaposed to some of the most dreaded geek demigods in the company. I felt disgusted, not as much by the neck-breaking speed of project execution as by the ridicule I was subjected to. The weirdos (they really were!) laughed at my exception handling, mocked my naming conventions and scoffed at the way I designed interfaces. I dreaded, desperately but unsuccessfully tried to avoid, each and every code review session I was subjected to.
Necessity is also the mother of toil. My blood boiled for revenge. I needed to prove that I was no less a mortal. I bought the best Java books, read whatever I could lay my hands on and started programming with a vengeance. The words of Bruce Eckel, Jason Hunter, James W.Cooper and the likes constantly echoed my mind.
And it worked. Not only did start I coding better, I also started enjoying it. I began to adore the flower braces, the try catch blocks and the switch-case statements. I reread the concepts, but this time with a genuine interest. I could appreciate the nuances of the language and the remarkable effort that had been put into designing it. Singletons were now my friends and I felt at home with facades, adaptors and decorators. I had learnt to love programming.
And here I am, today, with almost the same fervor I had four years back. Well, I never became a great programmer. I don't even know if I am a good programmer. But what I do know, is that I genuinely love to code and continue to remain passionate about it. Maybe I will continue to code for a long long time. Maybe not. Time alone can tell. But for now, I am here to stay ... code .... and blog.