How would you test for coding skills?

Image for post
Image for post
  1. Examine the candidate’s software project portfolio. If they don’t have CS education, then I have asked for their software project portfolio, spent time examining the portfolio, and discussed the code (i.e., logic, code patterns, code structure, language features, libraries) in the portfolio projects. I have also asked about development practices, problem constraints, and alternative solutions, and if and how these influenced the code and their coding decisions.
  2. Ask the candidate to study our codebase. Not everybody has a software project portfolio. Also, neither of the above approaches may provide the required signals, e.g., the candidate hasn’t done Android programming, and our codebase is all about Android. In such cases, I have shared our codebase (of course, being conscious about IP rights) with the candidate and given her ample amount of time to study it along with opportunities to contact my team or me with questions about the codebase. Subsequently, I have discussed the code with the candidate to gauge her understanding of both the code and the system.
    While this approach cannot directly assess coding skills, it can help evaluate a candidate’s willingness and ability to read and understand code; specifically, other’s code. It can also help assess a candidate’s ability to reason about and have intelligent conversations about existing systems. Candidates with these skills can quickly hone their coding skills (provided they are open to learning new things).

What about take-home coding assignments?

While I have not given take-home coding assignments, I like this practice as it allows candidates to demonstrate their software development skills as they would on the job by using commonly used tools and information sources. However, for this to be effective, the interviewer should examine the candidate’s solution. If the solution is good enough, then she should discuss it with the candidate as part of the interview.

Written by

Programming, experimenting, writing | Past: SWE, Researcher, Professor | Present: SWE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store