Как внедрять новых программистов в проект?
Программисты не имеет доступа к данным пользователя. Администраторы имеют ограниченный доступ. Разработка ведётся на тестовых обезличенных данных. Если случается проблема требующая доступа к продакшн работа производится совместно программистом и администратором под контролем последнего.
Если правом в том как вводить людей в курс дела, то новому программисту даются сначала более лёгкие задачи типа исправления простых ошибок потом более сложные пока он не понимает принятый способ работы и на. Code review не убеждаются что он все перенял.
Доступ к базам - только в окружении dev, если совсем защититься - то отдельного юзера с правами. Касательно кода - git и веточки, не?