I do get involved in many interviews. There are multitude of mistakes you can make. Some of them are based on bad luck, lack of preparation, lack of ‘fit’ etc. But one mistake is a big surprise to me, as it is easy to avoid it.

Imagine you are on a job interview. - It is a bit stressful but follows pretty known pattern. with: chit chat, some whiteboard exercises, maybe pair programming, various questions. After 1-2-3 hrs you feel confident. It went pretty well, you nailed it. Interviewer asks you a question “Do you have any question to us?”. You answer : “Well no not really”, and boom you just dropped an atomic bomb that can ruin everything.

Always ask questions at the end! - You may ask Why ?, Why is it important ?. By not asking a questions you are sending a message to your potential employer - “I don’t care!”. It might not be really the case, but that is how it is going to be perceived.

Interview is not only reactive process where you wait and answer. You need to maintain communication, be pro-active. You are being evaluated on how you work and communicate. Communication is critical in our jobs. This is two-side activity were both parties collaborate and try to find out if they both fit. This is the test when you find out if you want to work in this place. You have to evaluate employer too!

I had a nice discussion and someone mentioned his strategy: “I will tell the the recruiter that if they are interested, I will ask questions but only then. I don’t want to waste time.”

My answer is: With proper questions you can increase likelyhood of other party being interested. It is not like you are wasting anyones time. Job Interview is a perfect time to ‘waste more time’ to judge potential employeeand sell yourself. Sure enough is enough and too much questions might lead to feeling that it was too much, but the interviewer will give you a signal to stop and focus on something else.

By not asking questions you send one of those messages

1. I don’t care - I do want to see that you are passionate about working here. No one forced you to come over. Without questions, I might assume that you could be here because of ‘boredom’ ( I had such candidates ), or you are evaluating the market ( that is fine! ). It is great to establish connection with ‘future’ candidates. In order to do that you need to find out more about the company so ask questions.

2. I am probably not professional enough - If you are professional developer that do care about his / her career. You are looking for a new position that will be in line with your goals and ambitions. This is what I call ‘consistent job hunting’. You don’t want to land a job that feels boring and not interesting. You don’t want to send me a message that you are here because you are desperate to find a job. Please don’t make my work harder and hide this fact. Assumption or information like that will influence my decision. I don’t want it! I want to evaluate you based on your skills, communication and personality, not your current life situation. This is not only making your job harder but also mine!

3. I am probably not experienced enough - Which is fine when you are not experienced and you apply for some junior position. It would probably be ok. I am empathetic enough to recognize this and approach interview process a bit differently. Some companies might not get it and might perceive you as not experienced enough. I assume that Mid-Senior employees do care about their careers and do look for a proper company / organization to work with.

4. I didn’t liked your company and this process - That is fine, please tell me about it. Explain why you think that way and where we have failed to sell our proposition to you. This is important and will improve your image of truly professional individual.

Prepare questions before interview

This is critical because it is important to ask “important questions”. It is not about quantity but quality. You can ask some shit questions too. Ideas for preparation below imo should always be done if you want to prepare properly before interview.

Research job offer - I am assuming here that it wasn’t a generic offer full of buzz words and meaningless sentences, but one with the job, company and maybe work culture description. Read this carefully and try to find out what might connect you with the organization, people.

Things to look for:

  • technology, buzz words
  • job specifics
  • hints of work culture (dress code, openness)

Questions regarding the offer.

Info about company - From wikipedia pages to financial statements. Of course the first place to look at is the home-page. Read the about, read the biography of the company founder. Try to find out if there were any media informations about the org. What kind of products they have, what kind of technology they use.

Things to look for:

  • how old is the company
  • any scandals, awards, praises
  • information about the products, services
  • Glassdoor opinions

Potential question mentioning some of those things.

Research employees - Go to Linkedin. Check profiles of some of the employees. Look carefully for some tips and try to find out what kind of personalities they have. Check their blog pages, githubs etc. More informations the better. It is really great to have a question like “I have noticed you did some stuff with Erlang on github! are you doing something with it in the company ?”

Things to look for:

  • are they active on github, social network, twitter, blogs
  • stack overflow profiles
  • try to to understand some of the employees
  • some technologies they are passionate about

Potential questions mentioning some SO problem someone solved or thing they are passionate about.

Research domain / market - Find out what is the market the company is on. Analyse the product, potential customers. Is it B2B, B2C. Who is their main competitor. Is the market hot.

Potential questions around the future of the company, their market share, where they are heading.

Analyse interview process and adapt your questions - Important tip. You can generate questions on the fly and also you need to adjust the ones you wanted to ask in the first place based on the conversation you had. This will show the recruiter that you have actually listened carefully. Try to look for something the recruiter is passionate about, you can let him expand it by the question.

Examples of questions to ask

So how do you feel about working here ?
What is the biggest con / pros about this company ?
Do you see yourself working for this company in next year ?
Try to find out how is the company, how is the turnover. Asking those will show that you are seriously thinking about finding an interesting company. You are not looking for something ‘random’.

How long you have been working here ?
If the number is low that might mean there is a big turnover in the company. Quite a big red flag for me. Ideally someone with small tenure should be accompanied by more senior person.

Tell me please what I could learn today to be better prepared on my first day ?
This gives a signal that you seriously want to work for them. Plus it is great to know where you could potentially start.

Is there any learning / craft budget ?
Do you organise any hackathons ?
Do you organise any workshops / meetups ?
Good to know that, plus a nice indication that you want to grow learn.

Technology specific questions eg: C++
I would ask what the recruiter thinks about current state of C++. What does he / she thinks about C++11, 14. Or what about new features in C++1z. Those question are a nice way to find out if the recruiter is really interested and passionate about C++.

What is your software dev process ?
Are you doing code-reviews, TDD, pair programming ?
Which methodology do you use ?
Those should be already in the job spec, but it is good to ask about this, to be sure that this company will be a good for you. Plus again this sends a signal that you are looking for a nice place for yourselves.

What are the current challenges you are facing ?
Tell me about most interesting thing you have done here in the last year ?

Nice way to judge company and if engineer are doing interesting things.

Are there any overtimes ?

A good way to find out if the project and company is ‘healthy’. Overtimes should only be something special, not a norm. Even if the company is trying to hide the truth they will use words that might tell you that something is fishy here.

How do you recognize if someone should get a raise ? Is this random ? Is there a process, plan ? You can reframe this one as “I want to keep my motivation and need to know how company shares the success. This will enable me to better manage my motivation and expectations. How do you recognize people for promotion or raise ? How does the system work ?”

Remember!

Always prepare list of questions before interview by analysing company, website, people, technology. Don’t forget to ask questions at the END!!

Updates

10.04.2016 - added more content based on discussions and comments.