That, and cars are interchangeable standardized goods. Programmers vary widely in ability. The process's closest analogy is buying a home. You want to take a walk through, compare multiple properties, get an inspection report, have everything tidy legal-wise, etc.