Wednesday, October 13, 2010

First Mover Disadvantage

If you are an IT developer or architect, I am sure this has happened to you - someone new comes along, looks at an application you built from ground-up with your blood and sweat, and says, "Hey, I see a lot of things that can be improved.." and rattles-off a list of things that s/he would have done differently, or, even more maddeningly, just dives in and refactors the code to make it obviously better.

You have had such experiences, you say? Me too. And no wonder, because that is the very nature of good software design and development - it is iterative. And you learn something new from each iteration. And by the way, this principle holds for any first-time creation - everytime you review a composition or letter, you find ways to improve it, everytime you rearrange your furniture in your home, you find better ways of utilizing space.

Therefore, as the first mover, the person who takes the first stab at writing an application, you are always at a disadvantage, because anyone coming later (including you yourself coming back and looking at it later) will have the advantage of hindsight, will see the problems that only come out after a system is in production, and will be able to provide improvements.

Should we stop being "creators" of software, and instead wait for others to make the first mistakes so that we can then come along and prove we are better by pointing out improvements? Absolutely not. Anyone who has written new software would laugh at that idea - they would know how it works - once you get into the creative urge, code just flows out. You do not care what the world will think - you are too engrossed in giving life to our ideas, in finding that perfect piece of syntax that would turn that complex algorithm into reality. And that is how it should be. And to top it all, the joy of seeing your own creation in action - the pride you feel when the application works perfectly or wows audiences and users - that feeling is worth a lot.

So, lets give full freedom to our creative urges and let the code flow freely from out fingertips - we will definitely love the experience, and the world will be a better place because of it. Yes, it will not be perfect. Yes, someone will always find improvements later that make us look a bit foolish, but who cares?

On the other hand, the next time you are in a position where you can cast a critical eye on someone else's original creation, please do keep in mind that you have the second-mover advantage, and that it is always easier to be wiser in hindsight. Lets learn from the mistakes of others who have walked before us, and be humble enough not to belittle their efforts. Sometimes, it is only because they have stumbled through the thickets ahead of us and cleared a path through the bush, that we get to stroll along and enjoy the natural beauty.

Monday, October 11, 2010

I am a blogger - finally!

Would you believe it - it took me more than thirteen years to get to writing a blog on the net! (Assuming, as most people believe, that web blogging first started around 1997)

No, I was never shy of either writing or technology - I have been writing since my school days, and I was one of the first to register on HotMail back in the early days when it was lauched.

So why did it take me so long to get on the blogging scene? Maybe I still like the feel of pen on paper. Maybe I was not ready to throw back the blinds and expose my half-baked compositions to the whole wide world. Maybe, being in IT, I wanted at least one aspect on my life to remain untouched by the ubiquitiuos computer. Maybe I was just plain lazy....

Anyway, that's history now. I finally decided to exchange ink and paper for font and editor - to watch my meagre contributions jostle for space amongst the online universe - a tiny, faint twinkle among the thousands of galaxies and supernovas.

Thus begins what I hope will be a long journey - a running conversation between me and you netizens out there. Wish me luck, please.