Бизнес-процессы уходят в онлайн. Всем нужны удобные сайты и приложения, чтобы привлекать больше клиентов. Компании перебивают офферы друг друга — хотят заполучить нужного специалиста как можно быстрее. И не важно, что дорого. Спрос растет быстрее предложения. Дефицит кадров ощущается все острее. Именно так проживает 2021 год рынок труда в IT-сфере.
Исследование HeadHunter показывает, в России сохраняется низкая конкуренция и высокий спрос в IT: на одну вакансию претендуют до двух кандидатов. А программисты остаются самыми востребованными специалистами — 49% вакансий от общего числа в отрасли.
Зарплаты разработчиков увеличились на 30-80% за время пандемии, и рост продолжается. Все больше компаний соглашаются на условия самого кандидата — хотят быстро договориться с подходящим соискателем и не потерять его.
Когда на рынке высокий спрос, разработчику без опыта трудоустроиться легче. Но надо понимать, что профессия требует постоянного развития и обучения. Руководители ожидают, что junior-специалист быстро дорастет до следующего грейда, иначе тратить на него время никто не захочет. В статье расскажем, как начинающему программисту найти первую работу. Советами поделились опытные разработчики:
Константин Военков
Руководитель разработки онлайн-университета Skypro
Николай Субоч
Ведущий разработчик в Тинькофф Банке, ведущий эксперт курса онлайн-университета Skypro
Михаил Черемухин-Рерберг
Middle-разработчик в Альфа-Банке, ментор в онлайн-университете Skypro
Как попасть в профессию
Ситуации, когда работу выбирали один раз и на всю жизнь, остались в прошлом. Руководители реагируют уже не так остро, если встречают кандидата из другой сферы. А чаще даже не встречают — удаленный формат работы и найма стал привычной практикой, тем более в IT-направлениях. Начать карьеру в разработке можно разными способами. Остановимся на трех основных.
1. Учитесь в профильном вузе
Классическое образование отличается тем, что теории дают много, но как применять знания на практике понятно не всегда. Четыре года обучения пролетают, а выпускник даже не представляет, чем он будет заниматься на работе. Как студенту получить опыт в процессе учебы рассказал Николай Субоч:
«Типичный junior — выпускник университета или студент старших курсов. Он может поинтересоваться стажировками от крупных компаний. Обычно университеты сотрудничают с работодателями и дают такую возможность своим студентам. Например, устроиться на летних каникулах на интересную стажировку и попрактиковаться. Возможно, поступит предложение остаться в штате.
Другой вариант — выпускник готовит дипломную работу со своим научным руководителем по теме Computer Science. Тогда сам преподаватель может подтолкнуть студента выступить на профильных конференциях по своей теме. Мир IT узкий. Выпускник узнает о стажировке из таких мероприятий или от научного руководителя».
2. Учитесь на курсах
Онлайн-образование предлагает программы, в которые входит помощь в трудоустройстве. Вы учитесь до 10 часов в неделю, совмещая работу и личную жизнь. В конце курса представители онлайн-университета помогают вам подготовиться к собеседованиям и составить резюме.
Михаил Черемухин-Рерберг вспоминает, как получил первую работу программиста:
«Считаю, что мне повезло. Я учился на курсах около года и попал в базу выпускников. Ребята из московского стартапа каким-то чудом нашли в этой огромной базе именно меня . Собеседование было легким, спрашивали даже больше по софт скилам, чем хардам. Посмотрели мои тестовые проекты, поняли, чего ждать: как я пишу код, есть ли структура, соблюдаю ли техники.
Главный критерий, который мне помог устроиться, и поможет другим — работодатель должен понять, собираетесь ли вы развиваться самостоятельно. Если вы способны обучаться сами, большой пласт проблем уходит — вы не бегаете с каждым вопросом к старшему, не отвлекаете его. Вы ищете решение и разбираетесь сами».
3. Изучаете программирование самостоятельно
Пожалуй, самый сложный и долгий путь. Выучить язык программирования нетрудно. Но для работодателя важнее, чтобы вы понимали процессы разработки, знали принципы и подходы программирования, разбирались в основах Computer Science. Все это сложно освоить без наставника. А когда в приоритете основная работа и семья, времени на обучение уходит больше: вас некому подгонять, вы начинаете и бросаете несколько раз.
Николай Субоч:
«У работодателя будут дополнительные вопросы к junior-специалисту, если он во взрослом возрасте решил сменить профессию и освоить разработку самостоятельно. Все компании хотят брать новичка, который за год-два вырастет до уровня middle. А если человек долго остается на позиции junior, от него пользы меньше, чем потраченного времени».
Как проходит собеседование у новичка
Работодатель понимает, что обсуждать прошлый опыт с начинающим разработчиком бессмысленно. Практических кейсов либо нет, либо они не относятся к программированию. Разберем, что проверяют на собеседованиях у начинающего разработчика.
➤ Мотивацию и способность к обучению
Каждый руководитель понимает, в junior-специалиста придется вкладывать много времени и сил. Поэтому выбирает себе заинтересованного и самостоятельного сотрудника, чтобы быстро вырастить его до middle-разработчика.
Константин Военков:
«Я смотрю, какие знания у кандидата и их динамику. Если специалист получил свои знания за короткий период времени — для меня это хороший знак. Значит, он легко обучается и быстро дорастет до следующего уровня»
Михаил Черемухин-Рерберг:
«Я спрашиваю, как человек развивается в профессии: что читает, слушает, интересуется ли смежными областями. Проверяю общую эрудицию в отрасли».
➤ Навыки общения
Константин Военков:
«Программист не просто пишет код, он решает проблемы. Поиск решения и определение проблемы — важные этапы разработки. Программирование — это про борьбу со сложностью. Чем проще вы решаете проблему, тем лучше. Чтобы выбрать оптимальное решение для конкретной задачи, приходится общаться и понимать людей с другим мировоззрением. Поэтому программисту важно развивать soft skills».
Не переживайте: в первый рабочий день вам не поручат вести переговоры и защищать проект перед советом директоров. Первое время вы работаете в основном со своим руководителем. Он ставит перед вами задачи и помогает адаптироваться в компании. Со временем вы освоитесь, познакомитесь с коллегами и поймете, как улучшить свои навыки коммуникации.
➤ Фундаментальные знания
Процесс найма программистов сильно отличается от компании к компании. Одни работодатели задают теоретические вопросы по чек-листу и фиксируют, правильно вы ответили или нет. Другие — выводят на простой разговор, чтобы разрядить обстановку. Иногда вам дают тестовое задание, вы делаете его в указанные сроки и отправляете на проверку.
Николай Субоч:
«Junior-разработчика любят спрашивать про базовые алгоритмы и структуру данных. Проверяют мыслит ли он в терминах Computer Science. Просят реализовать несложную задачу на языке программирования. Если хотите подготовиться к алгоритмическим секциям, заходите на сайт leetcode.com. На нем весь мир тренируется решать алгоритмические задачи».
➤ Практический опыт
От начинающего разработчика не ожидают успешных рабочих проектов, но учебные кейсы лучше иметь. Так вы на практике покажете свой уровень знаний. У работодателя будет меньше вопросов — процесс трудоустройства пройдет легче.
Программисты используют хранилище кодовой базы, куда сохраняют свои проекты. Одно из них — GitHub. Это хороший способ показать работодателям, что вы умеете, и как развивались ваши навыки.
Три главных совета junior-разработчикам от опытных коллег:
✔ покажите заинтересованность и желание развиваться самостоятельно — руководитель должен быть уверен, что вы быстро станете middle-разработчиком;
✔ подготовьте практические проекты, они могут быть учебными — работодатель поймет ваш уровень знаний и количество вопросов к вам сократится;
✔ соблюдайте культуру общения — проявляйте уважение к собеседнику, будьте вежливы и открыты. На старте карьеры soft skills ценятся высоко.
Где учиться на разработчика
Если вас привлекает IT-сфера, вы хотите быстро развиваться, работать удаленно и оставаться востребованным специалистом, за которого борются компании, — присмотритесь к курсам онлайн-университета Skypro.
Вы закончите программу уверенным junior-разработчиком: создадите практические проекты для портфолио, разберетесь в индустрии, поймете, как работать в современных IT-командах. Наставники и кураторы курса поддержат вас в процессе учебы. А HR-специалисты подготовят к собеседованиям и помогут найти первую работу.