Обложка: От джуна к мидлу: практические советы

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

Максим Кравец
Максим Кравец

CEO в Holyweb

— Нам нужен начинающий fullstack-web-mobile-разработчик с навыками написания кода на нескольких языках. От нас: бесценный опыт работы, офис с самокатом и собственная кухня с печеньками.
— Сколько денег заплатите?
— А что, опыт уже ничего не стоит?

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

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

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

Предлагаю разобраться, чего хотят работодатели на самом деле и как вам достигнуть желаемого роста в профессии.

Джуны не нужны: взгляд со стороны нанимателей

1. Джун — это рисковая инвестиция

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

На обучение начинающего специалиста выделяют часы кого-то из старших сотрудников. И тогда получается, что бизнес, нанимая джуна, «в моменте» не только не приобретает новую боевую единицу, но и теряет часы сотрудника, выполняющего роль ментора. Был один сильный сотрудник — наняли джуна — вместе их стало 0,5.

Что с этим делать:

Математика «1 джун + 1 мидл = 0,5 разработчика» не совсем справедлива, если компания смотрит на долгосрочную перспективу. За два-три года начинающий разработчик вырастет в крепкого мидла, если приложить к этому усилия. Проблема в том, что джун через пару месяцев может уйти в другую компанию. И тогда все эти усилия окажутся напрасными.

Так что главное здесь: вкладываться должен не только наниматель, но и джун. Научить можно только того, кто сам готов учиться.

Важно: учиться в данном контексте — это найти баланс между «спросить совета сразу» и «попробовать решить самостоятельно». Одни джуны думают о задаче 5 минут и бодро шагают к ментору за подсказкой, другие наоборот — тратят много часов в поисках нужного решения, вместо того, чтобы вовремя обратиться за советом. Обе крайности плохо помогают в развитии. Лучше нащупать ту грань, когда самостоятельность не тормозит работу, но и не приходится отвлекать ментора по пустякам.

2. Джуны сразу претендуют на зарплату уровня мидлов

На сайтах онлайн-курсов всегда есть блок с потенциальной зарплатой. Вот что он обещает разработчикам:

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

Проблема в том, что сайты курсов показывают среднюю, а то и медианную зарплату разработчиков в России, включая мидл-специалистов и техлидов.

Идём в указанный первоисточник и находим более развёрнутую информацию:

А потом там же читаем, что такое медианная зарплата:

Это не «сколько зарабатывает начинающий специалист», а вообще ситуация по рынку без привязки к грейдам. Причем ещё и до вычета налогов.

Что с этим делать:

Для оценки того, сколько можно заработать, лучше провести собственное исследование. Пойти на hh.ru, в поиске вбить «junior-разработчик» и посмотреть, что предлагают. В Москве зарплата будет порядка 50—60 тысяч рублей, в регионах — 35—40 тысяч рублей.

3. Джун умеет писать код, но не умеет работать

А в чём разница? Вроде же в этом и есть работа — писать код.

Не совсем. Мало писать код, нужно уметь взаимодействовать с окружением. То есть со всем, что сопутствует написанию кода: от принятия задачи до коммита и работы с таск-трекерами.

Вот типичные проблемы начинающих специалистов:

  • берутся за задачу, не разобравшись до конца в ее сути;
  • боятся задавать уточняющие вопросы;
  • плохо ориентируются в тулзах: от условного баск-менеджера Jira до Git;
  • не умеют разворачивать проект;
  • забывают трекать время по задачам;
  • не соблюдают код-стайл.

Что с этим делать:

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

«Вечный джун»: как разработчику не застрять на начальном уровне

Есть такой термин «вечный джун» — специалист, который работает в сфере не один год, но постоянно совершает ошибки новичка. Такие джуны точно никому не нужны. Дабы не зависнуть в этом статусе на многие годы, можно сделать следующее:

1. Определиться со стеком

Начинающий специалист обычно поверхностно знает какой-то язык, может быть знаком с парой фреймворков. А дальше начинается «всё такое интересное, хочу всё попробовать». Этой темы я уже касался в статье «Прекратите изучать фреймворк, станьте JavaScript-разработчиком».

Часто в резюме разработчика вижу кашу из фреймворков: год поработал на Vue.js, полгода на — React, ещё пару месяцев — на Angular. На собеседовании спрашиваю: «Почему так?». И 99% процентов отвечают: «Такой проект был, занимался тем, на что кинули».

Это в корне неверный подход. Когда человек лезет сразу и во фронт, и в бэк, по верхам идёт по всем стекам и фреймворкам — он не станет специалистом ни в чём.

Что с этим делать:

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

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

2. Прокачивать самостоятельность и софт скиллы

Как понять, что специалист уже мидл или близок к этому уровню? Посмотреть, насколько качественно он может решать задачи самостоятельно.

Тут я выделю два навыка, без прокачки которых не обойтись:

  • учиться работать с информацией;
  • развивать самостоятельность в управлении загрузкой.

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

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

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

Что с этим делать:

  • Научиться анализировать свой день и вести некое подобие дневника развития. Выделять эпики, оценивать проделанную работу и сложности, которые возникали.
  • Быть в контексте трендов своего стека, искать разные источники информации, изучать новые тулзы, даже если они не используются в текущем проекте.
  • Самое очевидное, кэп: составить план по развитию. Самостоятельно или с помощью HR-куратора в вашей компании. Регулярно выставлять себе цели: например, в месяц сейчас возвращается с тестирования 20% задач, через 3 месяца должно быть не более 15%.

3. Пройти стажировку

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

Проблема со стажировкой в том, что некоторые джуниор-специалисты уверены, — это ниже их достоинства. Особенно после онлайн-курсов крупных платформ.

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

Что с этим делать:

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

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

Суммируем

Каждый синьор и техлид когда-то был джуном. И тоже проходил весь этот путь.

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

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

В качестве резюме могу сказать: лучшие разработчики, с которыми мне приходилось работать, следуют принципу «СДАВ».

С — Саморефлексия

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

Д — Досуг

Главный рабочий инструмент разработчик — мозг. И его нужно разгружать. А для этого нужен регулярный отдых, хобби, прогулки и физическая нагрузка. Кажется банальным, но именно навык организации досуга помогает не выгорать.

А — Адекватность

Обдумывать решения и не додумывать слова за другого человека, будь то коллега или тимлид. А для этого нужно осваивать кунг-фу «правильных вопросов». Например, спросить: «Чем ты руководствовался при выборе решения?» или «Почему важно сделать именно так?», а не сразу спорить и доказывать свою точку зрения.

В — Вовлеченность

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

Если остались вопросы или есть что добавить по теме — пиши в комментариях к статье или сразу в Телеграм @maximkravec. А если ты JS-разработчик, проверь уровень своих компетенций в нашем тесте Загадки JS от Магистра Йоды.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации