От джуна к мидлу: практические советы
Макс Кравец из Holyweb предлагает разобраться, чего работодатели хотят от джунов на самом деле и как достигнуть желаемого роста в профессии.
13К открытий13К показов
Максим Кравец
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 от Магистра Йоды.
13К открытий13К показов