Как «прокачать» языки программирования: простые шаги, которые помогут джуну вырасти
Знание — сила
Опрос более чем 1,2 тыс. ИТ-специалистов, проведенный в августе 2023 года аналитиками All Cups от VK, «Сколково» (группа ВЭБ.РФ) и IT_ONE в рамках масштабного чемпионата «IT_ONE Cup. Базы данных», показал, что специалисты верят в силу знания. Большинство опрошенных (83%) убеждены, что постоянное обучение языкам программирования прямо способствует их профессиональным успехам. В топ-3 приоритетных языков вошли Python (36%), Java (35%), а также SQL (19%), несмотря на то что он считается крайне узкоспециализированным.
Попробуем разобраться, почему именно хорошее знание языков программирования и развитие эрудиции в этой области дает разработчикам возможность быстро развиваться в профессии.
Компании одновременно реализуют различные проекты, и многие из них сложные. В некоторых используются разные платформы, языки и интерфейсы, иногда привлекаются решения других поставщиков, в том числе зарубежных, применяются новые технологии.
Так, в решениях с применением искусственного интеллекта используются разные языки программирования. И, например, Java-разработчикам приходится изучать Python, который необходим во многих ИИ-проектах. А так как искусственный интеллект сейчас одно из наиболее востребованных направлений в разработке, то всем амбициозным специалистам важно владеть всеми необходимыми инструментами и языками для работы в этой области.
Чтобы успевать за техническим прогрессом и быть всегда востребованным внутри компании и на рынке в целом, джуну выгодно становиться универсальным специалистом. Это позволит быстро войти в мир профессионалов, браться за выполнение разных проектов, участвовать в разработке разнообразных, в том числе сложных ИТ-продуктов.
Именно поэтому большинство разработчиков выступают за обучение и совершенствование знаний: универсальность открывает большие перспективы для ИТ-специалистов и повышает их конкурентоспособность на рынке.
Остановимся на том, какие возможности для развития есть у начинающих разработчиков и как их не упустить.
1. Индивидуальные программы развития
Если у специалиста есть запрос на изучение нового языка программирования или совершенствование знаний в этой области, мы рекомендуем встретиться с руководителем, менеджером по обучению и HR-специалистом для разработки индивидуального плана развития и составления индивидуальной программы обучения. Для этого сначала проверяется профессиональный уровень специалиста и с учетом полученных результатов подбираются подходящие обучающие инструменты.
Через какое-то время оценивается динамика: есть ли прогресс в освоении новых компетенций. Успешное прохождение обучения открывает перед сотрудниками новые возможности карьерного роста и участия в более сложных проектах.
Некоторые ИТ-компании готовы обучать специалистов практически с нуля и затем трудоустраивать талантливых выпускников. Например, мы отмечаем недостаток Java-специалистов уровня «джуниор». Чтобы компенсировать его, разрабатываем проект создания школы для обучения молодых разработчиков. Так же и наша компания активно рассматривает идею о выращивании собственного поколения грамотных Java-специалистов.
2. Менторы и комьюнити
В некоторых компаниях есть программы менторства. Хороший ментор сам прошел путь от начинающего специалиста до эксперта, может поделиться собственным опытом по различным направлениям. Например, некоторые сотрудники готовы стать наставниками по техническим навыкам, другие — по soft skills.
У нас, к примеру, создана база менторов внутри компании. Они становятся кураторами для перспективных молодых специалистов, помогают, дают советы, проверяют результаты тестов, пока подопечный не достигнет требуемого уровня. Первую установочную встречу ментора с начинающим разработчиком проводят сотрудники отдела ресурс-менеджмента. На ней вырабатывается план их взаимодействия — в дальнейшем наставник и джуниор общаются самостоятельно. Проблема в том, что пока менторов меньше, чем начинающих специалистов, желающих учиться. Поэтому компаниям важно развивать внутри эту практику — мотивировать опытных сотрудников заниматься менторством, продвигать программы внутреннего обучения.
3. Помощь коллег и работа в команде
Работа в команде — тоже отличный способ набраться опыта, если вести себя проактивно. Например, можно договориться с опытными коллегами о наставничестве, даже если в компании нет специальной программы менторинга. Возможно, здесь потребуется помощь руководителя: он знает, кто из специалистов может взять под крыло начинающего разработчика. Это полезно не только джуну, но и всей команде, которая получает более полезного специалиста для своих проектов. Есть случаи, когда таким образом команды поднимали нескольких сотрудников с уровня junior до regular по собственной инициативе.
Если сотрудник хочет «покачать» определенные языки программирования, то он может это сделать на реальных задачах. Например, у нас есть аттестационные встречи, где специалистам ставятся задачи на год исходя из того, какие навыки они планируют развивать. И в дальнейшем в течение года им распределяют задачи в зависимости от этого запроса: сначала более простые, потом всё сложнее. И таким образом разработчик имеет возможность не только изучать языки в теории, но и применять полученные знания на практике — в процессе работы и под наблюдением более опытных коллег.
Эффективным инструментом для обучения начинающих специалистов могли бы стать песочницы — тренировочные площадки для написания кода и анализа своих ошибок. Такие есть в некоторых зарубежных библиотеках. Особенно актуален такой подход для компаний, работающих с закрытой информацией, когда запрещено раскрывать реальные данные заказчиков стажерам, — а значит, невозможно привлекать и обучать молодых специалистов на реальных задачах. С другой стороны, джуниоры могли бы не отвлекать ментора или коллег по простым вопросам — в песочнице поиск ошибок автоматизирован. Однако в России подобных инструментов нет.
4. Самообучение
Сейчас много возможностей для самообразования: есть различные онлайн-школы и курсы, предлагающие обучение всем языкам программирования разной интенсивности и длительности. Такой способ образования подходит для дисциплинированных и мотивированных людей.
При выборе курсов можем порекомендовать обратить внимание, что добиться результатов поможет только регулярное вложение личного времени в обучение – как правило, это 5–10 часов в неделю. Очень важно выбрать для себя правильный формат обучения: если у вас высокие способности к самоорганизации, можно выбирать электронные курсы / курсы в записи со свободным графиком. Если самоорганизоваться сложно, лучше обратиться к курсам с фиксированным расписанием, которые не дадут вам затянуть историю с обучением на неопределенный период.
Краткосрочные онлайн-курсы обычно выбирают специалисты, которым нужно быстро поднять квалификацию или прокачать определенный навык. Они готовы пройти интенсив-курс за 5–10 дней, уделяя занятиям по 4 часа в день.
Долгосрочные программы рассчитаны на 4–9 месяцев. Абитуриенты встречаются с тренером всего по 1,5-2 часа в неделю, а всё остальное время самостоятельно изучают материалы и выполняют домашние задания. Нужно понимать, что с учетом такой работы обучение будет занимать порядка 10 часов в неделю.
Резюме
Сколько времени нужно начинающему специалисту для того, чтобы переходить на следующие уровни профессиональной иерархии, — показатель сугубо индивидуальный. Он зависит от множества факторов, но главный — собственная мотивация и проактивность. Например, был случай, когда начинающий специалист за два года смог дорасти до тимлида. Но он всё свое время вкладывал в самообразование, чтобы быстро вырасти и укрепиться в профессии, — и у него получилось. Не всем подходит такой путь: выбирать инструменты для обучения стоит, опираясь на текущие задачи и потребности, а также долгосрочные профессиональные цели и тренды развития ИТ-отрасли.
Опубликовано 13.12.2023