[Учебный процесс в IT, Карьера в IT-индустрии, IT-компании] Студенческие IT стажировки — как мы стараемся делать их наиболее эффективными

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
30-Сен-2020 16:32

Привет! Меня зовут Денис Александров, и помимо работы в качестве Android-разработчика, я уже более семи лет готовлю стажеров в разных компаниях и занимаюсь студенческими практиками. Мне приходилось и работать с перспективными студентами персонально, и проводить групповые стажировки с отсевом. Я собрал самые важные и полезные тонкости проведения стажировок для студентов, благодаря которым мы делаем наши стажировки максимально полезными и эффективными для всех ее участников. 
Когда (и кого) начинать стажировать Каждый работодатель хочет видеть в кандидате сотрудника, готового уже завтра полноценно приступить к работе. Но на практике даже опытным разработчикам требуется время для «акклиматизации». Что уж говорить о студентах или вчерашних выпускниках. Поэтому в случае набора студентов возникает выбор: 
  • Не брать студентов, а дождаться их выпуска — с надеждой, что выпускники будут лучше подготовлены к рабочей деятельности. 
  • Работать со студентами, но дать им возможность успешно закончить учебу. 
  • Брать студентов в штат без учета их образовательной деятельности. 
Мы стараемся придерживаться второго подхода, и на это есть несколько причин.  Во-первых, борьба за достойных кандидатов начинается в вузе. Крайне редко встречаются талантливые, но недооцененные студенты, которые не смогли найти себе работу еще в годы учебы.  Во-вторых, даже самый талантливый студент сначала попадает на стажировку. Ему еще только предстоит сопоставить теоретические знания и реальную работу. В-третьих, многие студенты не могут сразу понять, чем же они хотят заниматься после учебы. С такими студентами очень важно наладить связь как можно раньше, а лучше вообще быть первым. Этот первый опыт работы во многом определяет дальнейшую судьбу айтишника (т. н. синдром утенка).  Студенты редко выбирают один из путей — учеба или стажировка — сознательно. Большинство все-таки хотят получить и диплом, и предложение работы. Конечно, бывают ситуации, когда приходится выбирать, но в действительности большинство стажеров совмещают работу и учебу на протяжении нескольких лет. Я поддерживаю этот выбор, и я стараюсь организовать стажировки для студентов с дальнейшим полным трудоустройством. 
Я более 11 лет работаю в преподавании, и сейчас ребята, которых я готовил еще к ЕГЭ, уже работают в крупных компаниях. Я периодически пересекаюсь со своими бывшими студентами на хакатонах и олимпиадах, и ставлю себе мысленные заметки «вот студент, который прошел ожидаемый путь развития; было бы неплохо посмотреть, как он может применить опыт на проекте, где я сейчас работаю». Конечно, это очень долгосрочная и туманная по результатам работа, но в плане результатов игра стоит свеч. Нашу работу со студентами можно разделить на 3 основных этапа: 
  • Работа в вузе. Для того, чтобы заинтересовать самых перспективных студентов, мы начинаем работу не с рекламы собственного блога или группы в социальных сетях, а с офлайн работы в вузе — лекции, семинары, участие в вузовских мероприятиях. 
     
  • Студенческая практика. Это обязательная часть обучения в вузе, цель которой — закрепить полученные знания. Каждый учащийся должен «найти» себе место для практики и отчитаться о ней, так что со стороны студентов «спрос» всегда есть. Но бизнес заинтересован в том, что привлечь самых талантливых и мотивированных, и для этого мы так много работаем на 1 этапе. 
  • Стажировка. Это не обязательная часть обучения, которую мы предлагаем лишь тем, кто хорошо себя показал на 2 этапе. Мы принимаем студента в штат компании и платим ему зарплату. 
Сотрудничество с вузами Вот что мы делаем для того, чтобы найти и привлечь лучших студентов: 
  • Участие в университетских хакатонах, олимпиадах и дипломных работах в качестве экспертов.  
  • Преподавание в вузе. 
  • Открытые занятия и семинары на территории вуза. 
  • Студенческая практика. 
Конечные цели у вуза и у частных компаний, как правило, разные. Несмотря на это, я считаю, что из этого сотрудничества оба участника могут извлечь пользу. Считается, что вуз должен полностью подготовить студентов к рабочей деятельности. Но это не совсем так. Со стороны Android-разработки могу сказать, что актуальность существующих технологий будет пересмотрена еще до окончания учебы сегодняшних первокурсников. И даже если обучать студентов самым трендовым технологиям, это не дает гарантии востребованности спустя 5 лет, потому что невозможно угадать, какие будут требования к разработчику через 4 года. Впрочем, это и не нужно. В вузе студента стоит научить базовым вещам — языку C++, принципам ассемблирования и компиляции, способам организации памяти на «железном» уровне и др. Да, этого не будет в списке требований к Android-кандидату. Как, наверно, не будет и в 98% других вакансий. Вуз дает ту теоретическую базу, которая позволяет, например, видеть протекающие дыры в абстракциях (по выражению Джоэла Спольски, сформулировавшего Закон дырявых абстракций).А вот то, что наш студент увидит в вакансиях, когда станет кандидатом, постоянно меняется — каждый год появляются новые технологии, фреймворки, версии языков программирования и др. Программисты учатся постоянно, и для этого гораздо важнее широкий базовый технический профиль, чем знание модных фреймворков. Гораздо проще самостоятельно изучить платформенное API и документацию к фреймворку, чем наверстать пробелы в знании атомарных и битовых операций.  Со стороны промышленной разработки я могу точно сказать — какими бы полными ни были требования к разработчику, все равно придется учиться. Вообще самообразование для разработчика, на мой взгляд, самый важный навык. Практически все необходимые знания находятся парой кликов. И нам жизненно необходимо уметь находить и применять эти знания. Но ту необходимую теоретическую базу, которую дает университет, нужно еще «привязать» к жизни. И это можно увидеть только там, где идет разработка настоящих проектов — в коммерческих компаниях. Еще до начала непосредственно практик и стажировок мы помогаем вузу с экспертизой и университетскими активностями — здесь взгляд со стороны бизнеса очень полезен.  Многие студенческие проекты страдают не столько от низкой степени технической проработки (как будто в большом бизнесе такое не встречается!), сколько от непонимания в целом — зачем и для кого предназначен объект исследования. Студентам всегда тяжело даются фреймворки, процессы разработки и прочие «бытовые» вещи в IT-разработке. Без практики знания о таких вещах сложно усваиваются. Мы стараемся помочь студентам разобраться в этих процессах — подсказываем, где применение фреймворка поможет сэкономить драгоценное на хакатоне время, проводим игровые занятия с разбором ролей в команде разработки и в бизнес-процессах. В прошлом году я прочитал курс лекций по инструментам и технологиям разработки ПО для студентов последнего курса кафедры разработки ПО в Южном федеральном университете. В качестве практических примеров я всегда рассматриваю максимально прикладные задачи — то, с чем мне лично приходится сталкиваться. Спустя полгода часть студентов пришла к нам в компанию на практику. И общее понимание наших производственных процессов очень помогло мне выстроить обучение со студентами. Важно не перегнуть палку — студенческий проект может быть не совсем продуман и в меру неряшлив. Гораздо важнее показать базовые принципы формирования требований к проектам и коду: почему важно понимать конечного пользователя, как делать систему гибкой и адаптивной под изменяющиеся требования, как учитывать юридические тонкости при работе с данными и т. п. Вообще для бизнеса инвестиции в работу в вузах — одни из самых неоднозначных в плане результата. Все будет зависеть от заинтересованности преподавательского и управленческого состава и бюрократии, которая все активнее поглощает образовательные процессы. Это долгосрочные инвестиции, результаты которых можно увидеть только спустя много лет. Однако если ваша работа регулярная и вы планируете набирать сотрудников еще много лет, опыт работы с вузом будет очень полезен. Студенческая практика Я встречал множество способов организации студенческой практики — от «принеси диплом на подпись в последний день» до «вот тебе бизнес-фича в реальном проекте, у тебя как раз две недели, должен успеть». Мы практикуем групповые студенческие работы. Во время прохождения такой практики студенты делают совместный проект под присмотром практикующего специалиста. Пару раз в неделю мы организуем занятия, на которых разбираем текущий прогресс по работам либо изучаем необходимые материалы — архитектуру приложения, платформенные или языковые особенности и другие подобные вопросы. 
Наш воркшоп QARATE. В нем приняли участие в том числе и мои стажеры. Обязательное время в офисе и минимум часов мы не обозначаем. Посещать занятия тоже не обязательно — материалы можно изучить самостоятельно (хотя это и очень сложно). Практика у разных курсов длится по-разному — от 2 до 10 недель. Но кроме этого мы периодически устраиваем расширенные практики с возможностью дальнейшей стажировки. В этом случае практика будет длиться в среднем 6-10 недель. Студенты могут завершить практику точно в срок, регламентированный вузом, получить необходимые документы и возвращаться к учебе. В случае же, если студент выберет, успешно завершит нашу «расширенную» практику и хорошо себя проявит — мы можем предложить ему дальнейшую стажировку.  Есть способ «обойти» практику. Если у студента уже есть неплохой проект, портфолио или опыт стажировки в другой компании, мы готовы рассмотреть вариант «перезачесть» практику. В качестве дополнительного стимула к прохождению практики, по ее завершении студенты получают проекты в свое портфолио и персональные рекомендации от менторов. Мы не практикуем грамоты или сертификаты — только реальные результаты работы и персональные отзывы.
Для меня главным критерием готовности человека к стажировке является умение быстро и в необходимой мере учиться. Так или иначе, стажировка — это процесс интеграции в реальные проекты и процессы компании. Здесь просто необходимо научиться учиться. Если студент проявляет все необходимые предпосылки, мы предлагаем ему стажировку. Стажировка Итак, если студент хорошо себя проявил, мы можем предложить ему стажировку. В нашем понимании стажировка студентов — процесс обучения необходимым процессам и технологиям для участия в «боевых» задачах. Очень важно дать начинающему разработчику полноценные знания о работе, научить разбираться коде, осваивать библиотеки.  Мы сформулировали несколько причин, почему стоит максимально отложить привлечение начинающих специалистов к боевым проектам: 
  • Для начала нужно дать возможность ошибиться. Не все в разработке получается с первого раза, и возможность начать сначала — необходимость. 
  • Поэтапное внедрение в процессы. Тяжело с ходу разобраться во всех особенностях работы в IT. Стажировка — один из способов поэтапного внедрения в компанию. 
  • Нужно научить разработчика глубоко разбираться в проблеме. Не всегда боевые условия позволяют выделить необходимое для этого время. 
  • У студентов иногда случается сессия, и в этот момент им лучше иметь возможность спокойно сдать ее. В случае с реальными проектами далеко не всегда удается безболезненно это сделать. 
Стажировка и стресс Стажирующиеся студенты неизбежно попадают в стрессовую ситуацию: нужно и на работу ходить, и про учебу не забывать. Так как работодатель является непосредственным участником этой ситуации, он может как содействовать, так и усугубить и без того нелегкое состояние студента. Что мы делаем для поддержания студента: 
  • Содействие в написании дипломной работы. Стараемся подобрать тему работы и стажировку таким образом, чтобы время, потраченное у нас в компании, помогло в написании и защите дипломной работы. 
  • Свободный график, который определяет сам студент. Не совсем удобно для менторов, но загонять студента в невыполнимые сроки — пожалуй, худшее решение. 
  • Учебные каникулы для сдачи сессии. Так как под стажировкой мы понимаем в первую очередь образовательный процесс, мы стараемся не задействовать стажеров в коммерческой разработке. Это позволит студенту безболезненно взять отпуск и сдать сессию или долги. 
  • Возможность плавно наращивать темп. Есть лишь минимально необходимое количество часов, верхняя планка согласовывается по готовности с самим стажером. 
Стажировка и оплата Да, как правило, стажировки оплачиваются. Стажировка — это процесс подготовки сотрудника к работе — обучение, знакомство с компанией и командой и пр. Безусловно, основной интерес компании — это получить сотрудника для решения «боевых задач».  Все позиции стажеров у нас оплачиваются. Кроме этого, у всех стажеров регламентируется рабочее время и количество часов в неделю (в соответствии с принятой ставкой). Все «по-взрослому» — даже если сотрудник не сразу приступает к «боевым» проектам, процесс работы все равно соблюдается — код ревью, работа в команде и с менеджером. Я считаю, что отсутствие хоть какой-то оплаты работы стажеров говорит лишь о том, что на него не делают серьезную ставку, либо попросту эксплуатируют. Если же компания готовит хороший кадр, в любом случае должна присутствовать компенсация временных затрат. Что считается успешным завершением стажировкиВ первую очередь — полная интеграция в процессы компании. К счастью, студенты в большинстве случаев без проблем вливаются в новую компанию.Вторым, но не менее важным, критерием является самостоятельное обучение. Самое важное свойство Junior-разработчика — навык самостоятельно найти, изучить и применить технологию. Работа разработчика напрямую связана с этим. На следующей итерации, к уровню Middle, он будет учиться самостоятельно отфильтровывать необходимую информацию, но пока хватит и поиска. В-третьих, это умение самостоятельной экспертизы собственного кода. Программисты не умеют писать идеальный код. И даже хороший код приходится переписывать по нескольку раз. Крайне важно владеть самокритикой для дальнейшего роста. Ну и наконец, в-четвертых, это готовность (в первую очередь временнАя) к работе на реальном проекте. Здесь важно иметь необходимое для работы количество часов, а также возможность участия в плановых созвонах и совещаниях.  Что же касается широко распространённой во многих компаниях практики итогового тестирования стажёров, я категорически не одобряю различные тесты на знание именно языков программирования. Я встречал кандидатов на работу, буквально выучивших самые популярные вопросы по разработке. К сожалению, с реальным умением программировать это практически никак не связано. И наконец, после того, как все критерии соблюдены, мы можем предложить стажеру позицию разработчика. Что дальше?
А дальше — «боевой» проект. Здесь начинающий разработчик сталкивается с суровыми буднями программиста. Например, узнает, что код далеко не всегда пишется по канонам. Узнает, как появляются костыли. Разбирается, почему рефакторинг — вещь нужная, но редко выполнимая. В общем, продолжает учебу, потому что на мой взгляд самое лучшее в разработке — вечное обучение. Кроме этого, студент принимает участие в экспертизе других разработчиков (попросту code review). Я считаю, что для этого крайне важно привлекать специалистов разных уровней. Так и дилетантские ошибки найти проще (а опытные разработчики часто их пропускают), и вырасти команде разработки проще. В конце концов, Junior-разработчику тоже нужно разбираться в чужом коде, и лучше начинать это делать уже на этапе code review. Вместо выводов Я считаю, что ключевым и решающим фактором в успешности стажировки является мотивация и исполнительность стажера. Тем не менее, я как организатор могу подкрепить эту мотивацию и обеспечить условия для того, чтобы поставленные перед стажером задачи были выполнены в срок. Для того, чтобы эти факторы сложились, очень важно еще на этапе планирования понимать, что хочет получить каждая сторона и как этих результатов достичь. Технические же детали в момент уже проведения стажировки практически всегда перекраиваются. В апреле 2020 года мы были вынуждены целиком изменить формат практики и стажировки на онлайн. Само собой, это создало целый ворох проблем — от обеспеченности техникой до заключения договоров на стажировку. Тем не менее, мы помогли группе студентов закрыть свои учебные обязательства и познакомиться с миром коммерческой разработки. А у нас появился новый стажер. Полезные ссылки: «Зачем студенту стажировка: 7 аргументов “за”» на hh.ru «Рабочие будни программиста: ожидания и реальность» в блоге Mail.ru Group «Топ-10 качество программиста. Мнение лучших работодателей» на geekbrains.ru 
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_uchebnyj_protsess_v_it (Учебный процесс в IT), #_karera_v_itindustrii (Карьера в IT-индустрии), #_itkompanii (IT-компании), #_stazhirovki (стажировки), #_rabota_s_vuzami (работа с вузами), #_karera_itspetsialista (карьера ит-специалиста), #_blog_kompanii_arkadija (
Блог компании Аркадия
)
, #_uchebnyj_protsess_v_it (
Учебный процесс в IT
)
, #_karera_v_itindustrii (
Карьера в IT-индустрии
)
, #_itkompanii (
IT-компании
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 17-Май 17:05
Часовой пояс: UTC + 5