Tenali Rama & HackerRank Hiring

It so happened that a polyglot visited the court of Sri Krishnadevaraya. He told the king that he could read, write, and speak impeccably in 18 languages. He challenged the scholars of the court and asked them to identify his mother tongue.

Scholars in various languages were summoned and were asked to hold a dialogue with the guest. Each one of them had a personal interview with the said scholar. They found for themselves that the multilinguist was claiming nothing but the truth. Yet, the challenge was a matter of prestige to the reigning king. He turned to his intelligent court jester Tenali Rama to find a solution.

Accordingly, Tenali Rama waited for the scholar to retire for the night. When the polyglot was in deep slumber, Tenali Rama threw some cold water over him. Almost immediately the shocked sleeping man awoke and shouted. “evarura waadu?” Tenali Rama sneaked away from the scene only to tell the king that the mother tongue of the scholar happened to be Telugu.

The above story inspired us to create an interesting round in our hiring process. A lot of times while hiring, we find polyglot programmers. They are usually good in many programming languages and frameworks. Especially with roles like full stack developer where a single developer can do front-end, back-end, and DevOps, we are bound to find a lot more polyglot developers. And it is crucial to find the core strengths of these developers during the interview. Instead of asking them questions in all the different programming languages and frameworks, asking the candidates to interview back for the same role makes it easy to find their core strength.

We also use this technique to understand the technical depth and skills for roles where programming/software development is not the core skill required. For example, consider the technical support or the product manager role. These roles don’t need software developer skills, but one needs to “talk the language” of a developer. One of the interview rounds we have for them is a reverse interview. Usually, within the first 10 minutes, we are able to find their “mother tongue” (their core skill).

Of course, the process has its own flaws. For one, the entire interview is a lot more intense for the interviewers, since you need to evaluate and answer the questions at the same time. Next, it is actually kind of fun (and a little embarrassing) when the questions are really hard to answer. I usually start my interviews with the disclaimer saying “It’s been a long while since I wrote code for production or practiced for interviews. So, if I don’t answer any of your questions, don’t judge my team’s skills based on my answers. They are 10x better than me in their technical skills.“. This usually brings a smile and gives me an anticipatory bail in case if something goes terribly wrong during the interview.

For example, one candidate asked me about the ACID properties of an RDBMS database. With a sudden panic, instead of Isolation, I ended up calling it Integrity and further explained in detail about Integrity (yuck). Thankfully, she still joined us even after listening to all that nonsense. In total, I believe so far I’ve flunked only 4 or 5 times. So, it’s ok I guess!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.