58

We are currently hiring a junior developer to help me out, as I have more projects than I can currently manage. I have never hired anyone who wasn't a friend or at least an acquaintance. I have a phone interview with the only applicant that actually stood out to me (on paper), but I have never done this before.

Our projects are all high scalability, data intensive web applications that process millions of transactions an hour, across multiple servers and clients. To be language/stack specific, we use ASP.Net MVC2, WebForms and C# 4, MSSQL 2008 R2, all running atop Windows Server 2008 R2

What should I ask him? How should I structure the phone call?

9 Answers9

50

Ask about what tech blogs they read, ask what the applicant finds interesting in current tech and why.

Essentially, for a phone interview you want to figure out if this is someone who is enthusiastic about technology and programming and is interested in learning and knowing more.

Since this is a junior, you can't expect that they know many advanced topics, but you want to be sure they can think like a programmer - give them a simple problem and have them walk you through how they would solve it. It will give you insight into how they think and solve problems.

Oded
  • 53,734
26

I take an open-ended approach to phone interviews, but to put some structure on it I usually ask the person to talk through the resume that they submitted. Often, the way they go through their resume will prompt other questions and you'll get a better understanding of what they are like.

The other thing to think about during the phone interview is to ask: Could I work with this person? Are they energetic? Annoying? Precise?

Peter K.
  • 3,818
  • 1
  • 25
  • 34
21

Code with them.

You should definitely do the usual interview stuff. But I don't hire anybody without doing a pair programming session with them.

My approach: I'll take 2-3 hours and a toy problem (e.g., "Let's build Twitter v 0.1" for a full-stack dev, or "Let's implement List from primitives" for a back-end person). We'll sit down at the same computer and we'll discuss how to tackle it. I'll write the first unit test and say, "make that pass". Maybe I'll write the next couple of tests to help them get going. And then I generally let them run, jumping in only occasionally. As we get low on time, I'll stop them and ask where they'd take it next, and what they'd want to do before pushing it live.

Things I look for:

  • Can they collaborate well?
  • Do they understand the basics?
  • Can they break down a problem into parts?
  • Do they value clean code?
  • Do they catch their own bugs?
  • Do they try to bullshit when they don't know something?
  • Do they enjoy coding?
7

What's your Stack Overflow account name?

One of the best ways to get to know how someone's code is going to look is by seeing it first hand. One of the best ways to do that is via SO.

Otherwise, standard questions apply. Ask about difficult situations and how they've overcome them. Ask about what new languages they're learning or thinking about learning, and why. Ask them what IDE they use, and why did they choose it? What source control?

You can learn a lot by asking open ended questions that might not relate to a specific project, but will instead allow them to work through with you their thought process.

EricBoersma
  • 2,024
6

One thing I did not see here in my quick read is the need to ask them about:

1 - Willingness to learn

2 - Ability to self teach vs. formal training

3 - Example of something they learned themselves in the past

4 - An example of areas they are not comfortable with

5 - General high level question like "if your are tasked with building a web application about ... what tasks that need to occur and who should do them" - This should give you an idea about their current knowledge about the development process - It does not have to be accurate, but at least you will get to know their view as is today.

NoChance
  • 12,532
4

Talk me through a project you've worked on in the past

  • Describe the overall architecture of the project. High level is fine.
  • What's one thing you liked about the project.
  • What's one thing you disliked about the project.
  • What's something that, in hindsight, you would have done differently?

This is a great question for interviews in my opinion, phone or otherwise. If they can talk intelligently about a project they've worked on, chances are they "get it". You're hiring a junior level developer, so it isn't important that they be an expert yet, but they should at least understand their field well enough to talk about it. Usually the people you will want to hire will have no trouble running with this, while the people you may want to stay away from will answer in a couple of sentences or less.

What do you do to stay current?

  • What blogs do you read?
  • What books have you read / are you reading?
  • Anything else?

In an industry that's changing constantly, I think it's important for them to be staying current. This isn't the most important question I ask in an interview, but if they can't come up with anything to say, it's not a great sign.

Tell me how you would write a Bicycle class

Maybe a better question for an in person interview so they can actually write some pseudo code, but I think it could work for a phone interview as well... Describe a bicycle (it has handle bars, wheels, etc. Someone rides it.) and have them describe how they would model the class(es). Nothing ground breaking here, but if they struggle with this question, they likely are still TOO junior to be an asset.

2

There are plenty of good interview tips already written, but I don't think you can fill this position until you know exactly what they are going to do on a day to day basis. If your first thought was, "Whatever I need them to do." just stop. Find a specific chunk of code for them to review. Pick the best and worst code for them to look at and see if they know the difference. Give them areas to work on for a first quick project that may have been neglected.

Hopefully you've hired the best programmer, but everyone has areas they are better/more experienced at than others. Take advantage of it and define their role accordingly.

Oh, and hire someone with a history of getting things done.

JeffO
  • 36,956
0

When you are on a one on one discussion with the developer, you can get to know him and then check if they are honest with you.

In order to do so, you can ask him the following question to know how honest he really is

  1. If they have done any certifications, like a Microsoft Certification check with them to know whether they have genuinely studied for it and clear it.

  2. Some junior developers who have done their final year projects, would have not done the project by themselves i.e their friends must have done it for them etc.

Being honest plays a very important role, when the junior developer is entrusted with confidential projects.

If you feel you can trust them, then you can give a questionnaire on which technologies they are being recruited followed by a practical text with some case scenario to check if they have the logical ability i.e to check whether they have constant touch in programming.

0

Sandglaz CEO Nada Aldahleh recently wrote a blog post about this, based on her own experience of hiring developers for her startup. Here are some of the things she looks for:

  • problem solving mind-set
  • strong communication skills
  • ask architecture and algorithm questions; a junior developer should be able to architect new small features and algorithm questions can be telling about problem-solving mindset and the kind of foundation they have
  • puzzles to isolate analytical skills

And, of course, the programming test, which should not consists though of the Fizz Buzz question. A real-life assignment that can be completed within a couple of hours at your office would be the best kind of test.

You can read more of her advice here: http://blog.sandglaz.com/how-to-interview-and-hire-junior-developers/