If you’re interviewing a Python developer, you might be tempted to ask how the Global Interpreter Lock (GIL) works. A hard question. What would a good answer tell you about the person you’re about to hire?
Imagine you spend half your day getting from one meeting to another in London. You’d like to use that time to work, so you decide to hire a driver.
You ask around, but no one you know can recommend a driver. So you post a job ad. Fifteen people apply.
So what do you ask?
Have you driven professionally before? How well do you know London? Any traffic fines? Can you get to my place by seven on a Monday morning?
You ask all fifteen candidates and get perfectly reasonable answers from every one. You still have to pick someone. A smooth ride matters to you, so you try a harder question. “Could you explain a suspension system?”
About half the candidates can’t give you much of an answer. For the first time all afternoon, you can cross a few names off your list. So you ask another question about the suspension.
Congratulations, you’ve hired a former mechanic as your driver.
On Monday morning, you’re in the back seat with your laptop open. The ride is a little rough and you spill coffee on your shirt.
“It’s the suspension” your driver says. “Too stiff”. He knows a shop that can adjust it. Two days later, the car is back. You’re glad you hired someone who knows these things. The following week, he takes a sharp bend by the Thames. This time the coffee lands on your keyboard.
“Could be the springs” he says. “I can call the shop.”
You’ve already lost two days. Before you lose another two, you ask him to take that bend a little slower on the way home. “All right” he says. The coffee stays in your cup. “Could still be the springs” he adds.
Back to the Python interview. The job ad might say “Python developer.” What you need is an engineer who can figure out why something is going wrong. Python may be their strongest skill. Knowing when to use it is part of the job.
A customer says our dashboard takes ten seconds to load. When I log in, it opens instantly. Where would you start? I’d bring that story to the interview and see what the candidate asks. Where does the time go? Is the worker busy doing calculations or is it waiting for the database? If the candidate has a question about the GIL, we can talk about it. If they want to see the database query, I’d pull it up. Either way, I get to see how they work.
Before you ask a harder question, who are you looking for? A mechanic or a driver?