Narendra Modi recently gave an interview for a job of C++ programmer. Here is the full transcript:
Interviewer: Welcome, Mr Modi. I was actually expecting you to be here by 3 PM and you are entering now at 4.30 PM. Why so late?
Modi: Dekhiye, I actually started very early at 1 PM and was planning to reach here by 2 PM itself. But as soon as I stepped out of my house, to my utter surprise, I found thousands of people from my village, who had come to shower me with their blessings. Dancing and lighting firecrackers, most of them accompanied me all the way till the entrance of your office. Peep out of the window and you can see a sea of people out there. They call it Modi wave.
Interviewer: That’s fine. Just wanted to know if your delay was due to any inconvenience in finding our address. Anyway, let’s begin now. Tell me about yourself.
Modi: Dekhiye, baat yeh hai ki.. The village I hail from has a rich history of more than 1000 years. It is the place where Mahatma Gandhi was born. But a Shehzada and his family who are no way related to the Mahatma, are misusing his name and cheating all of us. The people in my village cannot be cheated by such sweet talks because they are hard working and are highly proud of themselves.
Interviewer: Ok, ok. Calm down. I was asking you to tell me about yourself and not about your village and Shehzadas. Let’s keep that aside and go to the next question. Tell me about the relevant experience you have related to the project and how you can contribute to our software?
Modi: First thing. Your software which was written in C++, is almost 25 years old now and has become legacy code. Moreover, your programmers have been focusing too much only on Windows platform. Why don’t you have software releases for Mac & Linux? By focusing only on one platform and not on others, your programmers have become pseudo-programmers. I will change the whole software by rewriting it in Java because I believe in portability. My mantra is “Write once, run everywhere”. By coding it in Java, the software will run on all platforms without any discrimination. Release to all platforms, deny to none.
Interviewer: That’s very interesting and we had never thought about it before. What do you think about code maintenance?
Modi: Yes, good that you brought out this topic. I had gone through all the previous release notes of your software and I was surprised to find that the total size of your software has been only between 500-600 MB over the last few years. There is absolutely no development. I believe in development model where growth must be shown year after year. Why are you still stuck at 600 MB and releasing it over CDs when we have 4.7 GB DVDs these days? Give me 30 days and I will add more code to increase the size to 4 GB. Every time a software version is released, I will advertise it to all of our customers & users on social media which will boost the brand value of the company.
Interviewer: You seem to be knowledgeable in release management & marketing as well. Anyway, let’s limit this interview only to programming because that is what the job profile is for. What do you think about null pointer checks? Do you follow null checks in your code?
Modi: Never!! Null pointer checks have become a tokenism nowadays. I have downloaded & scanned software source code from IBM Mainframes dating back to 1960 and I have never seen any null pointer checks in their code. These days, it has become a habit for programmers to enclose every tiny part of their code within null pointer checks just to prove that they are “high level programmers” but they are just pseudo-programmers. I am not going to do such a showoff because I believe only in real output rather than tokenism.
Interviewer: That’s an interesting ideology. Now I am running out of time and would like to finish this interview with this final question. We interviewed 3 other candidates before you today. Tell me why should we hire you instead of them?
Modi: Just before entering your office, I saw all those 3 candidates laughing and discussing with each others. They are all hand in glove with each other and each one is a B team of another. They have actually not come to get a job but their plan is to stop me from getting this job.
The first candidate does not even know to code and his resume was actually prepared by his mother with fake project details. In fact, if you had asked him for his passport, you would have realized that his original name is different from what he calls himself using a fake name.
The next candidate is a pseudo-programmer who never misses null pointer check and preaches others also to follow null pointer checks, but fills his code with unnecessary special status and special cases, leading to stack overflow.
The 3rd candidate is actually a stress tester who throws all kinds of values as inputs hoping that at least one of them will make the system unstable or crash the software. I heard that he had once intentionally written a 370 line vulnerable maths division code and entered values as 49 for numerator and zero for denominator to crash his own software. He used to run that software throughout the day and find pleasure in crashing his own trivial software.
Whereas look at my resume. I have already been a C programmer for 12 years with solid experience and now if you provide me an opportunity, I can become a C++ programmer. The code that I write will run on all platforms without any discrimination and the software will increase in size for every release, showing real development.
Interviewer: You have great oratory skills as well, Mr Modi. Anyway, I am done with the interview. You may leave now. Our HR team will get back to you on May 16.