I just assumed tech lead for a project which has had a problem with its very part-time (maybe 2-5 hours / week) contractors:
- submitting code that brings down the production app,
- pull requests that cannot be auto-merged,
- writing misnamed tests that don't actually test what they claim, and
- not writing tests for the new submitted features.
A big problem is that these remote, part time contractors aren't in the office to respond immediately if there's a problem with their code.
Also, I'm the only full time developer on the app, and we can't afford to have my time spent checking and debugging others' code.
My idea is to adopt an open-source working style with them. I.e., would a big, important project (like Linux, Ruby, Rails, etc.) accept the proposed changes? We find out the criteria they have and then enforce that. We let go any contractor who doesn't play by the rules.
Is this the way to handle the relationships?
EDITED: To highlight the very part-time nature of the contractors. Less than 10 hours per week, usually 2-5.