Forums

hiring/recruiting

Just want to learn your general advice on hiring/recruiting, such as:

  • interview questions
  • finding people through local meetups
  • recruiting via internet
  • temporary help vs. permanent vs. co-founder status

Other than specific technical skills, what do you look for and how do you go about it? It sounds like a lot of users here are single developers and a few teams (based on the forum topics on team dev and collaboration). Ideally, I'd see hobby projects grow into real projects and therefore people using the higher end pythonanywhere plans.

When hiring for PythonAnywhere, we follow a process where:

  • We get CVs/resumes in via advertising on the Internet.
  • For the people who look like good candidates after reviewing those, we do a telephone/Skype/whatever screening interview, where we ask some basic programming questions, just to filter out the people who are good at writing CVs but not actually any good as coders. Things like "what is recursion" or some simple questions about object-oriented programming or how to use version control systems.
  • Then we bring people in for interviews. Everyone in the team meets them and asks questions. In general, the plan is to avoid the kind of questions that are just going for specific knowledge (who remembers the quicksort algorithm when it's been years since they learned it?) and rather get a feel for whether they love coding, whether they're inventive thinkers.
  • Finally, we do a pair-programming exercise. At PythonAnywhere, we do Extreme Programming, and all production code is written by two people working together at the same computer. We're very much used to coding side-by-side with someone. So, we choose a simple example of a change we'd like to make to our system (the kind of thing that should take less than an hour), check out a development version, and one of us works with the person on an implementation of the feature.

The decision between different candidates for a job normally boils down to the last step -- the pair programming. IMO you learn loads more about someone's abilities and temperament by coding with them than by any interview questions.

Hope that's of some interest!

Hmm yeah pair programming as a sort of audition makes so much sense. I guess it's like if you were recruiting for musicians for your band.

Anybody do this with remote programmers? What tools did you use if so? Did you use Bash on PythonAnywhere or something else?

Yes, exactly! You get a good feel not just for whether someone is a good programmer, but also whether they write the kind of code that will work well with your existing code -- or whether they're good at explaining why a different style would be better, etc.

We have done remote pair-programming exercises in the past when we had candidates who were abroad -- although we're based in London, and don't do remote development, some people have applied for jobs from abroad and of course we didn't insist on them coming here to do the interviews.

We did indeed use bash on PythonAnywhere, specifically using vim, and it worked pretty well.