How to hire a mid-level developer

by Curt 13. December 2009 06:33

It must be great to hire top-tier developers. But what if it's just not possible, be it for budgetary reasons, not having that luxurious office space, or just not being that 'sexy' company.


Here are some tips on evaluating the fit of a mid-level developer


First, know what you're getting

Make sure you really consider the skill set that's needed. Don't expect to throw the spec. over the wall and tell them to come see you in six weeks (you should never do this anyway).


Mid-level developers are going to require some level of oversight.  This means more frequent one-on-ones and code reviews, especially on larger projects.

You should also anticipate that some training will be required to advance them to the next level.


Initiative and Enthusiasm 


A mid-level developer may not be able to point to a long list of technical skills, but they should demonstrate a passion for technology. Passion can be a great predictor of a candidate's drive for personal growth and commitment.


  • Ask them about some emerging technology. A candidate, who is 'into' technology will be able to talk generally about the latest-and-greatest. 

  • Have them describe what they think will be the next big thing. The answer to this will help you assess their view of how technology fits into the real world, rather than some shiny new technology to learn.

  • Get them to describe a product or feature they’re proud to have produced. As they respond (hopefully with something), listen for things like why it made a difference, new techniques that they tried, or how they overcame the challenges.


Technical Aptitude and Problem solving ability

If a developer is considered mid-level then they've likely done their fair share of maintenance on legacy code. Even if the new developer will be assigned new development work, assessing their ability to understand existing code will give you an idea of their troubleshooting abilities.


  • Don't make them write code during the interview, but do have them explain a snippet of code. The code sample should be very short (less than 20 lines) and have at least 2 methods, with one loop and one conditional.  Even if a mid-level developer doesn't know all the libraries in a particular language they should be able to explain how the code is functioning.

  • Have them talk about how they go about solving a problem. A good candidate will be able to discuss the use of the stack trace, debugging, and how they iterate through the code when they're hunting for a bug.

  • Ask the candidate what they like and dislike about the IDE they're using. Even though they're considered mid-level, they should have spent a fair amount of time in a particular editor. Be wary of vague responses like “It's great. I wouldn't change a thing', 'I can't think of anything', 'Oh I use NotePad', etc.

Do they understand the business they're in?


A mid-level developer should have some domain knowledge of the business they're writing software for.


  • Ask them to describe the business and competitors of their last employer. I'd be hesitant of hiring someone who could not go into some detail. You don't want a developer who is focused entirely on technology and ambivalent about the business side.

  • Ask them to describe the last feature they developed. What business problem did it hope to solve? Be cautious if you get responses like, “Because that's what the spec. told me to do.” or “My manager wanted it that way”.




 A developer can be technically competent, but lack the ability to understand concepts and convey ideas.


  • Is the candidate answering the questions you asked, even after you've tried to clarify? If the responses to your questions are answering something completely different then there may be a communication issue.

  • When you ask (purposefully) vague questions do they ask for clarification?  You want to make sure that the candidate is not going to go off and build something that's not what was intended.

  • Have them describe a past feature or module they wrote. Ensure that you are able to get a general understanding of how it worked.



About Me

I'm a software project manager in the Boston area. More...

    Contact Me
    Knols I've written
   My Linkedin profile