Programmer interview tips & tricks

A job interview is the first step in most careers, no matter the field or domain. If you are looking for the most common questions and answers from programmer job interviews, you are reading the wrong blog. If you are looking for tips on which technology or language is best to learn I have bad news for you. The next few lines will be about programmer job interviews. We will be discussing good and bad practices, the most common mistakes and how to turn any outcome to your advantage. So fasten your seatbelts, it will be bumpy ride but at the end you will see there is no reason to fear job interviews.

A job interview is about showing and selling the best things that we can offer in terms of our skills and experience. We all have stronger and weaker aspects. The best programmer who has weak soft skills will have a hard time even in small teams and a perfect talker lacking in technical skills will struggle to catch up to the employer’s standards.

Preparation before interview

Before any interview, do your research. I mean, invest some time in self-knowledge and exploration. Write down your strong and weak parts. This will come in handy because you can lay all your cards on the table. Do not be afraid to show that you have weaker aspects, but always keep your focus on the best things you can offer. Easily earned points on any interview are sentences like these:

“I can easily explain things I know to anybody. On the other hand, I know my knowledge of nodes is not so strong, but I am working on small projcts to get a grip on this technology…”

“I have years of experience with .NET. On the other hand, I have found it difficult to communicate with others. Currently I am reading books about communication and feel I am making great progress…”

This will show your potential employer that you are capable of self-criticism and taking steps to rectify or reduce your flaws. In addition to a few bonus points, by working on this, you can really help yourself to move forward in any aspect that you feel needs work or polishing. I recommend this test that can help you with your communication skills analysis.

When attending an interview take it seriously and professionally:

  • Be on time. If this is not possible due to an emergency (other excuses are not professionally acceptable), inform the interviewer why not and apologise.
  • Speak up, articulate yourself, keep eye contact, form sentences in your head before saying them. If you are shy or have trouble with speaking up, rehearse with a friend or in front of the mirror.
  • Do NOT lie. Remember that a polished turd is still a turd and these things will always catch up to you. A good interviewer/employer is not trying to trick you, but rather find out about you so you can both decide whether the position is the best fit for you both.

INTERVIEW ITSELF

Interviews are usually divided into a few parts. The most common are:

INTRO

The employer will tell you something about the company and position. Here it is very useful to show that you have at least some basic knowledge about the company. This can be shown by asking questions regarding projects or other information that can be easily obtained in ten minutes on Google.

“I saw on your page that you are working on project XYZ. I know that this position may have nothing in common with project XYZ, but I am really interested knowing how you achieve …”

This will show your interest not only in the position, but also in the company, which may be valuable to set you apart from the other candidates. As always, take the application seriously and do them the courtesy of researching the company and what they do. At the least, you should know their product & service line, their main business locations and some of the clients/projects they work with.

BACKGROUND

Here you face questions regarding your professional history and experience. If you are leaving a position in another company, you will frequently be asked questions regarding the reasons and circumstances that led to you leaving. Be prepared for this. The worst thing to do is to answer these questions emotionally.

“My boss was just the worst; he never let me do anything my way.”

“You know, me and my boss, we never really found common ground and I felt that my good ideas were overlooked.”

Can you see the difference between the two examples? Both sentences tell the same story, but the second one shows your ability to keep an emotional distance.

Remember that your professional life is not work and work time only. You can mention little projects you do at in the evenings or at weekends. This can start a productive discussion that gives you space to show more of your strong side that may not be apparent purely from your professional background.

TECHNICALITIES

A five minute Google search will give you all the most common questions asked at interviews. We will not, therefore, waste your time with them here. On the other hand, we all know our minds can go blank, particularly when we are nervous. Be confident and do not panic. Even if you are unable to solve the problem on the spot, suggest a solution or approach.

Most technical questions are not intended to find out whether you can write compilable code on a chalkboard. These questions are there to find out how you think, show you can analyze problems step by step and how you can solve new situation when you are time limited. Show that you can face a problem even if it initially looks unsolvable. Start simply with the first few steps and build up your solution on the fly.

Show your strengths. If you prefer drawing your solutions in diagrams, ask for a pen and paper or use a whiteboard/flipchart if the interview room has one. If you prefer describing and talking, do it. Show your mind process. Explain it in appropriate detail.

Take somebody that has never written a line of code, give them internet access or a decent development environment and they would be able to correct all compiling mistakes. Somebody who can find a solution or suggest the right direction is ten times more valuable than somebody who can write plain code when everything is set and done. Technical skills can be learned in a relatively short time and in most cases on the fly. It takes, however, a great amount of effort to change thinking patterns.

PAYMENT

Once again, do your research. Information about average salaries dependant on the location and position are one Google hit away from you. Do not be greedy, but value your work. In the end our time in work pays for everything we do outside the office. The worst thing I encountered at job interviews were applicants who asked for insanely high salaries because “their friends told them it is ok”. A number of companies will learn a lot about the candidate based on the salary they ask for. Someone who asks for a salary well above (or below) the industry standard for their experience level instantly marks themselves out as a less serious candidate. Good people know what they are worth and where they fit into their industries.

Q&A

When asked if you have questions at the end of interview, ask something, but not anything. Ask questions regarding the position that were not clear in the job advertisement or information you’ve received beforehand i.e.

“How big will my team be?”
“Who will be my boss ?”
“Do you use any agile methods like SCRUM or Kanban?”
“What version control do you use?”

These are questions that can help you not to fall into process madness or a leaderless black hole. On the other hand, it will show your interest in processes and your desire to know how things works before jumping on that train.

LESSONS AND CLOSING THE DOOR

Even if you’re tempted, asking how you did right at the end of the interview is not the best idea. There are multiple reasons. Usually there is more than one interviewer and unless they are telepaths they cannot answer, because they wish to discuss your performance. By asking directly you can lose points, as you will show your insecurity and doubts. Be patient and honest with yourself. Most of the time you will have a strong feeling about the outcome when you close the door on your way out.

When you are home and drinking your favourite beverage, trust me, the interview is not over. No matter the outcome, ask yourself: Were there any questions I had trouble answering? Were there any technological topics that I could have answered in a better way? Invest time in yourself and analyze your interview. If needed, you can use this knowledge at the next interview and if you get hired you can show that you work on yourself and can learn from your mistakes even in those first days and weeks in the company. Remember that first impressions are very important when starting somewhere new and setting the groundwork for long term success.

Best of luck to you all trying something new in your professional life.