If you have been following me even casually, you would know of my obsession with understanding and applying models. Accurate modeling helps in efficient understanding of the situation, stops us from reinventing the wheel, reuse solutions that have worked before and ensures that we do not leave out anything in our analysis.
Mathematics has not been my forte but that will not prevent me from foraying into it.
Let’s start with a Normal (Bell) distribution – a model that explains many common phenomenon. For example, distribution of marks in a typical university course and distribution of heights, weights or IQs of people in a community. It helps in finding the mean (most commonly occurring value), variance and standard deviation of other data around it. We can extract useful results and make accurate predictions.
The normal distribution focuses on the average – and how everything relates to the average or the most common. You can identify common clusters and predominant patterns. You can see the outliers at the fringes of the bell, but they are really just at the peripheries. They are not the focus of the model. There is a reason why it is called a ‘normal’ distribution.
A more interesting model is the Power Law. It is typically used to model a relationship where the frequency of occurrence of a quantity varies as a power of some attribute of that quantity. It’s a skewed relationship where for a small set of values, the frequency of occurrence of the quantity is disproportionately different from that of others. A good example is the distribution of wealth in a society. There is a certain number of people – probably less than 2% of the population – who are disproportionately wealthier than the rest. The rest are relatively of similar wealth relative to that elite set. The distribution looks like this:
I try not to get very techie in my posts, keeping my Computer Science background in the hood. The intent is to talk about management issues that transcend a specific domain.
But sometimes the temptation to get out of the hood gets … well – too tempting. Specially, when you can use a good analogy to explain something important. For example, how can the compiler tool help us model where we go wrong in managing people.
A compiler is a key ingredient of the life of a software developer. It translates the code that software programmers write into a language that the computer understands. When you see a programmer furiously typing away on his screen telling you he is writing code (to make the world a better place), in reality what he is writing is really for himself, his team and manager only. He is writing down what he thinks the software should do in a prescribed format and structure – it’s just standard English with a very strict grammar. However, the computer that needs to make that software available to the world, lives in its own complex world with its own language and rules. There is a need to translate what the programmer writes into a language that the computer understands. That is what a compiler does. When asked by the programmer, it takes all the fancy writings by the programmer and creates the instructions that the computer can work with. It’s like hiring a language interpreter when you visit the Amazon tribes. The fancy English you speak is unfathomable to the half-clad and crocodile hunting tribesman. The language interpreter acts like a compiler, taking what you say and other data like your facial expressions and body language, and translates into what the tribesman can understand. Hopefully, you and the tribesman can eat the crocodile together rather than they together having you for dinner.
Well, the idea is not to teach you about compilers but why it is relevant to our topic – why smart people fail miserably when they move from a technical role to one involving dealing with people.