9 софт-скиллов идеального джуна: взгляд тимлида
Хотя старая байка про «джунам не важны хард-скиллы» уже давно протухла, софт-скиллы начинающему разработчику всё равно нужны как воздух.
Кадр: фильм «Звёздные войны. Эпизод VI: Возвращение джедая»
Дэниел Андерсон
(Daniel Anderson)
Об авторе
Ведущий fullstack-разработчик из Манчестера, Великобритания.
Переводчик
Руслан Гаджиев
Как правило, джунам помощь требуется намного чаще, чем более опытным разработчикам. Не только из-за того, что они не знакомы с рабочими процессами, но и потому, что они слабо ориентируются в коде или плохо знают нужный тулкит. Разберёмся, что же на самом деле важно знать и уметь джуну, чтобы его ценил тимлид.
1. Стремление познавать
Важно быть открытым, прислушиваться к команде, идеям и советам. Тимлид всегда видит, заинтересован ли джуниор в работе. Хороший джун всегда хочет учиться, а значит, будет задавать много вопросов. Любому тимлиду нравится, когда джуниор проявляет интерес, спрашивает, что и как.
2. Пытливость
Хороший разработчик пытается решить задачу различными способами, и, даже если он не справится, тимлид увидит, пытался ли вообще разработчик что-то для этого сделать. Это качество со временем принесёт пользу и самому разработчику, и всей команде.
Упорному джуниору тимлид с уверенностью сможет поручить любую задачу, потому что будет знать: тот сделает всё возможное для её решения. Ещё такие джуны, как правило, сами не бегут от сложных задач — они понимают, что это их шанс для роста и развития.
3. Коммуникации
Работает для сотрудников любого уровня, но чаще с этим возникают сложности у джуниоров — ведь они, как правило, испытывают большое эмоциональное напряжение.
Тимлид не так сильно переживает за соблюдение сроков, как может показаться, но если не предупредить его о сложностях заранее, у него могут возникнуть проблемы с системой менеджмента.
Лучший джуниор-разработчик — тот, который задаёт вопросы всегда, когда чего-то не понимает. Для него не бывает глупых вопросов и важна любая информация.
4. Позитивный настрой
Кому понравится новый сотрудник, от которого исходит негатив? Джуниору поначалу часто требуется помощь, поэтому нет ситуации хуже, чем пытаться ему помочь и видеть, как он отвлекается, зевает и даже не слушает тебя.
Такие невнимательные сотрудники даже не считают нужным вникать в сложные задачи, работают вполсилы, но при этом ждут карьерного роста.
5. Организационные навыки
К ним относятся внесение изменений в карточки пользовательских историй (user stories), учёт своего рабочего времени, обновление предварительных сроков выполнения задач. Всё это помогает тимлиду менеджерить команду и в нужный момент корректировать планы.
Ещё один важный момент — работа с актуальной версией кода. Многие джуны забывают про pull request, что в итоге сильно осложняет процесс слияния веток. Очень важно выработать привычку работать с последней версией кода.
6. Взаимодействие с командой
Многие джуниор-разработчики в попытках доказать команде, что они чего-то стоят, забывают о том, что с коллегами можно просто приятно проводить время — например, сходить на обед или поболтать о чём-нибудь.
Это действительно сближает и помогает команде расти профессионально. Джуниор чувствует себя в такой обстановке гораздо увереннее и не стесняется задавать вопросы коллегам.
Так что, если вам нравятся люди, с которыми вы работаете, вы с большей вероятностью задержитесь в компании надолго.
7. Понимание базовых концепций
Хорошее видение концепции разработки ПО и знание базы помогает разработчику показывать достойные результаты на практике. Тимлиду очень сложно в боевых условиях обучать разработчика, который не понимает базовых принципов и сути сущностей. Такому сотруднику сложно что-то поручить, и он дольше будет вливаться в коллектив.
8. Участие в сайд-проектах и пет-проекты
Это качество говорит тимлиду о том, что сотрудник действительно интересуется разработкой и, благодаря опыту, полученному от участия в сайд-проекте, разработчик может поделиться новыми идеями с членами своей команды.
9. Тестирование кода
Даже простое тестирование кода может сэкономить кучу времени тимлиду. Нерабочий код затягивает процесс ревью. Справедливости ради стоит заметить, что к тестам могут пренебрежительно относиться разработчики всех уровней. Обычно тимлид сразу видит, что код тестировали совсем поверхностно или не тестировали вообще.
Заключение
Из этого списка качеств становится понятно, что технические навыки на самом деле не так важны. Джуниор-разработчик — это не моментальный результат, а скорее долгосрочные инвестиции.
Если начинающий разработчик имеет в своём арсенале хорошую теоретическую базу, положительное отношение к работе и сильные личностные качества, то у него есть все шансы быстро стать важным членом команды.