Я возглавляю небольшую команду, где каждый имеет опыт разработки программного обеспечения менее года. Я бы ни в коем случае не назвал себя гуру программного обеспечения, но за несколько лет, когда я писал программное обеспечение, я многому научился.
Когда мы делаем обзоры кода, я учу и исправляю ошибки. Я скажу такие вещи, как «Это слишком сложно и запутанно, и вот почему» или «Что вы думаете о переносе этого метода в отдельный класс?» Я очень осторожен, чтобы сообщить, что если у них есть вопросы или несогласные мнения, это нормально, и мы должны обсудить. Каждый раз, когда я поправляю кого-то, я спрашиваю: «Что ты думаешь?» или что-то подобное.
Однако они редко, если вообще не согласны или спрашивают, почему. И в последнее время я замечаю более явные признаки того, что они слепо соглашаются с моими высказываниями, а не формируют собственное мнение.
Мне нужна команда, которая может научиться действовать правильно самостоятельно, а не просто следовать инструкциям. Как можно исправить младшего разработчика, но все же побудить его думать за себя?
Изменить: Вот пример одного из этих очевидных признаков того, что они не формируют свое собственное мнение:
Я: Мне нравится ваша идея создания метода расширения, но мне не нравится, как вы передавали большую сложную лямбду в качестве параметра. Лямбда заставляет других слишком много знать о реализации метода.
Джуниор (после недопонимания меня): Да, я полностью согласен. Мы не должны использовать методы расширения здесь, потому что они заставляют других разработчиков слишком много знать о реализации.
Произошло недоразумение, и с этим разобрались. Но в его высказывании не было даже унции логики! Он думал, что он извергает мою логику обратно ко мне, думая, что это будет иметь смысл, когда на самом деле он понятия не имел, почему он это сказал.