> Tip: Do not take the developers they give you/have on the project. Interview all of them and reject the bad ones.
This is really good advise and probably will save many people months of headaches. You wouldn't just hire someone random HR throws your way, why do that with an agency you've never worked with before?
> why do that with an agency you've never worked with before?
I don’t see how this works? You ask agency for a developer for your project, you get a developer for the project. Will you just withold payment if they don’t use developers you like?
No, you go "I'm sorry but we're paying you for quality work and the dev you assigned us is clearly a junior dev. If you do not have the capacity to do this job then we would have preferred you simply stated this up front" and then you don't "withhold payment", you make it a contract condition and you terminate the contract and find someone else.
It has nothing to do with developers you _like_, but with developers who are going to deliver what has to be delivered in the timeframe set out in the contract. If an interview shows they're not going to be able to, then the company did not provide you with developer to do the work, they provided you with someone who can't do the work.
The agencies I've worked actually all let me interview the dev(s) before the contract was signed. If someone didn't seem a good fit we would either get another candidate or renegotiate rates.
This was for augmenting an existing team though, things are different if you outsource a whole project.
This is really good advise and probably will save many people months of headaches. You wouldn't just hire someone random HR throws your way, why do that with an agency you've never worked with before?