Стажеры. Возможно ли выстроить с ними по-настоящему эффективную работу, которая будет вызывать положительные эмоции у всех сторон? Своим опытом делится человек, который уже давно и успешно занимается этим — тимлид команды монетизации Муслим Султанов. Он расскажет, как правильно относиться к стажерам, что нужно и не нужно делать и как распознать лучших.

Самое главное

— На что ты смотришь в первую очередь у потенциального стажера?

Я смотрю, есть ли у него  GitHub. Человек должен понимать, что в начале своего пути нужно фиксировать все действия — проекты, учебные задания, туториалы. Уже за полгода собирается неплохой багаж, который точно можно показать. 

Иногда происходят ситуации, когда на собеседование приходит человек и говорит «‎Я хочу быть разработчиком, я прошел курсы и уже что-то программирую»‎. И когда я спрашиваю про GitHub, выясняется, что его просто нет. Хотя сам факт наличия GitHub, даже слабого, это уже большой плюс. И это точно намного лучше, чем его отсутствие. Шансы на трудоустройство с портфолио сильно повышаются.

— А в чем причина отсутствия GitHub?

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

Плюс наличие GitHub подразумевает знание технологии контроля версии Git, что тоже преимущество. Ведь с ней нужно будет работать независимо от того, какой язык программирования будет выбран. И, откровенно говоря, портфолио в GitHub сильно никто проверять не будет, особенно если вы начинающий разработчик. 

— Ты не проверяешь?

— Когда  ты открываешь GitHub, главное, что ты видишь — что человек что-то делал. Я выборочно смотрю те проекты, которые меня заинтересовали. Другое дело, если ко мне придут кандидаты на позиции middle или senior, я буду смотреть их проекты и детально изучать. 

Поиск нужных людей

— Какой кандидат точно попадет к тебе на стажировку? Есть какие-то курсы, которые нужно закончить?

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

Интересуюсь, почему они решили стать программистами, какие у них цели дальше, что их привлекает. Отдельно спрашиваю про деньги, потому что тема программирования сейчас достаточно перегретая как раз из-за высоких зарплат. Плюс я пытаюсь понять, реально ли у них есть какие-то программерские идеи. Есть ли у них замысел какого-либо проекта или что-то подобное? Что-то, что они хотят сделать, но пока не могут, потому что не хватает знаний.

Я стараюсь отобрать людей, которые реально любят это дело. Потому что если не любить программирование, со временем обязательно поломаешься. Как и везде.

— А есть какой-то набор необходимых скиллов?

— Тут очень специфично. Нужно отталкиваться  от запросов команды и текущих задач. Очень часто встречаются кандидаты не очень скилловые, но зато с желанием. И здесь есть тонкий технический момент, нужно определить для себя эту грань — насколько ты готов их обучать. Понять, какую инвестицию в их обучение ты готов сделать.

— Может, ты делаешь какие-то записи во время подбора, как-то формализуешь процесс?

— Вот именно часть выбора у меня более интуитивная, я  как-то для себя сразу понимаю. Не рисую схемы, не пересчитываю в баллах.

— Есть какие-то признаки того, что стажировка прошла или проходит успешно?

— В чем основной смысл стажировки? В том, чтобы стажер в какой-то момент стал полноценным участником процесса и никто бы уже не думал «‎Ой, это стажер»‎. Все знают, что если что-то нужно сделать по его теме, это к нему. И он сам начинает понимать всю рабочую кухню — от кого и какие задачи приходят, кто и за что отвечает и так далее. Для меня скиловый чувак —  тот, кто с минимальным обучением сможет встать «‎за станок»‎. Есть еще такой момент, что одного стажера очень трудно учить. Нужно, как минимум, двое. 

— Почему?

— Им можно давать для изучения и работы парные вещи. И в процессе они начинают помогать друг другу. Ведь не бывает людей, которые абсолютные «‎близнецы»‎ по хард и софт скиллам. Как правило, я даю стажерам задачу, они ее разбирают сами и потом один другому помогает. Плюс в программировании часто бывают задачи на 2-3 человек.

А если человек один, он замыкается в себе и ему тяжелее.  И плюс, ты к нему обращаешься постоянно, как учитель в школе — «‎Ну что, сделал?»  При этом, если ты взял двоих стажеров и один из них намного скиловее второго, у тебя тоже получится дисбаланс.  Тебе нужно очень много факторов в голове удержать, чтобы они были оба одинакового уровня. И опять же, ты от их уровней начинаешь думать, на какой они планке находятся, много ли тебе нужно вложиться в них или нет. Это такой подбор многогранный.

Подбор

— Как ты выстраиваешь процесс подбора  стажеров?

— Сначала я говорю с кандидатами и после этого у меня складывается разбивка: кто к нам вообще пришел. Вот я вижу: ага, есть трое вроде нормальных чуваков, а один из них намного слабее. А бывает, что смотришь, смотришь, и вообще никого нормального нет. Со стажерами фишка в том, что ты анализ делаешь, когда уже  всех посмотришь. Ты понимаешь, что у тебя есть, и можешь ли ты вообще эту программу стажировки запустить.

— Как ты создаешь  тестовое задание?

—  Сначала мы понимаем, что мы собираемся с ними делать, какие задачи будут. Отталкиваясь от этого, мы создаем тестовое, чтобы они обладали необходимыми минимальными требованиями. Например, какой-нибудь набор по основным технологиям проверить, простые какие-то задачи на алгоритмы или что-то еще по Ruby. И какое-нибудь практическое занятие типа создания блога на Ruby on Rails.

Предвижу вопрос про то, что тестовое — это плохо. Но я считаю, что так как это стажеры, а не разработчики, они должны быть замотивированы. Потому что хорошо сделанное тестовое — это лучшее свидетельство мотивации.

— Какой процент людей выполняет тестовое?

— В последний раз человек 30 пришло к нам на какой-то день открытых дверей. Они все 30 получили задание. И из всех них сделали человек 15-17. Получается, что половина людей поняла, что они либо не хотят делать тестовое, либо компания им не подходит.

— Что происходит дальше?

— Собеседование, на котором мы выясняем, сам ли человек выполнил тестовое задание. Бывает, что по ответам на вопросы ясно, что ему помогли. И мы начинаем с ним общаться, задавать вопросы «‎А почему ты сделал так?». Чтобы посмотреть на его мышление, как он общается в более технической обстановке, как вообще себя ведет, как мыслит. Это тоже довольно полезно.

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

— Ты взял его на работу в итоге?

— Нет.

— У тебя не было внутреннего конфликта, что вот, кандидат-то на самом деле отличный…

— Проблема в том, что на самом деле он не был отличным. Soft skills на самом деле очень важны. У меня бывали случаи, когда приходил прикольный чувак, очень скилловый, даже на стажировке уже тянет на middle, но при этом какой-то сухарь в общении. Это сразу нет. Это не потому что он мне не понравился, а потому что работа программистом подразумевает работу в команде. Я просто знаю, что с ним будут проблемы. Сейчас уже такое не прокатывает, как раньше, когда  сидит супергениальный программист в углу,  но по-русски не говорит. Такого нет уже. Особенно у нас в компании нужно с очень многими людьми контактировать,  даже по мелочи. Такие люди просто не смогут работать.

Собственно, работа

— Итак, кандидат успешно прошел процесс отбора и стал стажером. Что происходит дальше?

— Ежедневные синки, придумываем для них задачи. Сначала они, естественно, искусственные, чтобы подтянуть их до нужного нам уровня. Потом даем им уже полноценные задачи, под кураторством или в паре с кем-то.

Затем мы стараемся сделать так. Допустим, у нас есть задача для обычного разработчика уровня middle. Мы стараемся организовать процесс, чтобы штатный сотрудник сделал какую-то важную часть, а стажер был бы «‎на подхвате»‎. Далее, по ходу работы уровень ответственности стажера растет и он все больше задач берет полноценно.

Получается, стажировка состоит из двух этапов. На первом ты их натаскиваешь по теории, а на втором даешь реальные задачи, которые есть в компании. Сколько длятся эти задачи по времени?

Хотелось бы, конечно, теорию вообще сократить до нуля и сразу людей ввести в продуктовые задачи. Но так как это пока не получается, без теории никуда.  Я считаю, что в среднем теоретическая часть должна длиться около двух недель. Но здесь есть один важный момент. Они могут заниматься этой теорией всю стажировку и так и не дойти до практики. Здесь очень важен вопрос мотивации. 

— Как ты строишь коммуникацию со стажерами, когда теоретическая часть заканчивается?

— Основная задача практической части — чтобы стажеры стали полноценными членами команды, без оговорок.  Уже нет отдельных встреч, все встречи плановые, как с другими программистами. Мне, как наставнику, становится проще. Но, разумеется, они в любой момент могут у меня что-то спросить. И, конечно, я объясняю им задачи дольше, чем другим членам команды. 

— Трудно ли решить задачу соблюдения баланса? Наверняка нужно подобрать задачи с одной стороны, не слишком искусственные, а с другой — приближенные к реальным?

— Да, это непросто. Скажу откровенно — трудно довериться стажерам, когда они ничего не знают. Они сжирают много твоего времени. На работе ты привык к тому, что за 5 минут можешь понять, какому сотруднику какую задачу можно дать. А в случае со стажерами это долгий процесс, нужно понять, смогут ли они ее сделать и что именно им нужно объяснить.

— Какая у тебя мотивация работать со стажерами?

— Основная — шкурные интересы моей команды. Нам постоянно не хватало людей, поэтому работа со стажерами — хороший способ решить эту проблему.

Проблемы и их решение

— Если человек потерял мотивацию, скорее всего, это уже не исправить?

Здесь важно не допустить ошибки, которую я раньше совершал. Я пробовал их замотивировать обратно, говорил с ними. Но на самом деле это должно быть их желанием — что-то достичь в жизни. Ты не должен их тянуть. Может быть, это даже лучше, если они вовремя поймут, что это не их. 

Намного лучше сразу соскочить и перейти  в другую сферу, попробовать в чем-то себя другом и быть счастливым, чем дальше себя мучить. Мне кажется, возможность быстро это понять — тоже один из плюсов стажировки.

— Бывают стажеры, которые идут с тобой на конфликт?

— Да, иногда встречаются люди, которые заявляют, что мы строим работу неправильно, все нужно делать по-другому и так далее. Если начинается что-то такое, я говорю «‎Чуваки, не будет времени для этих холиваров. Вы можете считать, что я не прав. Но мы либо соглашаемся на мои условия, либо не работаем. Эффект будет, я вам гарантирую»‎. Если это не дает результата и мои поручения и задания игнорируются, мы сразу же расстаемся. Об этом я тоже говорю заранее.

Причем в начале работы со стажерами я был мягче и лояльнее. Но потом понял, что дисциплина необходима. При этом с изначально мотивированными людьми таких проблем вообще не возникает. 

Польза в обе стороны

— По общему ощущению, в компании у тебя получается очень хорошо работать со стажерами. Как думаешь, почему так? 

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

— А ты сам от стажеров что-то получаешь?

— Они помогают тебе произвести ревизию своих скиллов. Ты сам начинаешь смотреть — что ты знаешь, что не знаешь. Это тоже очень полезно. Это помогает тебе и в жизни, и в работе с нетехническими специалистами, менеджерами.

—Есть ощущение, что с приходом стажеров твоего рабочего времени становится меньше?

— Да, такое происходит. Они начинают условно у тебя где-то 3 дня съедать Это иногда довольно ощутимо мешает.   Но если говорить про нашу компанию, мы их берем только летом. У нас же бизнес-сезон, и у нас самая жесть – это с сентября по май. Трафики, продукты.

3 совета от стажеров, которые стали джунами

Специально для этого текста мы поговорили с несколькими джунами в команде Учи.ру, которые пришли на стажировку в компанию около полугода назад. Они дали максимально конкретные советы начинающим.

Подготовьтесь к борьбе с синдромом самозванца

Ruby on Rails-разработчик в команде монетизации Антон Липич рассказывает, что синдром самозванца так или иначе испытывают все. Ссылок на конкретные методики давать не будем, но скажем, какие мысли помогли Антону снова поверить в себя. Вот они — «Я не один такой, с этой проблемой можно и нужно бороться. Эта проблема не уникальна, до меня она уже была у очень многих людей и они успешно решили ее»‎.

Не останавливаться

Процесс образования в IT не закончится никогда. Ситуация меняется постоянно и отставать от трендов нельзя ни в коем случае. Если в какой-то момент прервать процесс обучения, снова вернуться «‎в строй»‎ может быть очень сложно. Поэтому лучше всего сделать процесс обучения непрерывным. Наши стажеры отмечают, что здесь все как в спорте — лучше немного и регулярно, чем часто и много. 

В программировании котируется не знание концепций, а знание деталей, в которых и кроется дьявол. «‎Когда читаешь теорию в книгах все ясно, но когда начинаешь делать это руками, все совершенно по-другому. Там ты спотыкаешься на каждой запятой и не понимаешь»‎, — говорит один из наших джунов.  

Hard skills давно не перевешивают soft skills

Серьезная ошибка многих начинающих — думать, что программирование это история исключительно про написание кода. Однако, на самом деле, успех вашей работы во многом определит умение эффективно коммуницировать — задавать вопросы, слышать ответы и решать проблемы. «‎Зачастую на своих софт скиллах ты сможешь вывезти свое обучение и другие рабочие моменты. Нужно не только уметь, но и не бояться спрашивать. Особенно в начале своего пути»‎, — отмечают наши стажеры.

Муслим Султанов рассказывает про негласное правило, которое он сообщает стажерам — «‎Если что-то не получается полчаса, можно идти к старшим коллегам за советом, чтобы не терять весь день из-за ерундовой проблемы»‎. Разумеется, при это надо соблюдать баланс и не задавать вопросы, ответы на которые можно найти в Google.

Джуны Учи.ру признаются: раньше они считали, что неумение людей задавать вопросы — это преувеличенная проблема. Но на самом деле, это грустная реальность. И если вы чувствуете, что не умеете задавать вопросы и испытываете проблемы с коммуникацией, этому нужно учиться. 

Вся работа в IT — это про общение, взаимодействие с людьми, особенно при работе в продуктовой компании. Так как продукты программисты разрабатывают для людей, работать тоже нужно именно с людьми, а не с бездушными строчками кода. 

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

Комментарии (3)


  1. aelaa
    21.12.2021 12:52

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

    С ростом уровня несколько увеличивается только время с получаса до дня-трех (а в какой-то момент падает обратно).

    А Муслиму и всем бывшим коллегам привет)


  1. Travisw
    21.12.2021 13:21
    +4

    Сидит этот парниша и решает кому дать шанс, а кому нет. Дорвался до места и эйчарит. Этот почти мидл не разговаривает, "сухарь" ну его н... Вот же губитель душ


  1. valis
    21.12.2021 14:54
    +1

    Мне кажется в последнее время софт скилы уж слишком переоценены. Да, чувак который отлично владеет предметной областью, варится напрямую с конечными пользователями и всегда на подхвате это просто мечта любого менеджера (и эту мечту осуществили 1С-ники)

    Но не забываем - мы не кодеры, но и не BA. Мы Software инженеры! Наша задача в первую очередь технический стек. Но сейчас много развелось таких, что юзают где не попадя готовые библиотеки - врапер на врапер. Не задумываясь на сколько это оправданно. Зато софт скилы ок и задачи вроде выполняет.