Yesterday, I attended an interview where I was asked to design a air-traffic control system. I designed one and the interviewer was sort of happy. On the way back home, I reflected on the interview. My thoughts went to my favorite topic of innovation.

Without innovation, we would not have a aeroplane. Innovation is about finding something new and perfecting it. But, of late, I have to admit that innovation is not everything.

Today, air travel is safe. This is because of the efforts of well-trained engineers making a Boeing or an Airbus. It is because of a lot of well-trained maintenance staff who do all the checklists to ensure a safe travel. Every organization needs a handful of innovative people and a whole lot of process-centric, skilled people. A software product is no different from an aeroplane.

A software product must be new and satisfy a valid customer need. Innovative minds should work together to come up with a new product idea. But, once an idea is formed, we follow all kinds of design patterns, to ensure that the software product is maintainable and usable. We follow good processes to ensure that the software product satisfies the customer need. We need both innovative people, skilled people, and process-centric people to come up with a good software product.

There is also an other side to it. Innovative people and process-centric people specialize in what they do. Rarely, they understand each other. Why is that?

Innovative people need to break a few rules. That is when you come up with something new. Innovative people understand that rules and processes exist to satisfy a need. There could be multiple ways to meet the need. So, the existing process is just a convenient or effective way to do a certain thing.

Process-centric people are a different breed. They like to do things as perfectly as possible. A process, once defined, should not be broken. It can be replaced by something new and better. They are experts in following process.

I belong to the breed of people who like to try new things. I believe that nature evolved because of trial-and-errors. Evolution is not planned. If it were planned, monkeys would not have tails. I also believe that there exists a framework to do the trial and errors. If trial and errors were chaotic, there would not be any gravity. (I believe gravity evolved). OK, I am sure that you would have lost me by now. So, I will cite a concrete example.

A lot has been invented by trial and errors. Before Edison came up with the electric bulb, he failed more than a 1000 times. The framework of coming up with an invention through trial and errors is just plain logical analysis. The above examples are given to justify my stand of trying out new things.

I definitely do not belong to the category of process-centric perfectionist. But, I do follow process. Over the past few years, I have found one major weakness of the process-centric perfectionist. The process-centric perfectionist extend their process-centricity to human behaviour. They demand a level of behaviour among their co-workers that is sometimes simply annoying.

Is it not common to find managers who appreciate well written emails, polished and respectful conversation more than well-written code? Being a person with an innovative bend, I do not have much rules. But, I have one rule which I will definitely follow: Avoid the process-centric perfectionist. If you have to deal with one, deal with him or her with utmost seriousness.

This was the train of thoughts that came to me on the way back from the interview. I felt that it was worth a post.