Есть очень мало вещей в мире разработки, которые имеют такой огромный возврат инвестиций, как воспитание интернов.
За все годы у меня были некоторые интерны, которые превзошли мои ожидания, а также те, которые заставили меня разочароваться.
Вот один положительный пример: Парень пришел к нам на стажировку за 1200$ долларов на позицию программиста, он не знал ничего, спустя год он уже зарабатывал 4400$ потому, что он показал, что на него можно положиться и он днями и ночами изучал новые фреймворки, смотрел лекции и писал всякие классные штуки. Он всегда был на подхвате любых задач и делал это с большим удовольствием.
Так же был и негативный опыт, в парня инвестировали около 15 тысяч $ за год, но он не стал крутым программистом и его пришлось уволить. В последнем разговоре он говорил что хочет сменить профессию, такое тоже бывает.
Тем не менее, каждый стажер нуждается в обучении и воспитании. Вот некоторые правила, которые я разработал за годы своей работы, которыми хотел бы поделиться.
Без денег никуда. Плати им.
Мне кажется это логично, труд должен быть оплачиваемым. Неважно как мало, но он должен быть оплачен. Стажер - это актив с неограниченным потенциалом и правильнее будет инвестировать время и деньги в его будущее.
Не нанимай кого попало.
Стажеры может и не такие умные чтоб их гонять через 5-6 раундов интервью но это не значит, что их нужно нанимать иначе, чем других сотрудников. Они все еще нуждаются в проверке на предмет соответствия культурным традициям и адекватности. Кроме того, старайтесь нанимать стажеров, когда у вас есть проекты под них, нет ничего хуже, чем когда приходит стажер и ему нечем заняться.
Постепенно усложняй задачи
Стажерам каждый раз должно быть чуть сложнее, чем то, что они уже делали до этого и на что способны сейчас. В качестве очень базового примера рассмотрим это: Ваш стажер успешно написал скрипт на прошлой неделе для агрегации, в качестве следующей задачи вы можете попросить его улучшить решение с помощью сырого SQL, или добавить параллелизм/многопоточность, или реализовать всё это в виде CLI Tool. Это держит их в тонусе и позволяет расти.
Мы все знаем, как сложно бывает программирование в самом начале, когда бьешься над одной проблемой днями, поэтому лучше добавлять по чуть чуть сложности, чем бросать интерна с головой в какую-нибудь большую задачу.
Глупые вопросы приемлемы. Один раз.
Политика, которую я стараюсь придерживаться, заключается в том, что вы можете задать мне любой вопрос, каким бы глупым вы не считали его, я постараюсь ответить как можно подробнее или, по крайней мере, дать несколько советов. Но это работает только один раз - если ко мне приходит человек с тем же самым вопросом второй раз, я ему говорю чтоб шел искал ответ сам.
За эти годы это сработало неплохо, потому что люди начали действительно пытаться запомнить ответы и при необходимости записывать их. (Хотя обычно ответы на вопросы находятся в Slack, так что еще проще вернуться к ним и перечитать их.)
Проблемы из разных сфер
Важно дать интернам почувствовать вкус проблем из разных областей. У этого есть две цели, первая - расширение спектра решаемых ими задач. Это полезно, потому что в будущем они могут оказаться в ситуации, когда им понадобятся базовые знания в какой-то случайной области. Чем больше областей человек "попробовал на вкус", тем легче ему будет адаптироваться в дальнейшем.
Вторая причина заключается в том, что в конечном итоге область может понравиться им даже больше, чем их текущая сфера. Это не требует объяснений, так как стажер не имеет большого опыта, он может внезапно обнаружить страсть к чему-то другому.
Обширный опыт является важнейшим преимуществом для будущей карьеры стажеров.
В качестве примера рассмотрим этот сценарий: Стажеру, работающему во фронтенде и не имеющему никаких знаний о бэкенде, имеет смысл попробовать заглянуть в бэкэнд. Или, может быть, дать им некоторые задания от DevOps, чтобы они поняли, как выглядит весь CI/Deployment и т.д.
Куда мы без стандартов.
Важно с самого начала окутать их в хорошие стандарты. Хорошие стандарты приводят к хорошим привычкам, а хорошие привычки в конечном итоге приводят к хорошему качественному результату. Чем раньше человек выработает некоторые из этих привычек, тем лучше.
Хорошие привычки, сформировавшиеся в молодости, это огромнейший плюс. Гораздо сложнее избавиться от вредных привычек, чем выработать хорошие.
Общение
На мой взгляд, наличие хороших навыков общения так же важно, как и наличие технических навыков. Некоторые стажеры могут думать, что их академические достижения являются важнейшей частью их успеха в работе, но это не так. Возможно, вам придется научить их обратному. Идея быть одиночкой и кодить в своем кабинете часами напролет, не взаимодействуя ни с кем, в наши дни не работает.
Это означает, что вы должны начать обучать их хорошей коммуникации - переводить идеи в слова и передавать сложную информацию понятным образом.
Ответственность наше все.
Хотя некоторые стажеры действительно нуждаются в постоянном руководстве (например, микроменеджмент), большинство людей могут выполнять простые задачи самостоятельно и брать на себя ответственность за них.
Даже интернам не нравится, когда кто-то постоянно смотрит через плечо. Позвольте им работать автономно, но договоритесь, что если стажер застрял более чем на несколько часов по одной проблеме, он должен прийти к вам или попросить помощи у кого-то еще.
Фейл. Фейл. Фейл.
Нужно учитывать, что, скорее всего, они будут фейлить и сделают много ошибок. Это ожидаемо и должно происходить контролируемо.
Несколько лет назад я прочитал статью о стажере, который уронил продакшн базу данных (https://reddit.com/r/cscareerquestions/comments/6ez8ag/accidentally_destroyed_production_database_on/), и руководитель был очень зол из-за всей этой ситуации и интерна уволили. Я понимаю позицию менеджера, это довольно сложная ситуация, но ответственность на 100% лежит на лиде, а не на интерне.
Не должно быть ситуации где интерн может так эпично зафейлить.
Встречи 1 на 1
Вы должны поймать проблемы в обучении интерна как можно раньше, поэтому необходима встреча с интерном раз в две недели, чтобы обсудить прогресс. Обычно к ним относятся следующие вопросы:
- Чем занимался последнии две недели?
- У тебя были какие-нибудь проблемы в это время?
- Что тебе необходимо для улучшения?
- Какие факапы были за неделю? Чем гордишься?
Постоянно совершенствуйте свою программу стажировки.
После того, как практикант завершит свою стажировку, важно задать критические вопросы:
- Что бы ты хотел знать до начала стажировки?
- Получил ли ты то, что хотел, от этой стажировкой?
- Какой опыт был для тебя наиболее полезным?
- Что бы ты сделал по-другому?
В заключение хочу сказать, что первая практика, которую проходит человек, оказывает огромное влияние на его дальнейшую карьеру. Важно сделать это время интересным, дать им исследовать новые сферы, дать им найти свою страсть и не заставлять их слишком много нервничать, в противном случае они могут пересмотреть свой выбор карьеры, а мы точно не можешь позволить терять классных интернов, программистов и так мало.
Мой телеграм канал: https://t.me/vadim_korso
#вадимКорсо #слушаемКорсо