Как правильно «раздавать» код программистам?
Классическим подходом так же есть выделение подпроектов в отдельные модули-репозитории. И если используется git  подключать такие проекты к основному как submodule.
Посмотрите на реализацию бандлов в симфони, довольно удобный способ изоляции работы одних программистов от других.