Software Engineer Interview

| Comments

Hiring is always hard. You have a vacancy, then a lot of candidates came and you have to decide who will be the one.

I think I’ve finally understood what is the perfect interview for the software engineer position.

Test application

First of all, you should prepare a task to write some test application. It should be simple and small (maximum 60 minutes to implement).

Then add about 5 additional problems to work with (every problem can take about 10-60 minutes).

Interview process

Use Google Hangout or Skype to connect with candidate. After introduction ask to share his screen (it’s important).

Then describe the task. Candidate can use any language/framework, he can also use Google, Stackoverflow, any books, tutorials, etc.

And magic happens here. Long resumes, great portfolios, recommendations, certifications – all these things are useless. Now you can see how people really work.

After main task you should offer a few problems to work with. It’s nice if you have either hard and easy problems – you can get additional information in this case. There are different types of software engineers, somebody likes to work on a really huge and complicated problem (think a lot about design, refactoring, etc.), and other people may like finishing tasks, fixing bugs… Sometimes you know what type you need.


In the end of the interview you know a lot:

  • You saw how candidate thought about the problem, how he analysed you requirements
  • You saw how candidate designed the application, probably on macro- (project, module) and micro-levels (class, function)
  • You saw how candidate used his IDE, OS, tools
  • You know is candidate able to learn quickly, use Google/Stackoverflow successfully (important skill btw)
  • You also saw his programming skills. If you’re generalist it doesn’t matter what language was used.
  • You can probably decide will it be comfortable to work with this person

Cool for the 90 minutes, right?

PS: You might say – “I don’t like when somebody is watching when I work. I feel terrible.”.

I think it depends on experience – the more experience you have, the more comfortable you feel. Also, may be you didn’t work in a team enough.