With the ever-growing popularity of Python, companies and startups in every industry are looking to hire Python developers . While choosing the right developer can be tricky, it’s made easier by asking the right questions during the hiring process. Here are eight questions you should ask any candidate you’re thinking about hiring as a Python developer.
1) Do you use GitHub?
Do you use GitHub, or similar, for version control? If not, can you be taught? This is a critical skill that all programmers must possess. Without it, collaboration and troubleshooting will be incredibly difficult. Programmers who can’t manage their own source code are incompetent, no matter how talented they are otherwise. When in doubt: hire python developers who use git. (Bonus points if they have an open-source project on GitHub.)
2) What other coding projects have you worked on?
To be successful at anything, you need experience. More specifically, if you want to be a good developer, you need experience. To prove that you have programming chops, list some of your previous projects and explain what they entail. If they’re hiring Python developers, they’ll likely ask about any code snippets or apps you may have in GitHub or elsewhere. Just make sure you don’t go overboard – no one wants a rambling answer that goes on and on! Keep it short and sweet.
3) How do you organize your code?
Code organization is vital when working on a large application, or even just a small one. It’s essential that code be organized in such a way that it can be easily found and maintained by multiple developers. Thankfully, Python makes it easy to organize code into modules and packages – but only if you know what your organizational structure should look like from day one. If you don’t have a good organizational structure for your app in mind when writing it, chances are things will get messy rather quickly!
4) What tools do you use for testing?
At a basic level, developers need to test code that they’ve written before it goes into production. The most common way of doing so is using unit tests—if you aren’t familiar with what these are or how they work, there are plenty of resources online. Tools like pytest allow developers who prefer a command-line approach to testing, while those who work in an IDE (such as PyCharm) can use tools such as pylint and flake8.
5) How do you handle requests from users?
If a Python developer hasn’t had many opportunities to work with end users, he or she will not know how to handle feedback from clients. The best way for you as an employer to gauge how well your potential hire will deal with requests is by posing a series of questions about past experiences and asking for his or her take on what worked and what didn’t. If a developer has not had any experience in customer support, then it may be time for you to look at other candidates.
6) What would be the best way to start contributing to your project(s)?
If a prospective developer wants to contribute to your project, they should probably be able to answer at least one of these questions. If they can’t, it might be because your documentation is subpar or unclear. Take that feedback and use it improve how you communicate with developers who want to contribute code. It could also mean there isn’t an obvious way for new contributors to get involved, which could indicate some problems in your process. Fixing those issues could go a long way toward increasing contributions and lowering barriers for newcomers.
When do you expect new contributors to start contributing?: This question has two purposes: It helps give both parties an idea of what’s expected in terms of timeline and what will happen if expectations aren’t met.
7) How do you keep track of bugs, tasks, and changes in your code?
If a developer doesn’t keep track of how code changes over time, it could be months before they know there’s an issue. If a small bug turns into a larger one, it can be hard to reverse engineer what went wrong, who was responsible for fixing it, and why it was ever created in the first place. Taking time every week or month to review project updates with your team is essential if you want a clear picture of where your code is at any given time.
8) Tell me about a challenge that you faced recently. How did you solve it?
If you’re interviewing for a position as a python developer, chances are you’ll be writing code during your daily duties. But what about when a problem crops up that isn’t clearly defined? If you want to hire python developers who can use their programming skills to navigate ambiguous situations and make informed decisions, ask them how they solved an interesting problem. This question can be difficult because it asks interviewees to explain a negative situation – one in which they failed or fell short of their goals.