If you're planning a project that requires expertise in Python and are now looking for developers to help you out, don't worry – we've got you covered.
In this article, we share everything you need to know about recruiting Python experts: what skills to expect, what knowledge they should have and how to tell they're a good match for your project.
Here's our guide to recruiting Python experts.
What to look for in a resume
Developers usually include plenty of technical details in their resumes, and it's smart to pay attention to them. First, make sure that you understand which version of Python the developer uses – some of the most popular versions are 2.6, 2.7, 3.4, and 3.5. Note that Python 2 and 3 are very different, but a skilled developer will be able to switch from one to the other. Python 2.7 is the latest version of Python 2, and 3.7 is the newest version of Python 3.
If you're planning a web development project, make sure that the developer is well-versed in Python web frameworks such as Django (the most popular one), Flask, Bottle, Tornado, and Pyramid. For more information about these frameworks, check out these posts:
Django, Flask, or Pyramid? How to choose the right Python framework for your project?
Python comes in handy for data science projects that deal with Machine Learning (ML), data analysis and visualization, and Natural Language Processing (NLP). If you're hiring a Python expert for a data science project, pay more attention to their knowledge about particular machine learning libraries and tools such as Scikit Learn, NumPy, TensorFlow, SciPy, and Pandas. If you’re project has a strong NLP component, make sure that the candidate knows these best Python NLP libraries.
What to ask during the interview
Once a candidate's resume checks out all the boxes you need, it's time for an interview. In general, you're looking for someone who has strong problem-solving skills, can to create, analyze and implement algorithms, and organize code effectively. If you ask the right questions, you can get the idea about these skills.
Here are some goals for your interview that indicate which questions you need to ask:
Find out more about the candidate's current Python experience, achievements, and responsibilities. Ask with which technologies listed in their resume they had commercial experience during the last 2-3 years. Ask them to share their core responsibilities and achievements.
Allow the candidate to demonstrate their knowledge about the Python ecosystem. You can do that by asking which open source libraries they consider valuable and why. Ask what they take into account when choosing a particular technology for the project. Don't hesitate to follow up with questions about their opinion regarding commercial vs. open source solutions. That way you'll learn how the candidate approaches projects and what is their level of experience with these technologies.
Ask about particular technologies listed in their resume to learn their rationale for using them over others. Ask: Why not use framework X for that task? You'll learn how the candidate chose the technology and check whether their opinion is in line with your goals and the team you're building. Answers should be understandable and carefully formulated. You’ll see if candidate is familiar with the topic and not just throwing a bunch of technical terms at you to sound smart.
Learn whether the candidate was a decision-maker in previous projects. You can do that by asking at what stage they joined these recent projects. Ask whether the candidate was involved in the choice of project setup or technology and whether they would do something different. That way you'll learn whether the candidate can draw conclusions from past mistakes and learn from their experience. If you're looking someone experienced in building systems from scratch, this question is fundamental.
Search for right mindset. An exceptional programmer can solve problems quickly and with a high awareness of the inner workings of a given environment. Look for people with natural curiosity: such candidates are always tinkering with code, browsing through open source applications, and are enthusiastic about new things he/she just learned.
Avoid following any preconceived notions about the candidate. The fact that a candidate has graduated from a prestigious university and has PhD should not lead you into thinking that they are smart. It works the other way round: a seemingly weak curriculum isn’t a reason for throwing the candidate into the lowest bin. Try to judge each person equally based on fair criteria (knowledge, skills, etc.).
Hiring Python experts can be challenging
It's not easy to recruit Python experts to create a coherent and well-integrated team where each member's skill set adds to the overall value of the team. It also might turn out to be very expensive if you hire in your home market.
That's why hiring a dedicated team is a viable solution. You get to benefit from the expertise of a team that has all the skills you need and follows processes that support collaboration and timely delivery.
Most importantly, by hiring a dedicated team you won't have to go through the time-consuming process of screening candidates – all it takes is stating your requirements and your tech partner will assemble a team that meets them all.
At Sunscrapers, we have partnered with organizations that wanted to scale their teams quickly but didn't want to waste time and money on requirements. In some of these collaborations, our partners stopped to grow their internal teams and instead asked us to scale the team responsible for delivering work to them. That's a clear sign that the dedicated team model works to their advantage.
If you'd like to learn more about hiring a dedicated Python team, reach out to us; we help organizations build and scale teams without losing the momentum of their business.