I don't think your analogy holds up. Theres really no such thing as just a "doctor". Everyone specializes in some field, even if that specialization is in generalization. But doctors who specialize in general cases (i.e. family practice) serve the role of passing you off to the appropriate specialist to fulfill your needs. And in the same way I would expect a highly experienced programmer to know the limits of their skillset and when to delegate tasks.