Лонг Кэт / Блог

Стажировка для программистов: PHP, Laravel, SQL, VueJS

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

Как отличить стажера от специалиста?

Подготовка специалистов внутри компании может быть направлена на разные целевые группы:

  • Люди без специального образования и без опыта. Рост с нуля до специалиста;
  • Люди со специальным образованием и без опыта. Рост с нуля до специалиста;
  • Люди с опытом в смежной отрасли. Переобучение;
  • Развитие опытных специалистов.
Безусловно, многие компании не берутся учить людей из первой категории. Хотя в условиях кадрового голода, который был, к примеру, до событий 2022 года, многие брали на обучение всех. Но, сейчас чаще всего, компании вкладываются в студентов профильных специальностей и взаимодействуют с вузами для приглашения этих студентов к себе в штат.

Переобучение сотрудников и развитие опытных специалистов — это тема для отдельной статьи. Здесь рассмотрим подготовку людей с профильным образованием и без опыта работы до уровня специалиста.
Что же подразумевается под “специалистом”? Если говорить про разработку, то градация следующая:
Intern (стажер) — Junior — Middle — Senior

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

В этом плане мы считаем, что код стажера не должен использоваться на реальном проекте.

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

Как устроена стажировка в “Лонг Кэт”?

Расскажем немного о том, как устроена стажировка у нас.

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

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

  • Ежегодные курсы в университете по нашей ключевой технологии (Laravel). Курсы состоят из 20 уроков, в рамках которых мы имеем возможность сформировать свое мнение о каждом из обучающихся.
  • Практика для студентов. Сейчас мы взаимодействуем со студентами третьего курса. Практика позволяет также сформировать мнение о студенте. Данное направление не дает нам возможность закрыть потребность в стажерах в моменте, однако эта работа дает результат через 2-3 года, когда студент начинает искать работу.
  • Поиск стажеров среди выпускников по традиционным каналам поиска специалистов.
Для всех трех групп перед приглашением на стажировку мы проводим многоуровневые технические собеседования. Но все понимают, что знаний по технологии у стажера не так много и больше оценивается его потенциал.

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

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

Основы PHP

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

Базы данных

Во втором блоке стажер учится работать с базами данных, такими как MySQL и PostgreSQL. Задачи будут построены так, чтобы можно было познакомиться с различиями между СУБД и научиться составлять нестандартные запросы. Это очень важно в реальных проектах.

Laravel

Третий блок полностью посвящен фреймворку Laravel. Изучается не только сам фреймворк, но и лучшие практики, которые мы применяем в компании. Это даст понимание, как использовать современные инструменты для создания качественного кода.

VueJS

Последний блок касается работы с VueJS. Стажер узнает, как создавать SPA-приложения и писать собственные компоненты. Каждому блоку сопутствует мини-экзамен.

Практический опыт и дальнейшее развитие

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

Для дальнейшего развития специалистов и общего обмена знаниями внутри компании, мы ежемесячно проводим не менее двух встреч, в рамках которых разбирается какая-то тема. А один из разработчиков готовит доклад для остальной команды. К примеру, в последний раз мы готовили доклад на тему “Методы масштабирования БД” и один из разработчиков поделился результатом своего исследования на всю команду.

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

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

Остались вопросы? Свяжитесь с нами удобным способом или оставьте заявку и мы ответим на ваши вопросы
Напишите в телеграм — @vslongcat
Или в WhatsApp — +79648538373