Tuesday, May 24, 2016

Hardcoding of Advice !


In computer programming , we have a term Hard coding which means putting a fixed value in the code which can be changed only by the programmer. So when a program's requirement changes , the code cannot adapt and hence program fails to do its job. Hence we programmers are given explicit instructions : Avoid Hard coding wherever possible. Program should be coded in such a way that it satisfies the requirement irrespective of any change which can occur in input.

Now how does this relate to advice ?


At every point of time in our lives for taking decisions we take advice from different people. Say e.g for my career conundrum i asked people what should i do ? I really got a variety of answers

A : Go for an MBA. Nowadays , everyone does it and it pays good

B : Go for M.S in USA. You can climb up the company ladder very fast that way

C : Change your technology. XYZ technology is trending these days . You should learn it

Well advice is good , it gives you different perspectives. But where sometimes we go wrong is get influenced by advice. All A , B , C give advice from their experiences , opinions and their environment so it may not apply to you. In short if you change the environment and all other variables the advice may not match. So the advice which may work for A , may not work for B or C. Such kind of advice is fixed, maybe fail to find a probable solution and can cause more harm than good. A , B & C may think that they have given the best advice possible but by blindly following their advice we may not achieve our objectives and naturally get frustrated. We then would do the most obvious thing : blame A / B / C for our situation but from their perspective they though they gave the  best advice and rightfully feel offended .What they do not/ will not however understand is the harcoded nature of their advice.

In computer languages we avoid this by making programs generalized. We think of all the possible situations / environments / conditions before writing the code and implement the code appropriately. Person working on the program changed ? Be cool  , program is understood easily . Computer shutting down in the middle ? Ok , bring it on , program will wait for it to be back up . Internet shuts down ? No problem , program can handle it. Such programmers who can avoid hardcode are really coveted in the industry and can produce excellent results.

Now ,Coming back to our advice situation , we can solve our problem of advice in two ways :

1. The person taking advice keeps a open mind taking hard coding into question and deriving the basic purpose of advice and applying it
2. The person giving advice can be smart and empathize with the situation of the person seeking advice and give either a generalized or if required a personalized advice which is applicable to that person

Being a programmer myself , i would always prefer the 2nd where we take care of the problem in the initial phase itself.This avoids the problem of misinterpretation / miscommunication and the person taking the advice would forever be grateful to you because you could have possibly made a big difference in his life.

So my generalized advice to you when giving advice ?

1. Keep it short and simple
2. Empathize with the other person's situation before giving advice. Ask yourself, if i were in his shoes how would i solve this problem ?
3. Speaking from experience is good , but since times changes quickly think beforehand that the advice applies for today too.So what applied to our parents may not apply to us.
4. Take into consideration personal motivations , environment , situation before giving advice. If you did something because of a certain situation & reason, it may not apply to the other person too.
5. Do not in any way try to influence the person to accept your advice. It is bad and you can screw the person's life. Often this happens in case of parents want their children do something in a way they would have done , it can prove disastrous since it may not always be the best way out.

Remember guys ---------------> "Avoid hardcoding"

- Tejas Deshpande

No comments:

Post a Comment