Wednesday, February 13, 2019

BJP



Unlike previous elections, this election provides voters with a clear choice. One side there is BJP (all the other corrupt NDA allies are gone. It is only BJP now. Much clearer that way). The other side there is the Mahamilawat of effectively the corrupt brigade. I try to summarize the choice below.



BJP Mahamilawat
Impeccable leaders Corrupt Brigade
Democracy Dynasty
Decisive Government Total chaos
Meritocracy Sycophancy
Wealth creation Poverty redistribution
Secularism Jihadi appeasement
Make strong allies Get beaten by every neighbor
Safety for our children Bomb explosion every week
Hope Despair
Performance Pedigree
Sushma Priyanka
Modi Rahul

The voter registration is on. Please enroll and vote.



Tuesday, January 15, 2019

About Hiring

I have been taking interviews since 2003. By now I have taken hundreds of interviews and also given a few. I also conducted campus hiring events and walk in interviews, too. I am not good at taking interviews. No I am not being humble here. I genuinely think I am not good at it. I have seen really good interviewers. I am not one of them. One of the reasons I am not good at it is that I do not enjoy taking interviews. Measuring someone’s potential, intelligence and skills in one hour is daunting. Coupled with that the high stakes for making a mistake makes it one of the hardest task at my work. But still I have been made to do this over the years! That is probably because I speak a lot and give the impression that I am always available. So hiring managers used to find an easy “bakra” in me. Ever since I became a hiring manager, I take this task very seriously and end up doing it myself.

Having taken so many interviews I have gathered some working knowledge about it. I am going to share my experience in this article. There is no new wisdom here. This is just a collection of common practices in one place that hiring managers may find useful. So feel free to skip if you are already a very good interviewer.





Let me start by giving a sketch of how typical interviews go.


Say you are a project manager and you need to deliver two important features on IP multicast and MPLS multicast in your next release R10. You have one staff engineer in your team Akash, who knows IP multicast but he is busy with R9 issues and will not be free for next few months. So you got a requisition for a position approved and you want to hire an engineer who can help you with these features. You give a JD to your TA (Talent Acquisition Manager) and he searches with key word “multicast”. He sends a bunch of resumes to you to shortlist. Since you are up to your neck with R9 issues and R10 planning, you delegate this to a senior team member. Then one fine Wednesday afternoon at 2:40 PM you get a call from your TA.
“Subhendu, what’s up? You had a phone screen at 2:30 PM and the candidate called me that he did not receive your call.
“Shit!” You say. “Sorry, I forgot. I will call him right away.”
So you hurry to a conference room. Pull up the resume. Glance through it. Then call the candidate at 2:45 PM. You tell to yourself. “Oh. It’s just a phone screen. I am good at it. I can manage in 15 mins.”
And you are right. It is no big deal. It is a phone screen. It can be and should be done in 15 min. You should avoid doing a phone interview, and only do phone screening. The purpose of telephone screen is to introduce to the candidate you and your company as well as the job so that he gets interest to apply for the position. From your side you verify that the candidate is good enough to call him for a face to face interview. Invest one full day on him. Most of the time it should be discernible from his resume and his references. You should just validate those info over telephone.
So you like the candidate and ask your TA to schedule a face to face interview.
Come Friday morning as you are fighting the traffic to get to work, you get a call from your TA.
“Subhendu, where are you? The candidate is waiting for 30 min in Bombay conference room! First panelist Akash is not here yet.”
You remembered Akash was chasing a release blocker till early morning and he will not come so early and it will take you another 30 min to reach office.
“Is anyone else available?” you ask your TA.
“I see Bhumika there.” Bhumika is from the Java team and she does not know C++ or embedded programming. “I have no choice.” You think.
“Please ask her if she can take the interview.”
So she goes and does a good job interviewing the candidate on his programming skills.
Then goes Anand. He is a very good C++ programmer. But he is from the L2 team. He does not know much L3 stuff and he does not know multicast.
Finally to your relief Akash walks in and jumps straight into his R9 issue. You pull him out and request him to finish the interview first. He goes in and finished in hurry in 30 min.
You meet Akash at the cafeteria during lunch.
“How is the candidate?” You ask.
“He is awesome. He knows more multicast than me. He contributed to RFC.”
You feel very lucky that you got a good candidate.
Post lunch as you are preparing your weekly status report, you again get a call from your TA.
“The candidate is waiting.”
You feel irritated to be interrupted on your work. But hurry to the conference room. By that time you already made up your mind based on Akash’s feedback.
You start speaking to the candidate casually. Somewhat apprehensive to ask tough questions fearing he might flunk. You find him very confident. Also found that he ranked 16 in his JEE exam? He worked for good companies in the past.
“24 karat gold.” You think and jump straight to salary discussion. You are pleasantly surprised to find out that is getting only 36 lakh with 14 years. The market rate is 50. Even if I offer him a 30% raise it is still very cheap.
“What a deal?” You thought.
As a good manager, you gather feedback from two other panelists. By this time you do not want to lose the candidate. So want them to say “yes”. But to your disappointment, you find that they are not OK with the candidate.
Bhumika said that the candidate has an attitude and does not test his code. He hardly even codes. Mostly give opinions to others.
Anand said the candidate is very poor with programming. He does not know C++ at all and is not willing to learn. He thinks we should change to C instead!
Bhumika is being too sensitive. You thought.
Anand is not from my team. He does not know how we work. Besides he does not know multicast!
You ignore their advice and decided to go ahead with the candidate. You walk to your boss’s cabin and ask him.
“Boss, I got this great candidate. Can you please speak to him for a few minutes?”
“I am leaving for the US tonight. I have not even packed. I have to leave now. I do not have time. You should have told me before. Let’s do this next week when I come back.” Says your boss.
“He has other offers. He will not wait that long.”
Your boss has great confidence in you and trusts your judgment.
“If you like him then go ahead and hire him. I will approve. No need to wait for me.” Says your boss and leaves. You lost your last safeguard.
You make an offer. After much haggling, the candidate joins after two months.
Then disaster happens. He took three more months to learn C++ and be productive. Then you find out that the guy does not want to do any work. He has an opinion about everything but does not produce anything himself. Finally you need to pull Akash to deliver the release with more than a month delay. Akash is so stressed out that he may leave. Your boss’s confidence in you takes a dent. And you find out the next three releases are on SDN and NFV. The new candidate has no desire to learn these new things and is useless. You basically have a passenger in your team, who is causing more harm than help and you need to hire more people to deliver the next releases.


Of course I am exaggerating. Most hirings do not go this way. But surprisingly, quite a few do.


So what went wrong here? Everything. Let me try to list a few.


  • Preparation: No one plans for interviews. Interview is some invisible task that somehow fits into our schedule. Hiring is the most crucial part of team building. Take it very seriously. Add it to your plan, make time in your schedule as well as the team member’s schedule and your boss’s. Divide the work, who will ask what. One person should cover programming, another networking knowledge, another system building. Train your panelist on what to ask, as well as what not to ask. If the candidate is married, if he owns his flat or rents, where is he from. These are information that you do not need to know. There are other ways to do small talk and break the ice. Most importantly, make preparation in advance on how to receive and evaluate panel’s feedback. Stay objective and do not get clouded by prejudice.
  • Hire on potential not on skills: Skills requirements change, potential does not. You are hiring the candidate for what he can do for you, not what he has done before. While past is a good indicator of the future, it is not an insurance. The guy may have ranked 28 in JEE, may have been a star performer 10 years ago. But that is past. You must evaluate what he can do next. And this is not easy. Some tips on how to do is to see how he extends a solution when given additional requirements, how easily he gives up when asked a tough question. How inquisitive he is. Has he learned anything new recently? When a very tough question is thrown at him, does he accept the challenge or recoils with resignation? Ask him something totally new, not at all related to what he is doing currently and see how he proceeds. Introduce a new and interesting concept and see if he shows interest and asks more questions to broaden his knowledge.
  • Do not look for a deal:  Look for a deal when you buy a computer, not when you hire a team member. People have emotion and self-worth. When you pay them less than what they are worth, you hurt their self-worth and that impairs their confidence and ability and reduce their engagement. So once you decide to hire someone, pay her market rate and not try to get her at the cheapest. By doing so you are not helping your company much but you are hurting your team big time. You will add a disgruntled team member who will not perform well and will stay dejected and spread negativity. She will become a constant source of worry for you for the next few years. Not worth a few lakh. And once you hire someone at a certain rate, it will be difficult then to correct her pay to market. Rather consider low pay as a red flag. Why is this candidate  paid so less? It may as well be that she was genuinely deprived. But probe that and make sure that this is not an issue. Ask her about her past appraisal ratings, how she fared compared to her teammates. Only when you are satisfied that she is OK you make a hiring decision. On the other hand if you surprise the candidate by paying more than what she expects, you now have an enthusiastic member who is eager to perform and surprise you in return.
  • Do not ignore attitude and temperament: Cultures matter. Sometime they matter more than skills and ability. If you have a very competitive team and you hire a soft, introvert member, you are asking for trouble and vice versa. There is a thin line between confidence and arrogance. “I have done this” is confidence. “Only I have done this” is arrogance. You should be careful about spotting that line. For example allow the candidate to brag about some past achievement then observe if she also gives credit to her partners, does she also mentions her shortcomings. Be on the lookout if she persistently cribs about her peers, boss, and company. See if she is very opinionative. Does she focus more on ‘who’ than on ‘what’? Take HR feedback seriously. You do not need to make a hiring decision on a feedback like ‘the guy has attitude’. But make a point to probe her if you get any such feedback.



Here is how I approach this. Again this is not the best practice and I am sure people have better ideas. But I have not made many hiring mistakes so this can be used as a working hypotheses that can be improved.  


I break a 60 min interview into four main parts.


  1. I spend first 10 minutes introducing my company, the job and then myself. Thereafter I ask the candidate to speak about him. This has two purposes. One is to know about his past which gives strong indication about his future. More importantly it allows the candidate to calm down and gain confidence. What I observe is attitude and temperament along with skills he picked up.
  2. In the second part, I spend 10 min as an elimination round. For most candidates I give a moderate program to write. Like run length encoding or shifting bits in an array. This is an elimination test. If the guy flunks it, I give him another chance with a different problem. If he still flunks, he is out. This again has two purpose. One is the elimination test. It weeds out the bad candidates and saves me 30 min. But for the guys who passes this it gives a morale boost for the next question. It works like a tonic and the candidate gets charged up.
  3. The third part is the main interview. This is where I try to gauge the candidate’s potential. What I do is ask the candidate to design something big and complex, like design Facebook or Uber for senior candidate. For junior candidate I ask for example to design a software bridge. First I observe his reaction and his approach. Then I give him lots of hints to make good progress then again I leave him alone to extend. I spend about 30 min in this part. Sometime I give the guy a NP-hard problem without telling him. Like I ask to give a shortest path algorithm. Once he does that I ask him to come up with a longest path algorithm. In the exited state he does not realize that it is hard. Then I observe how easily he gives up or does he try his best to solve it.
  4. I spend the last ten minutes on checking cultural fit. I ask questions about her past achievements and failures. Ask her to describe how she received help from peers and boss to overcome shortcoming or gain competencies. Ask her to describe career transforming experience, how she coped with them, who helped her during the process. The objective here is to allow the candidate to talk a lot about her and then look for clues on temperament and attitude. There is no secret sauce for this. This is all about practice and discipline.

Finally I close thanking the candidate and answering any questions she may have. Once again I briefly summarize the job and clearly explain the next steps in the selection process.
So that is a long discussion about hiring. Thanks for reading this far and hope this will be of some help in the upcoming hiring season.  


Monday, June 06, 2016

Quitting an Addiction


Kicking a habit is not easy. If you rely solely on your willpower, you are probably going to lose. Willpower is absolutely necessary, but there are tricks that can help. The key thing in giving up any addiction is staying positive about your life and making a villain of your addiction. If you constantly think that your life with addiction is a great one and you are giving up something precious to prove a point or for long term health benefits, then chances are that you will soon lose steam and get back to your old dear life with addiction. So what you need to vilify the addiction, gather evidence how miserable it made your life. Let’s face it, no matter how you glorify, an addiction never makes life better it only makes it worse. So it is not hard to come up with facts about the short-term negative impacts of an addiction.
So why in the fight between willpower and addiction, it is the addiction which wins most of the time? The answer is simple, cravings are short term, gratification instantaneous while the benefits of quitting are long term and imperceptible. So how do we win this battle? By relying on the short benefits of quitting, while recognizing that while cravings are powerful, they go down very quickly. They are pretty much gone in about a month. So if you can hold on for a month, your chances of winning increases dramatically.
So how do we focus on the short term gain? This is mostly on the healthy living. Whether you are quitting smoking or drinking, it immediately leads to very healthy improvements in your lifestyle. You sleep better, you get more energy. Convert that into activities, cycling, swimming and you will feel a lot more cheerful. You can fight negative thought more effectively. If you are quitting drinking, then you are getting back your wit. Use it to something cerebral and you get an immediate return. Read a book, play chess.
For myself, quitting drinking brings enormous benefits. My wit is all I have. I do not have a great physique, I have no social skill, I do not enjoy the company of others that much, I do not watch TV or sports. I live my life through my brain. I have a house full of books and a computer full of movies. I can enjoy them much better if I keep my wit and use my brain, instead of losing it every free evening I get. Then why it is still so hard to give up! Why indeed :)

Friday, June 03, 2016

Stay Healthy


Folks stay healthy. You cannot enjoy life if you are not healthy. No matter what you have, a private island, Sunny Leone and Katrina Kaif (Hrithik Roshan and Irfan Khan for ladies) as company, a few million dollars in the bank, a yacht of your own, no matter what. Even a small boil is enough to kill your happiness, forget big disease like diabetes or heart problem.
So what should be your priority in life? The following.
  1. Have a good night’s sleep. I try to get 10 hours. But everyone should at least get eight.
  2. Eat a proper breakfast. Not two toasts and a glass of milk. Proper meal, rice or roti or muri.
  3. Do not smoke, chew gutka, pan masala.
  4. Avoid drinking. At least minimize to no more than twice a month.
  5. Be active for at least half an hour every day. Walk, cycle, play with your daughter, anything. Try to break a sweat.
  6. Try not to eat a heavy meal at night, especially after 8 PM.
  7. Avoid sugar, packaged food and drink. Most packaged food contains only maida, oil and sugar, sometimes harmful chemicals and no nutrients whatsoever.
  8. Remember purpose of eating is to get stuffs that sustains our body, namely vitamin, protein and minerals. Calorie comes with them automatically. The amount of work we do, we need very little calorie. You don’t need to eat extra calories.
We are a pretty healthy family. We rarely fall sick and when we do, they are pretty minor. My guess is that we are plain lucky so far. But there is a little possibility that it is because we follow pretty much all of the above. What we do wrong:
  1. We do not drink milk at all.
  2. We hardly eat any fruits or vegetables.
I am trying to correct them slowly.

Monday, November 23, 2015

Religion


The power of religion has hardly diminished in last 10000 years. The assumption that with progress of knowledge about creation and the natural world, our faith on an unknown God will diminish does not seem to be correct. Even well educated scientists believe in God. I think our insecurity and inadequacy is too strong to be dispelled by reason and data alone. At least in it's present form. I think instead of trying to explain away the Cosmos and the creation, study of our brain will yield better result in dispelling religion. Draft post. I will work on it later.

Saturday, December 13, 2014

Varkala

Spent four days in paradise. Sun, sea and sand. Total bliss. Papanasam beach and Janardanswamy temple absolved me of all sins. Believe me, I sinned. Seashore beach resort was a beauty. The staff were like angels. Had a real good time.

Wednesday, October 15, 2014

Happiness


I woke up with this idea this morning. I think this is worth noting down. I am unhappy most of the time because I want to change the world the way I want. They key to happiness is to accept the world the way it is. Of course this is morally reprehensible idea, because if everybody thinks this way the world will stay a shitty place it is. But nonetheless it is very comforting.

I am somewhat an extreme case. I worry about things that does not affect me directly and about things I have absolutely no control over. And because I am such a lazy person, I never do anything to change anything. That makes things worse.

Again I am a lazy man. So I cannot finish this post now :) I will elaborate over this idea when I get a chance.