Understand what it means to be “senior”
Data from our Developer Report suggest that being a senior software engineer is a wide concept. The majority of software engineers who identify as senior have 5 years of professional coding experience or more.
When interviewing experienced software engineers, it’s expected that they’re able to not only figure out what the problem is, but also provide solutions with refactored code. For entry-level roles, we expect them to just be able to solve the problem. Remember that experience teaches you what problems to solve.
During the technical interviewing process for senior software engineers, ask what kind of work they do to sell new ideas to management and how they go through the software development process. It should also be clear that they keep up with the latest developments in the market.
Start thinking about the necessary coding skills and core values that you’re looking for in senior candidates and incorporate that into the technical interviewing process. Encourage your team to create a document that details the “job ladder” — be sure to explain what characteristics matter and the difference between levels.
Prepare the right interview questions
Video interview or not, the face-to-face interview should feel like a conversation for senior software engineers. Be transparent about what the recruitment process looks like and don’t let interviews drag on. Ask questions about software design, architecture, and behavior. Here are some examples:
- When would you use a NoSQL solution instead of SQL?
- How would you deal with scaling a monolithic web service such as a Django or Ruby on Rails app?
- How do you stay up-to-date on new technologies related to full stack web development?
- What technologies, programming languages, and frameworks would you use if you had to develop a project from scratch in only one month?
- What are the benefits and drawbacks of working in an Agile environment?
- For a public facing application, what security concerns would you have? And how would you address them?
- How would you document your work on an application so that others coming after you can understand why the system is the way it is?
Remember that it’s pointless to ask senior software engineers to complete a simple algorithm or data structure test — some haven’t dealt with that stuff for years. Instead, ask them to share a few work samples or other documentation that can speak to their technical skills.
Also be wary of whiteboarding tests — this should really only happen if you’re expecting senior software engineers to do this in their day-to-day work. Whiteboarding interviews aren’t always the best method to use in the recruitment process. For one, whiteboarding interviews don’t provide an environment that represents a candidate’s actual working environment.
Collaboration is key
During the recruitment process, make sure to collaborate with the hiring team, especially other senior software engineers on the team who will work with the potential candidate once they are hired. A panel that represents the team and company will also give the candidate a better feel for the work environment. Try to limit the panel to five people at a time so as to not overwhelm them.
You could also leverage collaboration in the assessment itself. A common way to assess hard skills is to code with your candidates, commonly known as paired programming. Use a platform that has a whiteboarding and video interview feature like CodeLive so you can see how an applicant thinks in real-time. CodeLive offers the use of real-life tasks in a shared, live, development environment.
Technical interviewing tips
This can take a couple of different forms. Nowadays many companies ask candidates to complete a take-home coding online test. The value in a coding online test is that candidates can work from the comfort of their own laptop and equipment. Senior software engineers tend to have plenty of other responsibilities — so allowing them to take a coding online test in their own time is valuable.
In the absence of a take-home coding online test, spend an hour on a video interview and ask the senior software engineer how to improve upon existing code — this shows that you really care about code quality and collaborative programming. This can also be done through a video interview format through CodeLive.
Remember that a coding online test shouldn’t feel like a homework assignment. This is your chance to build a collaborative relationship with the senior software engineer — you might even learn a thing or two.
Need to level up your recruitment strategy to hire great software engineers or more tips on technical interviewing? Download our eBook for more hiring strategies.