Sunday, August 29, 2004

“Programming is fast becoming a commodity” - that's what I hear very often these days. Most of my current work involves building frameworks and ready-to-use code, with simple front-end wizards for programmers to use them in projects without really needing to use their brains.

How cruel!? And how murderous can that be for computing!? - This is what I can hear people like Rosh say when they read the first paragraph of this post.

I tend to disagree a bit. Programming as a commodity is sure happening. All around us. Last week I finished setting up our division's knowledge portal - a common place for artifacts, code snippets, etc. (This was in tune with the vision discussed in para 1).  Doing that would have typically involved a lot of ASP and VBScript coding five years ago. Now, I had to setup Microsoft SharePoint Portal Server and get the whole thing configured and running and even launched in just a matter of hours. That is how programming is getting commodotized.

Available technologies have also increased the need of productivity and delivery far ahead than what it used to be once. We do not have the luxury to allow programmers to do trial-and-error anymore. We need them to deliver code, and deliver it fast, and deliver it flawless, and deliver it adhering to best practices, and deliver it with good commenting, and deliver it with documentation, and deliver it with all test cases passed. The average programmer of today is fast becoming a mechanical robot following rules, rather than a thinker who is hacking away at code.  It is true. I know some very smart people who get out of college into large corporates and are trained on Java, J2EE, .NET, Oracle, DB2, Mainframes, and what not - all in weeks and they finally end up doing some PowerBuilder 6.5 coding on some “new” project their company just bagged!

Rant! So what exactly was the exciting bit in the title?

Long ago, when I started programming, it always felt that I was too late. I didn't want to be here with the browser wars and the graphical OSes around me. I wished I was in that age when PCs were still spreading and people were busy exploring the likes of DOS.

Of late, I see myself in another exciting phase of computing. We have evolved ourselves from a time where we required punch cards to feed instructions to mechanical monsters modeled on loom machines.  We have come to an age where we have cellular phones capable of doing super computing. 

Technology is evolving at a pace much, much higher than the pace at which it evolved a decade ago. This clearly has set the platform for the ideas like those mentioned in The Road Ahead. From here, it is just a point where technology becomes a complete commodity.

Where people will not have to be geeks (or even a percentage of a geek) to use technology. Where people will not have to know how to boot a system and get connected to the Internet to say, browse information.  Where technology will be a slave delivering itself to the whims and fancies of its masters.

And the most exciting thing of living in this field today is that we are at an arms length from this future. In addition to that, we are at an arms length of what we left behind. So if there was a mid-point in evolution (oxymoron?), we are there!

Feels good to be where we can still look back over our shoulders and see little cards with holes and look over the horizon and see embedded chips supplementing the mentally handicapped. This sure is exciting!