Если вы управляете командой разработчиков программного обеспечения, вы обязаны помочь своей инженерной команде добиться успеха. Это включает в себя больше, чем просто управление — это требует лидерства, которое включает в себя их поддержку, руководство ими и привлечение новых талантов, когда это необходимо. Больше года назад меня повысили до должности технического директора в моей нынешней компании, и я быстро понял, что школа не всегда готовит вас к этим задачам.
Для создания великой компании требуется нечто большее, чем просто четкий план — нужны талантливые люди, способные воплотить этот план в жизнь. Вот почему наем правильных людей и определение того, как помочь каждому работать с максимальной отдачей, стало важной частью моей работы.
Быть реалистом и честным
Нам не обязательно быть лучшей компанией в мире, чтобы добиться успеха. Важно то, что наш продукт или услуга — это то, что наши клиенты находят полезным и за которое стоит платить. Мы не собираемся менять весь мир — просто сделать его немного лучше для некоторых людей.
Чтобы сделать что-то лучше, нужно быть честным в отношении того, что нуждается в улучшении. Вот почему я хотел, чтобы все чувствовали себя комфортно, обсуждая слабые места нашего продукта, в том числе признавали, что качество нашего кода было не на должном уровне. Открыто говоря об этих проблемах, мы можем сотрудничать для улучшения.
Создание культуры, основанной на тестировании
Еще одним важным аспектом было создание корпоративной культуры, в которую я искренне верил. Все говорили, что у нас хороший продукт, но наш код этого не отражал. У нас даже не было надежной практики тестирования, что усложняло доставку стабильных функций в производство.
Это произошло не потому, что наши разработчики не были заинтересованы в хорошей работе; они просто чувствовали необходимость работать быстро. При тестировании процессы могут немного замедлиться в краткосрочной перспективе, но добавление тестов в код оказывается столь же полезным, как и создание новых функций в долгосрочной перспективе. Сейчас мы уделяем тестированию столько же времени, сколько и функционалу, и такой подход уже окупается. Наши клиенты и, что немаловажно, наши разработчики стали счастливее, потому что они чувствуют, что делают свою работу хорошо.
Как мы перешли от невежества к одержимости тестированием? Я думаю, что ключом был наем новых…