Sunday, January 18, 2009

The ultimate code generators from India

My new company specialises on a hot topic (maybe termed a hype few years from now, as it happens with many things that appear cool initially in software). The new coolness has a techie name - "Model Driven Software Development (MDSD)". And the hype that it is building is, everything should be a model, very much skimpy!

The heart of MDSD are "code generators" or "transformers", which takes a model as input and gives another model (or text) as output. They are dumb in the sense, they know only the model that comes in and they are cool in the sense, they give consistent output.

One of my German colleagues said, "Indian Software Engineers are the best code generators". Initially I thought, it is a complement for the wonderful job we do in the bluechip workshops of Bangalore. But didn't take me long to realise what he meant. 

Tell me what exactly I should do, I will make the best software. But I only will do what you ask me to do.

Another colleague of mine cited an example of working with a team in India. He asked the team for a new feature  in an existing tool - "Copy/Paste". The feature was delivered on time by the team, in the backdrop of glorified CMM L5 processes. The feature worked perfectly, covered all possible combinations of Copy and Paste. When he looked for a menu called "Cut", it was not to be seen. In the next team meeting, one the the team members promptly clarified, "but you asked only for Copy/Paste". 

We needn't think up to eternity, but a little, laterally.

I guess this traces back to our educational system. We study "exactly" what the text book says. And if something outside that appears for examination - "Out of syllabus, Sir!"

I needn't hide the fact that, I was the technical lead of the "Copy/Paste" team. I helped the team with what "exactly" they wanted. And we delivered "exactly" what the customer asked us to. 

No wonder we are "the ultimate code generators from India".