Написать пост

Как джуниор-разработчику вырасти до мидла за год

Проанализировали требования работодателей к разработчикам и выяснили, как стать мидлом за год и что для этого нужно.

Как джуниор-разработчику вырасти до мидла за год

Плох тот джун, который не мечтает стать мидлом. Статус мидла даёт возможность делать крутые проекты и увеличить зарплату в среднем в 2 раза.

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

Как устроены грейды в IT

Грейды — разделение одной должности на несколько категорий в зависимости от знаний и умений сотрудника.

В IT-сфере у специалистов три грейда: Junior, Middle, Senior. Грейдирование позволяет привязать зарплату к компетенциям работника, мотивировать и стимулировать его. Чтобы расти в деньгах и работать над более интересными проектами, разработчики прокачивают компетенции и повышают грейд.

Нередко можно услышать, что грейды в IT условные:

  • разные компании к одному и тому же уровню специалиста выдвигают разные требования
  • в некоторых компаниях деления на джунов и мидлов вообще нет

Но практика доказывает обратное. Мы изучили 100 открытых вакансий на hh.ru и увидели: компании часто ищут разработчиков определённых уровней, а требования к хард- и софт-скилам у джуна и мидла отличаются.

Чем отличается джун от мидла

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

Фреймворки

  • Джун знает популярные фреймворки, например React, Laravel, Sinatra, Django, Spring. Задачи решает по шаблону, с помощью опытных коллег.
  • Мидл уверенно владеет одним или несколькими популярными фреймворками. Разбирается в асинхронном программировании. Решает нестандартные задачи.

Git и GitHub

  • Джун знает о проектах на GitHub. Может к ним присоединиться, чтобы помочь исправить документацию или несложную ошибку. Пишет код и отправляет его опытным коллегам на ревью и публикацию.
  • Мидл работает с Git: возвращается к исходным файлам, просматривает историю изменений, восстанавливает любые данные, работает с файлами вместе с коллегами. Размещает проекты на GitHub, ведёт ветки, делает коммиты.

Алгоритмы

  • Джун понимает основы алгоритмизации, но практического опыта нет.
  • Мидл знает и использует алгоритмы для эффективного решения задач.

Инструменты разработки и инженерные практики

  • Джун навыком не владеет.
  • Мидл умеет покрывать код тестами и правильно его организовывать.

Код

  • Код джуна работает, но его трудно читать и поддерживать.
  • Мидл пишет чистый простой код, который легко поймут другие члены команды. Понимает принципы контейнеризации приложений. Умеет работать с Docker.

Понимание бизнес-потребностей

  • Джун выполняет задачу без привязки к конкретным целям бизнеса.
  • Мидл умеет реализовать в коде то, чего хочет бизнес. Понимает, как воплотить идею в жизнь с учётом технических возможностей.

Умение составлять план и работать по нему

  • Джун не умеет строить план по решению крупной задачи. Получает задание и сразу начинает его выполнять тем способом, который знает.
  • Мидл, прежде чем кодить, продумывает план. Может аргументировать, почему выбрал тот или иной вариант.

Насмотренность

  • Джун знает 1-2 способа, как решить задачу.
  • Мидл знает современные тренды. Видел и отмечал хорошие решения других разработчиков, использует их в работе.

Самостоятельность

  • Джун работает под руководством опытных коллег.
  • Мидл самостоятельно справляется с задачами.

Форс-мажоры

  • Джун иногда не знает, за что взяться, чтобы решить проблему.
  • Мидл пытается разобраться в задачах, с которыми не сталкивался.

Коммуникативные навыки

  • Джун, если что-то не знает, задаёт абстрактные вопросы: «Как исправить?», «Что делать, чтобы работало?»
  • Мидл, если возникла проблема, понимает, что нужно исправить. Задаёт коллегам конкретные вопросы. Анализирует работу менее опытных сотрудников. Подсказывает, как улучшить решение. Делится опытом и знаниями с новичками и стажёрами.

Как можно повысить свой грейд: 3 способа

Опытные разработчики утверждают: чтобы подрасти, джуну понадобится от года до трёх лет.

Сделать это можно несколькими способами.

Окончить курсы

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

Иногда курсы проводят и сами работодатели. Например, в школе «МТС.Тета» обучают Golang-разработчиков, аналитиков, фронтендеров и т. д. Так компании выращивают специалистов под свои задачи и приглашают их на работу.

Как джуниор-разработчику вырасти до мидла за год 1
Школа «МТС.Тета» проводит шесть курсов по разным направлениям. Чтобы попасть на них, нужно подать заявку и пройти отбор

Поработать стажёром

Крупным компаниям выгодно брать новичков на стажировки: воспитать нужного специалиста внутри проще, чем искать его в другом месте. А для соискателей это отличная возможность подзаработать, перенять опыт коллег и поработать над продуктами, которыми пользуются миллионы людей.

Если стажировка пройдёт удачно, можно остаться в компании уже на правах полноценного сотрудника.

Как джуниор-разработчику вырасти до мидла за год 2
Информацию о стажировках можно найти на сайтах корпораций. 

Например, в МТС сейчас набирают тестировщиков, разработчиков, аналитиков.

Самостоятельно

Прокачать скилы исключительно своими силами сложно по двум причинам:

  • нет обратной связи по отработке знаний на практике;
  • нужен высокий уровень самодисциплины.

Из-за этого на повышение грейда может уйти больше времени. Но обучение на курсах тоже не гарантирует ни быстрый и лёгкий вход в IT, ни мгновенное развитие карьеры.

Множество счастливых историй на сайтах онлайн-школ — всего лишь уловка маркетологов. Гораздо больше случаев, когда люди потратили много лет, чтобы вырасти в профессии или вообще не смогли стать разработчиками. Но об этом редко рассказывают.

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

Есть много способов повысить грейд бесплатно:

  • смотреть видео на YouTube;
  • читать книги и статьи;
  • консультироваться с опытными разработчиками, которые помогут составить дорожную карту обучения;
  • проходить бесплатные курсы, одобренные IT-сообществом (про них мы рассказывали в этой статье).

Конечно, на самостоятельное обучение потребуется больше времени: на учёбу придётся тратить 3–5 часов ежедневно. Можете ли вы себе это позволить, или работа, семья и домашняя рутина съедают каждую свободную минуту — это уже другой вопрос.

Пошаговый план: как джуну стать мидлом за год

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

Например, курс для ‎Python-разработчика выглядит примерно так.

В первый месяц студенты изучают и отрабатывают на практике:

  • Понятие «Качество кода». Стандарты оформления кода.
  • Работу с системой контроля версий Git.
  • Создание схемы базы данных и определение необходимых ограничений целостности.
  • Процесс вставки данных.
  • Нереляционные базы данных на примере NoSQL.
  • Выбор фреймворка. Базу данных Django.

Во второй месяц:

  • Технологии ORM.
  • Разработку серверной части Python с помощью Django.
  • Платформу Docker.
  • Фазы обработки запросов Nginx.

В третий месяц:

  • Поисковую систему Elasticsearch.
  • Полнотекстовый поиск и архитектуру ETL.
  • Асинхронный подход, итераторы, генераторы и корутины.
  • Асинхронные фреймворки: Twisted, AIOHTTP и FastAPI.

В четвёртый месяц:

  • Код-ревью: понятие и общие требования.
  • SOLID-принципы программирования.
  • Этапы и виды функционального тестирования.
  • Понятие API и плюсы работы с программным интерфейсом.

В пятый месяц:

  • Сервис аутентификации и авторизации пользователя в проекте.
  • Работу с чувствительной личной информацией: безопасность, шифрование, хеширование и управление доступом к ней.
  • Flask и Redis.

В шестой месяц:

  • OAuth 1.0, OAuth 2.0 и OpenID.
  • Работу с капчей и двухфакторной авторизацией.
  • Общение между микросервисами.
  • Настройку устойчивости сервиса к нагрузкам и изменениям API.
  • Внедрение в AsyncAPI авторизации, управление уровнем нагрузки и быстрое нахождение проблем.

В седьмой месяц:

  • Работу и функции UGC. Планирование сервиса.
  • Описание архитектуры и правила её проектирования.
  • Выбор хранилища, событийную работу с данными и работу с Kafka.
  • Подходы к хранению и обработке данных, которые не помещаются на один сервер.

В восьмой месяц:

  • Ещё одно распределённое хранилище, хранение данных и оптимизацию хранения и обработки.
  • CI/CD: построение непрерывной интеграции для приложения.
  • Логирование в микросервисной архитектуре.

В девятый месяц:

  • Сервис уведомлений.
  • Механизм отправки сообщений пользователям и единую политику контактов.
  • Проектирование системы коммуникаций.
  • Устройство e-mail и шаблонизаторов электронной почты.
  • Брокер сообщений RabbitMQ. Сервисы транзакционной рассылки писем и сокращённые ссылки.
  • CI/CD-конвейеры.

Ещё два месяца уйдёт на выполнение дипломной работы. Т. е. примерно через 11 месяцев джун овладеет всеми навыками мидла, сможет просить повышение или откликаться на более интересные вакансии в других компаниях.

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

Запомнить

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

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
2К открытий9К показов