Python is one of the most popular programming languages because it is simple to learn and it provides powerful scientific tools and features good documentation. It is similar to C++ but suitable for various modern solutions.
If you are looking to hire a Python developer, you need to be aware that a Python skillset is quite complex to understand. Before you start the screening process, you need to be prepared and know how to evaluate the candidates.
Python has various uses and is dynamically typed. It is great for smaller applications, but sometimes it can be difficult to use for larger long-lasting apps.
Read on to find out how to verify Python developer skills in the screening process.
Technical screening based on the CV of the candidate
Python does not have a lot of libraries and technologies in comparison to Java. As a recruiter, you should look for the following:
The most popular versions of Python are 2.6, 2.7, 3.4, and 3.5;
- Python web frameworks include Django, Bottle, Flask, web2py, Tornado;
- Test frameworks include UnitTest, nose, py.test;
- ORM: Django ORM, SQLAlchemy;
- Data analysis tools: SciPy, NumPy, Pandas;
- Asyncio: Python 3.5, Twisted, Tornado.
Since there is no certification program offered by the Python community, you will not find Python language and libraries certificates.
Technical screening during a phone/video interview
It will be difficult to make valuable conclusions based on the Python developer’s CV, so a phone or video interview would be the next step in the screening process. You will get the opportunity to ask questions and decide whether to invite the candidate for an on-site interview. The questions can vary depending on the position you are hiring for, but the following ones are quite general and will help you learn more about the developer’s Python skills.
- How much commercial experience do you have with the technologies listed in your CV? What were your main responsibilities, and what was your biggest achievement?
- Which are the most valuable Python libraries in your opinion – and why?
- What is your personal opinion on framework X you have listed on your CV?
- What stage were the most recent projects you joined? Did you decide which technology should be used?
- Which of the projects you have worked on would you consider to be a failure – why was that? What did you do to improve the situation, and what did you learn from the experience?
Technical screening with an online coding test
Online coding tests are one of the best and most reliable ways to verify Python developer skills. You can use the test before the phone or video interview or after – depends on the volume of candidates and the position you are hiring for.
There are different coding tests to choose from, but make sure that the one you use will verify Python technology and frameworks and libraries. There should be a couple of tasks included, and they should match the responsibilities of the job you are screening for. Preferably, these coding tests should use the company’s own codebase and imitate the tasks and challenges that the candidate will face once they get the job.
And when recruiting senior Python developers, the online coding test should include a task with a code review challenge to learn more about the developer experience, approach to the quality of the code, and their efficiency of finding bugs.