In the tech industry, it may be difficult to differentiate between a mediocre coder and a great one just by a face-to-face interview.
Tech employers can agree on only wanting the best candidate to come on board, someone who actually has more than necessary skills to hack through the growth of a startup. But is this only something that time will tell, or can you actually test this ability from the first interview?
How should you separate that one needle from the haystack of coders?
Here are some (actually useful!) strategic questions for your interviewees, given the specific business model of your tech startup. We believe these sets of questions will be the key to separating sheep from goats, and finding that needle in the tech haystack.
I’ve found that a candidates level of source control experience can be an early warning that someone might not be a good fit. If they aren’t familiar with good source control practices, I start to question a lot about their development skill in general. I want to know about what systems they’ve used, and how advanced their usage is.
- What source control systems have you used? Which is your favourite?
- Why do you think your favourite is the best?
- What do you think the best practices are for branch management in a multi-developer project?
Although I’ve come to consider CI a best practice, implementation is still unevenly distributed in the development world. It’s not a deal-killer if they haven’t worked with CI, but I want to know that they’re aware of it.
- Have you worked in a CI environment?
- If yes, what was the workflow? Positives and negatives?
- If no, what do you know about CI? How would you go about setting it up?
I love having the ability to refactor major assemblies in HiringThing, and the only reason we can do that painlessly is our great test coverage. Experience with disciplined test development is a must.
- Have you worked on projects where writing tests was as integral part of the development process?
- Describe your workflow when writing tests and features?
- What kind of test coverage did your last project have?
- What’s the most complex UI feature you’ve ever built?
- What do you think the most effective way to work with designers is?
Hiring a Rails developer, I’ve pre-validated with an initial conversation that the candidate has the required level of experience with Rails before even undertaking a technical interview. That said, I want to ensure that they’re not misrepresenting their level of experience.
- Pretend I’m another programmer who has never used Rails – explain to me how a Rails app is structured, and why it’s a good framework for web apps.
- How do you decide what logic should reside in the models vs. controllers?
- Tell me about the most complex Rails app you’ve worked on.
I tend to regularly pick an architecture design question that’s relevant to where we’re going as a company, and something with no “right” answer to help understand how the candidate thinks.
- We’re working on adding an API to our system. How would you go about designing a brand new API?
- Discuss best practices and pros and cons of popular approaches.
- How would you go about securing an API?
Infrastructure and Deployment
In a small team, we don’t have the kind of IT support that large companies have. Our developers need to keep deployment and hosting issues in mind as they’re developing and take responsibility for helping to maintain our stellar uptime record.
- What operating systems are you familiar developing on?
- Describe an ideal web application deployment process? What tools are used? What is the workflow?
- Do you have experience using Amazon Web Services?
Questions curated from:
Cover Photo: hbguides.com