Стажировки — это пушечное мясо, чтобы затыкать дыры, а не “бесценный опыт и карьерные перспективы”

в 17:41, , рубрики: Карьера в IT-индустрии, собеседования, управление командой, управление персоналом

image

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

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

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

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

С точки зрения ученика они проходили примерно так:

Увидел объявление в ВУЗе, на hh или узнал от знакомого.

Подал заявку. Прислали отборочное задание. Надо сделать какую-то мелочь, типа таблицы на ванильном js. Оказалось не так просто. Не успел доделать в срок. Скинул. Жду.

Пригласили на техническое интервью. Стремно. Первое в жизни. Слышал о них страшные вещи.

Спросили какую-то фигню про прототипы, замыкания, классы, ооп. Кажется меня не возьмут.

Позвонили через два дня. Приняли. Сказали где и когда. С нетерпением жду.

Началось. Первое занятие прошло просто — знакомство.

Потом были лекционные части и дз. Разбили на команды, дали учебный проект в формате User Story. Ребята в команде, вроде, хорошие, делаем проект, говорят в конце будем проводить демо. А за ним какой-то экзамен в формате интервью.

Вот и прошло три недели. Завтра мы проводим демо. Я писал довольно много кода, пришлось тратить немало времени. Теперь лучше понимаю и сам js. Ребята тоже старались. Думаю, демо пройдет хорошо, рассказывать о проекте будем по очереди.

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

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

Странно, но меня пригласили на первый мой настоящий собес. Волнуюсь.

Собеседование было проще, чем экзамен. Думаю, мне повезло. Но фидбэк не дали. Переживаю. Кажется, ответил что-то не так и допустил много ошибок.

Сегодня позвонили. Все хорошо, дали оффер. Очень рад. Теперь я разработчик.

Если строго, цинично и на бумаге, то это выглядело так:

  • Отборочное задание
  • Техническое интервью (которое я ненавижу)
  • Ожидание результата
  • Обучение с лекционными занятиями, разделением на команды и совместным выполнением проекта.
  • Командное демо проекта
  • Экзамен (снова техническое интервью)
  • Ожидание результата
  • Собеседование в реальный проект и/или получение оффера

Не так плохо, если не вдумываться. Но если хотя бы чуть-чуть присмотреться, то видно, что на проверку знаний отведено аж 2/3 концептуального плана. Зная многих верных бизнес-идеям разработчиков, я не уверен, что для всех очевидно, почему это полный отстой.

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

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

  • Боль и страдания

Первый день. Черт, я даже не могу настроить окружение. Полно документации, сертификатов, сервисов.

Мне кажется, я ничего не понимаю. Здесь огромный проект и куча кода. Одни нарушения общих практик.

Я не могу реализовать маленькую таску второй день. Мне нечего сказать на стендапе.

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

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

Может я и не разработчик вовсе?

Они должны будут сами во всем разобраться уже на проекте. Им никто не поможет. В лучшем случае, будут изредка пинать и тыкать в ошибки. Совесть будет сжирать их изнутри за провалы: пропуски сроков, баги. Они будут стесняться спрашивать старших специалистов, боясь показать свою низкую квалификацию. Казалось бы? да и черт с ними, пострадают, набьют шишек и может вольются в работу. Морально подавленные рабочие лошадки.

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

После чего мы получаем ужасную архитектуру, странный плохо работающий код, плохой софт. Это полбеды. Мы получаем массу специалистов, разочаровавшихся в индустрии. Зашоренные, потерявшие жажду знаний разработчики не принесут новых практик, нового классного инструментария. Не принесут новых разработчиков, они не смогут или не захотят их менторить. Это приведет в конечном счете к стагнации, девальвации понятия “разрабочик”, а потом и снижению общего уровня силлов в индустрии.

А индустрия сейчас в очень странном состоянии: с одной стороны, в мире нет таски, где бы не пригодились еще разработчики. С другой, классическая система образования не успевает за ходом времени. Будущие специалисты пять лет учатся бухать и тусить в ВУЗе, потом по-быстрому кодить на курсах, стажировках или вообще дома с книжкой. Людей готовят как призывников в мировую войну. Тяп-ляп и в теплушку на фронт, обезвреживать мины пешим строем.

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

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

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

С одной стороны, любой косяк в коде, на который ты не указал, научил человека делать неправильно. С другой — куча придирок отобьет желание учиться.

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

Я занимался обучением как на проектах, так и вне, и только здесь результат превосходный. Это целеустремленные, задумчивые разработчики, способные отличать дерьмо от меда. Единственное, что не позволяет так учить всегда — это время.

Менторство отнимает тонны времени, рабочего и личного. В одиночку ты не вытянешь даже трех джунов. Это очень сложно. Надо продумать все на несколько месяцев вперед. Надо найти толпу сеньоров, что согласятся стать наставниками на проектах. Учить не выгодно. Разработчики не хотят проблем и сливаются, хотя только они способны что-то поменять. Однажды, мой друг взял шефство над джуном-мидлом и профакапился. Сильно профакапился. «Джун ничего не понимает. Джун тупой и все делает неправильно. Джун бесит. Джун идет лесом, а я пойду спокойно зарабатывать, мне не выгодно тратить на него время. Если он сам ничего не может, то и я тут не помогу». Это происходит повсеместно.

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

Стоит ли оно того? Я точно знаю одно — не хочешь выкладываться на полную, не берись учить людей. Это не твои игрушки, ты несешь полную ответственность за них, и за все проекты, которые они будут делать. Несешь перед собой.

Автор: rcanedu

Источник

* - обязательные к заполнению поля