Tuesday, October 03, 2006

English and C (Again)

In a post, a few months ago, I drew a few parallels between programming skills and language communication abilities.

That these two are different is very obvious. But what strikes me is apparent lack of appreciation of the fact that programming is not about syntax, its about encapsulating complex concepts in an intelligible depiction. (Thats exactly what language -- as in English language -- is all about.) Also, language skills are vital not just for communication but for thinking also.

Bad communicators can be good programmers -- I know and respect a lot of such people -- and many good communicators would be scared of programming. What's important to realize is that these skills are complimentary: one can reinforce other.

Tuesday, June 27, 2006

Professionalism@Advaiya

'Professionalism' is an oft-heard word here. This is mostly used as a catch-all term describing whatever is expected from any team member. But we do have a definition, a description of our culture.

We have identified three important tenets. We believe that these three aspects cover, at a high level, what our customers can expect from us, what Advaiya expects from its team members and the values that guide our day-to-day conduct.

The first is: being result oriented. Our efforts must lead to a tangible output. An honest failure after best efforts is a tangible output. We normally call this as a 'deliverable'. We realize that for a deliverable to be produced, we need to go through the process of defining it, creating the same, validating it and presenting it in a usable manner. This simple process applies to every granule of output we work for. Commonsense, yes. But this explicit exposition helps us to deliver results.

Second: excellence. This means not just putting in best of our capabilities but also being aware of the quality in what we do. It requires us to be appreciative of whats good around us and understand the importance of standards and best practices. This also means that we have to strive for continual improvement and, at an individual level, learn continuously.

The third aspect is effective communication. We have learnt that success in what we do depends a lot on consistent and relevant communication with all concerned. We understand that honesty and integrity are key to effective communication. We also realize that for communication to be effective, it has to simultaneously inform and influence. In our daily practices, this means that we manage expectations, are open to feedback and maintain a trail.

Obviously, its this very professionalism that gives us the confidence to perform.

Friday, April 07, 2006

At Microsoft

Past few days, I have been at Microsoft. I attended the Office Developers' Conference and have been co-ordinating work for certain O12 (MS Office system 2007) related assignments that our team is currently working on.

This is my first time at Redmond. I have worked with Microsoft India but 'MS Corporate' is, well, different. One learns a bit or two about capitalism here. The nature of our involvement here has also allowed me to gain some insight about Microsoft's (famed) marketing. Its amazing to see a very large corporation with numerous independent teams and hudreds of often overlapping (and sometimes contradicting) products actually present a convincing unified personality (which one might choose to hate). That Microsoft is not a traditional command and control corporation, probably makes it even more admirable.

The highlight has been the new Office '12'. It is exciting in its scope and possibilities. O12 does provide most of the missing pieces in the knowledge worker empowerment story that Advaiya has been standing for all along. I see times of great fun at Advaiya!