Nov 28, 2005

11 years later


Left to right : Deepankar, Nitin, Ashish, Leena, Vibhu.

With Ashish's bro.


Meeting friends after 11 years .

Ashish had called up to tell us that his bro was getting married, and he would like us to be there. I was not that much interested in the marriage as I was in getting to meet my old classmates. I had met Ashish in bangalore after joining there in WIPRO, and was looking forward to meeting them. Unfortunately not everyone was able to make it to the wedding.

Finally I reached the place in Vasanth Kunj , after spending close to an hour to find the place due to a barrage of weddings on sunday, and the ever helpful police instead of providing good signposts, just did what they could to make things more confusing by making roads oneways, and a very helpful response of "aage chalo" for any questions about the location.

Got to Anand Gardens and met Deepankar and Nitin. There has been a reversal of build. Deepankar who used to be a bit on the heavier side was now lean and trim, while Nitin - the excersise freak was all potbelly with a prosperous look about ! But what hadn't changed was the attitude. It was still the same as to what it was in school.

Unfortunately, a few other people who were supposed to come could not make it. But still felt good with just the 5 of us there.

Moving to MicroSoft

Time to relocate again. I am moving to Microsoft office in Hyderabad.

Mixed feelings really.

First of all I never thought that I would be taking up an offer from Microsoft. Not even in my dreams.

I still don't know whether I am making the right move or not. I am not 100% sure about joining MS, but I am 100% sure about leaving my current work place.

Again, as most of my friends know about me , I work quite a bit on Linux as a hobby. The computer at home has always been a dual boot system. I have worked on snmp and on freelords. I have been fed up of Windows, but still have it as I play a lot of games on it. Linux lags far behind microsoft when it comes to gaming.

So, how come a linux guy is going to join microsoft ? A friend asked me that, and I had to look back and reflect on it - how is it happening ? That has taken me to the roots of why I started using Linux. There were 2 main considerations : 1) It was free, 2) It was opensource.

1. The freeness
Living in India, a developing country, a middle class family does not have the money to buy much software. Rs3000/- for an operating system is quite expensive. Again, add to it the cost of 'essentials' like Office , Outlook and VC++ development suite - and you have to shell out much more than what you can afford. Costs of software can easily be almost double of the hardware costs. Actually, in the past few years the cost of hardware has been falling drastically here in India, and with a Windows only system, the cost of software is a deciding factor.
That's where the Tux comes in. Its free. You don't have to worry about prosecution from authorities from using pirated software.

2. The openness
As a geek, I like knowing how things work. I like taking apart stuff and seeing the internals. Linux and Opensource software appeals to that geek in me. When I had started coding my code was not really that great, but I used to think it was. Then I started looking at the way people code for the linux kernel , and I was left breathless. It was beautiful. And I have picked up techniques from there, which I probably would not have had i never looked at it.

So, how does this translate to MS.

Well, I think it would be great if I can see the source code of what most people use around the world. It would be great if I could fix a few things - cause that's the greatest grouse against Windows that I have.

However, I don't know how it would be in MS. Will I have access to the source code base ? Even if I do, can I put in fixes into the modules that I am not working on ? I guess I can only find out after I join.

There is a lot of discontent about MS on the net , the most prominent is the mini-microsoft blog. But, I guess its because with a company the size of MS will have discontent people - its inevitable. But, the company is still the biggest that is out there. For a person in the US, used to living in luxury, maybe their standards from the company are too high, especially after the google blitz. But for a person in India, MS offers quite a lot more than other indian companies.

I know a couple of friends in MS, and they ok with it. The interviewers were also above the level of the other interviews that I had. While most interviews for companies are more on the line of what I know ( rather they were more interested in knowing what I did not know), the MS interview was about getting to know what I could do. At some points it even left me a bit surprised. Working with the people who have set their standards high atomatically causes a guy to raise his standard.

The issues in MS may be very real, but I am sure that the learnings from there would be much more than any other indian company.

Some links about life in MS :

Nov 23, 2005

Reading List

One of my favourites ( must read ) sites has a list of books that a person aspiring to manage and lead a team would be interested in reading.

A Ninja and a Katana

Vipul and Umesh finally have gone ahead and done it ... a bike ride in US of A! :-D

Evertime I would go to US, I would keep cribbing about bikes and why i don't like 4 wheels - and it seems that I have convinced them finally to try it out.

Vipul's blog has the writeup : http://vipulpanchal.blogspot.com/

Nov 14, 2005

Programming, Metrics and Creativity.

I started writing code when I was in 8th Standard in North Point programming a BBC micro using LOGO. Computer Science was my 6th subject ( elective) for my 10th class board exams. That's where I learnt the history of computers as well as programming in Basic. While learning the history, I used to think why is it called Comp Science when we were also learning history. As part of project work I wrote a game - a totally original work considering that almost all the class was writing quizes based on multiple choice questions ( like KBC ) .

After that, people influenced my parents to get me to take Physics, Chemisty , Bio and Maths for 12th class ( I wanted comp science). So, the next 2 years were spent away from comps.

College came and I was in Electrical Engineering. During the classes on machine theory, I used to think how nice it would be to write a computer program to do all the messy calculations which I usually used to get wrong! After college I again started to work with comptuers by joining WIPRO as a systems engineer.

Now, 7 years later, I am in a managers role.

In India it seems that everything gets laid down the way it would be in a govt company. After 1-2 years you become a senior engg.. you work on stuff you really don't want to as the managers above you don't see what you can do, but just on the headcount in the project. In all fairness, I would say that I did have managers who understood what we programmers wanted and such projects always fared much better than those where Managers were only concerned about potraying the figures of the metrics council. However, at this time, I have become a manager as it was the 'right' thing to do ... in indian society parlance. And now, I am regretting it everyday.

Why ??

I think that the the whole problem here arises because people still insist on seing software development as a factory assembly line situation. They assume that every action can be broken down to the smallest activities which can be exactly measured in time. Why ? I think it is because computer studies is taken as a science - which by its own meaning means exactness. So, we have a large number of companies coming up which provide certification in the form or CMMi and TL9000 or ISO certifications.

However, that is not software development. Software is an artform. And art cannot be quantized. Its thoughts. You think of something and you create that. Its not a factory , as you are not repeating the actions over and over again. In fact, anything which can be repeated is programmed so that the program does it itself ( but here in India I still see a lot of things being done manually when they should be automated). Art always means that different people produce different stuff ( think Van Gogh , Michaelangelo ). Science on the other hand , by the way of deductions says that you will get the same answer ( output ) by whoever works - the basis on which the current system of companies are being built.

This is a basis for failure. Managers in companies think they can easily replace people ( a concept pushed by things like CMM), and it will have no repurcussions. But you cannot replace a Michaelangelo by Mr Smith. And the Michaelangelos of software will only be what they are if they are given the creative freedom.

Everytime a programmer writes code - he is creating something new. It may be similar to what was produced - but it is never same. Think of a car being created ... everytime a new one. That's what programming is all about.

Can the production industy predict how fast they can create a new car starting from scratch ? Nope.

Then why does this insane expectation from Developers ?

So, now we have substandard programs written under conditions of short deadlines leading to failed products. People get disillusioned and leave the companies to go to other companies and find better work conditions.

Look at the current condition in the software world. In india , developers would like to get into companies like Google - as they offer something every geek wants - freedom to be creative. In fact its because of this freedom that Google has grown. They did not give in to the demands of the corporates and have reached this pinnacle, and still seem to be going upwards. They have the policy of getting the best minds - birds of a feather - remember ?

But companies who are going the traditional way are having problems of attrition, discontent. Many companies in India also want to do everything the Microsoft way. They have a love for the MS Project software and try to use it ( unsucessfully ) to get things done on time. I once asked my manager why we use Project - to which he said it was the best tool available. If that was so - then why is it that the next version of Windows is now almost 2 years delayed I asked. He had no answer.

Companies and the current breed of managers seem to worship the tools and metrics. People come secondary. Creativity does not exist. And then people wonder why Indians don't perform in India but work better abroad.

Its a convulated world we work in.

Thankfully there are a few companies who seem to think the correct way. Google is one. Others I would like to work in are blizzard, fogcreek and Good .

Nov 11, 2005

The Evil behind Patents

You folks may have heard the word patent before. Its to do with inventions. More info can be found on Wikipedia or even on google.

What happens in patents is that someone invents something, and then claims the patent for it. This is meant to safeguard the interest of the inventors, as it makes sure that other people don't pawn off his inventions without giving him his due.

However, recently, with the spate of patents going on, people are begining to wonder if it is actually a good thing or not ?

Case in point - an American firm tried to patent Basmati rice - a stable rice in India. Thankfully, the Indian govt. fought the patent. However, this is just the tip of the iceberg. Many companies just file for patents not to protect the IP but for making money. The open source community is vehemently opposed to such patents as in the case of software patents they say that it prevents the exchange of ideas.

They do seem to have a point , as patenting software is to patent thought. Its like saying - hey, i had this thought - so you cannot think that. If you think , you pay me !! Absurd ?

All this is obviously going to have a repurcussion on further R&D as you cannot legally go ahead with something if you use some idea that is already patented. The AAAS took up a survey and these are the finding :

A total of 40% of respondents who had acquired patented technologies since 2001
reported difficulties in obtaining that technology. Bioscience respondents working in
industry reported the most problems, with 76% of those reporting that their research had been affected by these difficulties. By contrast, only 35% of university-based bioscience respondents reported difficulties that affected their research.
Of the 40% of respondents who reported their work had been affected, 58% said their work was delayed, 50% reported they had to change the research, and 28% reported abandoning their research project. The most common reason respondents reported having to change or abandon their research project was that the acquisition of the necessary technologies involved overly complex licensing negotiations.
More links from there :
Complete report
Executive summary
More on this report

Now, i don't know about you, but I feel that this kind of problem should be looked into. If patents are stopping us getting better products - should we not relook at them and fix the current way they are happening ?

Nov 7, 2005

Geeks will inherit the world !

Found an article on managing geeks .

Another interesting article that I stumbled upon is this gem of a short writeup on "How software Companies die".

Joel also has an interesting article on VC funding and why he did not go for it.