Recently I've started interviewing developers for my team again, and I'm curios how others go about performing the technical portion of the interview process.
For instance, in the past we've generally done the following:
* I might review the resume before they're given the coding challenge.
As for the technical interview itself, it generally goes something like:
1. Brief introduction.
2. Go over any points I find interesting on their resume, and have them fill in more detail.
3. Go through a list of technical question ranging across many different topics (tools, general programming, JS, Vue, REST, CSS, MySQL, etc.) to try and gauge their strengths and weaknesses.
4. Have them work through a set of challenges while sharing their screen, and have them talk through their thought process.
- They can use Google and what not during this portion.
5. Have them ask any questions that might have for me about my team (from a technical perspective).
The time it takes the technical interview varies greatly. Getting to #3 can take ~30-40mins. Then depending on how well they do, #4 can take up to an hour or so. Sometimes we just end at #3 if we aren't impressed.
I've also had interviews in the past (where I was the interviewee) where:
If you haven't performed any technical interviews, but have been on the other end, I'd also be interested in your experience(s).
For instance, in the past we've generally done the following:
- Applicants are screened by the PM.
- If they make it past the initial screening, we give a simple assignment to do (e.g. create a simple HTTP client that interfaces with a REST API).
- If I think what they've provided is satisfactory, and their resume matches aligns with I'm looking for, they're offered a technical interview.
* I might review the resume before they're given the coding challenge.
As for the technical interview itself, it generally goes something like:
1. Brief introduction.
2. Go over any points I find interesting on their resume, and have them fill in more detail.
3. Go through a list of technical question ranging across many different topics (tools, general programming, JS, Vue, REST, CSS, MySQL, etc.) to try and gauge their strengths and weaknesses.
4. Have them work through a set of challenges while sharing their screen, and have them talk through their thought process.
- They can use Google and what not during this portion.
5. Have them ask any questions that might have for me about my team (from a technical perspective).
The time it takes the technical interview varies greatly. Getting to #3 can take ~30-40mins. Then depending on how well they do, #4 can take up to an hour or so. Sometimes we just end at #3 if we aren't impressed.
I've also had interviews in the past (where I was the interviewee) where:
- I simply walked through some of the repositories I had on GitHub, and talked about why I did certain things. I also answered a few technical questions.
- Another place had me work alongside them at their office for 90 minutes while I created a basic CRUD app with PHP (and HTML), and then reviewed that at the end.
If you haven't performed any technical interviews, but have been on the other end, I'd also be interested in your experience(s).