Карьера в IT #гайд

Как junior-разработчику найти первую работу в IT

11 марта 2021 Читать ~ 8 минут

Содержание:

  1. Что должен уметь junior-разработчик
  2. Что junior-разработчику писать в резюме
  3. Чем заполнить портфолио, если нет опыта 
  4. Как искать работу junior-разработчику
  5. Что спрашивают на собеседовании
  6. Какие задачи доверяют junior-разработчикам на проекте
  7. Карьерный рост для junior-разработчика

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

Что должен уметь junior-разработчик

Junior-разработчик – это начинающий специалист и стартовая позиция в карьере программиста. На нее претендуют, как правило, выпускники вузов или курсов. При поиске работы наличие профильного высшего образования значительной роли не сыграет. Однако и устроиться программистом в IT-компанию после 2-3-х месячных курсов вряд ли получится – это слишком короткий срок для освоения языка программирования. Если же обучение проходит 9-12 месяцев, то в течение этого времени можно получить необходимые базовые знания.

В каждой IT-компании будут свои представления, что должен знать junior-разработчик. Для продуктовой компании, возможно, будет важнее знание конкретной технологии или ее аспектов, а для аутсорсинговой может потребоваться более широкий стек. Но обычно от junior-программиста ждут знаний именно по языку программирования, считает Николай Навныко – Python-разработчик в ScienceSoft.

Junior-разработчик должен хорошо знать свой язык программирования: конструкции языка, структуры данных, управление памятью, особенности и отличия от других языков и прочее. Также нужно знать основы баз данных, уметь строить схему БД, таблицы​, связи и составить SQL-запрос. Будут плюсом базовые знания какого-либо веб-фреймворка – можно изучить основы самого популярного.

Junior-разработчику будет полезно уметь работать с системой контроля версий (например, Git). К техническим навыкам стоит добавить знание английского языка – это особенно важно для аутсорсинговых IT-компаний. Также нужно понимать, как проходит процесс коммерческой разработки, из каких циклов состоит, какие роли есть на проекте.

Что junior-разработчику писать в резюме

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

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

Чем заполнить портфолио, если нет опыта 

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

Чтобы получить опыт (пусть и не продакшн), можно решить какую-либо свою проблему: сделать для себя сайт с расписанием режима дня, электронный дневник прогресса в тренажерном зале, напоминалку для выгула собачки. Это может быть, что угодно – главное, чтобы вы понимали, как работает ваш код в данном случае.

Еще один вариант попрактиковаться и пополнить портфолио – участвовать в open source проектах. Это возможность поработать над созданием реальных продуктов в команде с другими специалистами, научиться читать чужой код, вести документацию и получить фидбэк от коллег. Искать такие проекты можно на GitHub. Выбирайте проект, который будет вам по силам и с активным комьюнити, чтобы быстрее получать обратную связь.

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

Как искать работу junior-разработчику

Конкуренция на позицию junior-разработчика достаточно высокая. Хотя вакансий для джунов на сайтах-агрегаторах много – большинство из них требует минимум года опыта работы, говорит Вадим Бардиер – Junior Python-разработчик в ScienceSoft.

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

Однако есть и такие направления, где специалистов не хватает, поэтому компании сами активно нанимают и обучают новичков. Например, это касается разработки для Salesforce или Microsoft Dynamics 365.

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

Что спрашивают на собеседовании 

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

Я на собеседованиях на junior-позицию больше всего обращаю внимание именно на хорошее знание языка программирования, рассказывает Николай Навныко, все остальное можно подтянуть в процессе работы. Вопросы кандидату задаю разные, например, несколько – по структурам данных, управлению памятью и другим аспектам языка. Больше внимания обращаю на понимание вопроса и рассуждения. В ходе собеседования становится понятно, разбирается кандидат в теме или нет.

Вадим Бардиер, прежде чем устроиться в ScienceSoft, ходил по собеседованиям 2 месяца. Он говорит, что в основном от junior-программиста ждут хорошего знания синтаксиса языка, понимания ООП, навыков работы с базовыми технологиями и владения английским на достойном уровне. До технического интервью или прямо во время собеседования могут попросить выполнить тестовое задание. Вадим вспоминает, что по сложности задачи были разные: от составления запросов к базе данных и поиска ошибки в коде до написания рабочего кода для решения конкретной задачи.

Какие задачи доверяют junior-разработчикам на проекте

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

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

Зачастую первые задачи, которые дают junior-разработчикам, – это исправление багов. Это правильное решение с точки зрения входа в проект, считает Николай Навныко:

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

Карьерный рост для junior-разработчика

В IT-компании junior-программист будет нарабатывать опыт, который поможет профессиональному росту. Как правило, через 1-2 года начинающий специалист может повысить свой уровень до middle-разработчика. Но для такого карьерного роста в первый год работы нужно интенсивно учиться и расширять знания, часто придется уделять этому свободное время. Хорошо, если в компании предусмотрены внутреннее обучение и обмен опытом между коллегами. Если такого нет, то старайтесь сами проявлять инициативу и постепенно претендовать на все более сложные и ответственные задачи. Не стесняйтесь просить помощи или совета у опытных коллег и будьте сами открыты для диалога, ведь помимо технических навыков в команде вы можете научиться многим другим вещам, в том числе из других направлений в IT (из тестирования, бизнес-анализа, управления проектами и др.), которые пригодятся вам в карьере.