На старт!

Старт карьеры.

В первый рабочий день стажер получает простую задачу на знакомство с кодом. Как правило, это изменение 2-3 строк, например, мелкая бага. Человек знакомится с workflow, учится, как “сливать” код из git, как коммитить git и отдавать на тестирование. Наблюдает, как тестировщики проверяют задачу и как возвращают ее, как эта задача попадает в релиз. Одним словом, в начале стажер просто изучает процесс - обычно на это уходит не больше недели. Затем он получает более серьезное задание. Иногда это обособленная задачка, которую нужно сделать, не вмешиваясь в чужой код: написать большой кусок, проследить, как этот кусок запустится, скоординироваться с администраторами. Иногда - задача из рутинного пула, который распределяется между всеми сотрудниками.

Вместе с задачей наставник всегда дает стажеру подробное устное объяснение: что и как нужно делать, почему нужно делать именно так, а не иначе, и т.д. В процессе решения происходит еще несколько таких разговоров - это делается исключительно для того, чтобы человек получил как можно больше знаний.

Code-review

Когда стажер только приходит в компанию, в его workflow есть два code-review. Первое - код на альфа-сервера. Второе - код, который “выезжает” на боевые сервера, то есть тот, который видят люди. Ревьюер смотрит и комментирует код, мержит либо просит что-то исправить и дает объяснения.

Когда стажер вырастает (как правило, это происходит через год), одно code-review пропадает: на альфа-сервера он коммитит код сам и “выливает” его тогда, когда считает нужным. Остается только “боевое” code-review. Так человек чувствует большую ответственность за свой код: то, что он написал, так или иначе выезжает в бой. Если он допустил ошибку, тестировщики на альфа-серверах протестировали, но код-ревьюер заставил переписать - приходится переписывать и делать задачу заново.

Чтобы сразу делать все верно, задачу нужно правильно понять и реализовать с использованием правильных технологий. Для этого стажер должен обрести скиллы по общению с коллегами и менеджерами - в первое время стажеров учат и этому.

Но наставник никогда не пытается задавить инициативу. Любой стажер, если он чувствует в себе силы и желание, может написать большой кусок кода, выпустить его в бой и радоваться, что код работает на больших нагрузках. Наш проект - это highload. Человек держит руку на пульсе и смотрит, как быстро взлетают графики, когда он раскатывает свой код, видит, если что-то начинает падать. По первости это вдохновляет - ты вывел кусок кода, и за 5 минут на него посмотрели 5 миллионов человек!

Из стажеров в штат

Единственное отличие стажера от штатного разработчика заключается в том, что стажера в большей степени направляют на обучение. Важно не число задач, которые он выполнит, а количество знаний, которые получит. Каждого стажера, который дорастает до разработчика, переводят в штат. Нужно понимать: штатный сотрудник - это полная занятость, 40 часов в неделю. Разработчик должен регулярно находиться в офисе и выполнять определенный пул задач.

Подробнее об условиях стажировки, собеседовании и необходимых качествах стажера мы периодически рассказываем в нашей группе.

248 views·2 shares