My killer interview question (for junior software engineer)

2 minute read

This post is full of ignorance. But my main point still stand.

In the last interview, we have a failed hiring. We have hired a person who is perfectly nice, but very inept in our Designated role. He was supposed to be a frontend web developer. He would help us to solve most of our Designer/programmer conflicts, and would be responsible to write “awesome”(murican!!) Javascript. In turns out to be a misfit for both of us.

Of course we have asked many questions. One of my question, in retrospect, somehow hinted our doom in our hire. We are discussing his role in his previous job. And of course it comes down to the casual question of tool set he was exposed to. The question is about whether he will implement his own template engine, or using one of the open-source solution such as Smarty or Twig in his next project. His answer was unsurprisingly, “no”.


no, nO, No ,NOOOOOOO!!!!!!!

OK. I continue the question by a “Why?” I was genuinely curious about the rationale behind such decision.

“Oh because I want to have more control of the project. Because I don’t trust the third-party template engine.”

You know what it sound to me?

“Oh because I am unable to read open-source code. Oh and because I am unable to learn new things, not even a new template engine.”

In a hindsight, this indicated how close-minded is the candidate. Of course the decision is not me to make. The candidate turned out to be very close minded and lack problem solving skills. He is a perfect nice guy, but for whatever reason, he quit before his probation ends.

This incident is not unique to us. Somehow it is some of the industry-wide misconception about using third-party software, and one of the very bad practice throughout the whole Hong Kong software development community. People rather roll in their often flawed implementation, then to use some of the battle-tested open source solution. I am not saying that rewriting the template engine is a bad idea, but, as a vendor, the main responsibilities are to develop features, keep maintainability, deliver project on time and on budget. Using open-source template engine is fulfilling all 4 of our responsibilities. Reinventing a template engine certainly did not contribute to our objective.

So, to my fellow programmers/engineers/ninjas/rock stars, just before you are making decision, ask a very basic question,  “What is your main objective?”

You will be loved.