Джун, мидл, сеньор. В чём разница
- 14 августа 2020
«Я ещё джун или уже не джун?» — вот в чём вопрос. Отвечает Наталья Ёркина из Ostrovok.ru.
Ещё о карьере:
Опыт и знания программистов увеличиваются во время работы — и джуны не исключение. Обычное дело — прийти на работу, узнать что-то, порешать задачи и через пару месяцев подумать «Ну вот я уже, наверное, и стал мидлом, надо просить зарплату в два раза выше».
А чаще всего не пора, и вот почему.
Дисклеймер: нет простого способа определить, джун перед вами или уже мидл. Умение находить множественные решения задач — только один из способов.
Джуны — младшие разработчики
Джуны — программисты, которые иногда не знают, что именно они знают (и никто из коллег тоже не знает). Это тот случай, когда не совсем понятно, что человек умеет, и совсем не ясно как он это применяет на практике.
Тест на джуна: придумайте больше двух способов сделать слайдер на сайте
💡 Тест на джуна: придумайте больше двух способов сделать слайдер на сайте.
Вы джун, если придумали одно или два решения без особого обоснования, а дальше пошли смотреть в Гугл.
Джуны обычно не могут объяснить вещи, которые нужно сначала потрогать на практике.
Например, event loop
в JavaScript. Про него всё написано, но до тех пор, пока программист с ним не поработал, он не поймёт, как там всё организовано. Когда я проходила собеседование на джуна, я вообще не знала половину этих слов. Я не могла ответить на вопрос, потому что просто не понимала, о чём меня спрашивают.
Джун, который немного поработал в настоящей компании, может решать задачи разных уровней. Вопрос только в том, как он это делает. Чаще всего, решение будет одно, максимум два, потому что у джуна нет опыта решения подобной задачи через множественные подходы. Он может нагуглить, может сам решить, но это условные 1-2 варианта, а всё остальное будет казаться сложным, непонятным и нереализуемым.
Ещё один признак джуна — попросить помощь на типовых задачах. В этом нет ничего плохого, но если разработчик на типовых задачах запрашивает помощь, то он почти всегда джун (или зануда-мидл, который просто любит всех отвлекать).
Стереотип о джунах
Есть стереотип, что джун — это человек, который ничего не умеет, и пришёл устраиваться вообще без навыков и знаний. Так думают многие, и с этим стереотипом сложно бороться.
Джуны умеют делать многое, просто у них нет опыта преодоления сложностей, так как нет опыта работы. Он знает, как сделать и раскрасить попап, сверстать слайдер и много чего ещё.
Джун — не приговор. Просто учитесь решать задачи.
Хороший джун знает или хотя бы слышал, как устроена разработка в современных компаниях — он умеет пользоваться системами контроля версий, понимает, что за чем идёт, и владеет базовым набором инструментов. HTML Academy готовит джунов так, чтобы они выпускались с нормальным набором знаний, а мы доучиваем их под свои реалии.
Мидлы — просто разработчики
Мидл хорошо пишет код, генерирует много вариантов и умеет выбирать из них оптимальный. Понимает базовые концепции, хорошо знает язык, на котором пишет. Мидл легко своими словами расскажет, как работает браузер, какие в нём инструменты и как ими пользоваться, как работает асинхронность и другие вещи из языка.
Мидл сразу понимает, о чём написано в технических статьях, потому что ему уже знакома вся терминология.
Если джун может придумать всего одно или два решения для задачи, то мидл эту задачу видел несколько раз, получал по ней фидбэк, решал её по-разному из-за стека, рабочего окружения и прочих обстоятельств в виде необходимости поддерживать IE11. Поэтому его решение скорее всего будет оптимальнее. К тому же, он может выбирать решения, а джун решает так, чтобы что-то просто работало.
Когда человек из головы может объяснять абстрактные вещи типа замыкания и контекстов, а также без труда видит возможные варианты решения задач, или знает где их взять и как применить, тогда он, по-моему, может считаться мидлом.
💡 Тест на мидла: вас попросили решить нетипичную для вас задачу.
Вы мидл, если сказали «Ух ты ж блин, как интересно», немного подумали и решили.
Программисты часто переходят между командами ради повышения уровня сложности и смены задач. Однажды мы взяли джуна в аналитический отдел. Он хорошо работал и за год стал мидлом. Перешёл в команду, которая делает внутренний продукт, и сейчас прекрасно себя там чувствует. То есть он год делал какие-то простенькие джуновые задачи — месяца три что-то совсем простое, потом мы ему стали давать задачи уровня мидла. Он их успешно выполнял, и его перевели в другой отдел на другой уровень сложности.
Сеньоры — старшие разработчики
С работой в одной команде связан интересный эффект. Пока программист работает в одной и той же компании и занимается каждый день одним и тем же, ему может показаться, что всё получается хорошо. Чтобы понять, пора ли просить зарплату сеньора, попроситесь в другой отдел и поделайте их задачи. Если не получается делать хорошо, быстро и с первой попытки, значит ещё рано.
Сеньор — программист, который может перейти в другой отдел с принципиально другими задачами в рамках одной компании, ничего там не сломать и не затормозить работу.
💡 Тест на сеньора: вас попросили решить нетипичную для вас задачу.
Вы сеньор, если сказали «Ух ты ж блин, какая интересная задача, надо бы её делегировать, пусть и остальные учатся».
Если человек может в одном отделе немножечко пилить аналитику, а в другом отделе поделать чуть-чуть фронтовый бэкенд на Node.js, а потом ещё уйти в совсем другую вещь и написать код на Vue.js, хотя на нём до этого не очень и писал (ну просто так сел и разобрался), то, скорее всего, он уже сеньор.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше
Пришел «зелёным» junior и вырос до «жёлтого» middle. История выпускника
_Поговорили с фронтенд-разработчиком Александром Масленниковым и узнали, насколько сложно ему было пройти путь от новичка после курсов HTML Academy до полноценного мидла в компании «5 углов».
Александр рассказал, как выбирал будущие курсы, насколько сложно быть программистом-джуном, и как вкатиться в профессию, если тебе уже за 30._
— Ты пришёл в «5 углов» сразу после курсов?
— Да. Работаю тут уже три года. По сути, первое серьёзное собеседование я прошёл в компании «5 углов». Остальные работодатели не отвечали, как это часто бывает на hh.
Кстати, «5 углов» я нашёл не через hh, а через HTML Academy. У них есть своя небольшая площадка, где компании, с которыми они сотрудничают, оставляют вакансии, а затем выбирают сотрудников среди выпускников.
— Получается, можно просто закончить курсы HTML Academy и идти искать работу?
— Можно, но если у тебя кроме учебных проектов будет ещё что-то, шансов намного больше. Курсы дают начальные знания для входа в мир IT, а дальше нужно расти самому. В разработке нужно всегда учиться новому.
— На кого ты учился в университете?
— По образованию я бухгалтер-аудитор, но по специальности я так ни разу в жизни не поработал. В основном работал в продажах, продажах и ещё раз в продажах :)
У родителей был семейный бизнес — магазинчик, я им помогал, был администратором в магазине. Занимался всем подряд — если надо было, то подменял продавцов, выезжал за товаром и на выставки, проводил ревизию и аудиты. Магазин работал по франшизе, поэтому были обязательства с определёнными компаниями.
Основные поставки шли из Турции, какая-то часть из Европы, то есть всё было привязано к курсу доллара. И когда он поднялся до 70, стало очевидно, что для нашего городка такой магазин становится нерентабельным, и мы закрылись. После этого я взял небольшой перерыв и подался в раздумья, чем бы хотел заниматься.
— Рассматривал что-то, кроме программирования?
— Некоторые моменты жизни я посвящал онлайн-играм, этим занимались мои знакомые и друзья. Один из хороших знакомых запустил свой проект — магазин по предоставлению игровых услуг, ему были нужны надёжные исполнители, и на некоторое время я решил остановиться там. Собрал себе небольшую команду, и мы занимались различными заказами.
Но время шло, и всё чаще приходили мысли о том, что нужна стабильная и надёжная работа. Так как кроме продаж я ничего не умел, пошёл продавать квартиры. Через полгода работы риелтором я понял, что продажи просто ненавижу. Хотелось чего-то более спокойного, где будут какие-то рамки, ТЗ, и ты можешь спокойно работать, никто не будет напрягать.
Знакомый с большим опытом в разработке посоветовал попробовать программирование, порекомендовал начать с вёрстки сайтов и даже посоветовал курсы. У них в команде был выпускник HTML Academy, и они остались довольны.
— Хватило ли тебе навыков, которые ты получил на онлайн-курсах в HTML Academy, чтобы начать работать?
— Вполне, у них очень большое покрытие навыков, начиная от обычных HTML, CSS и JavaScript, и заканчивая React, Vue, PHP. Они сейчас очень много всего дают. По сути, это выглядит так: тебя учат алфавиту и базовым словам, а потом ты должен научиться составлять из них предложения. Чем красивее ты составляешь предложения, чем они лучше и больше, тем ты профессиональнее становишься.
Всё зависит от компании, в которую пытаешься попасть. Если там пишут в вакансии что нужен junior — не факт, что это так и есть. Некоторые обозначают требования, которые уже явно соответствуют разработчику с опытом в пару лет. Тут не стоит расстраиваться и опускать руки. Пока не пригласили на собеседование, стоит дальше учиться самостоятельно и пополнять портфолио.
Интересно оформленное портфолио — огромный плюс, оно показывает отношение сотрудника к работе.
— Есть популярное мнение, что junior-разработчиков никто не любит, и их не хотят брать на работу. Было ли три года назад так? Можешь ли ты назвать везением, что тебя взяли на работу так быстро?
— Это ошибочное мнение. Полагаю, что оно появляется на фоне того, что многие онлайн-школы сулят высокие зарплаты, но когда после прохождения курсов не берут на подобные зарплаты, случается небольшой шок. Надо понимать, что после прохождения курсов у вас 0 опыта. Учебные проекты не в счёт — они сделаны под присмотром наставника, и компания, куда вы направляете своё резюме, скорее всего это понимает. Я думаю, что компания всегда хочет себе опытного сотрудника, и не важно, какая это сфера.
Так было и три, и десять лет назад, это есть и сейчас, ничего удивительного. Если хотите повысить свои шансы на успех, после курсов стоит продолжать учиться и пополнять своё портфолио, например, различными интересными тестовыми заданиями.
То, что я нашёл работу буквально через три месяца после курсов, я считаю большим везением. Предполагал, что поиск работы займет минимум год. Уже был составлен план, как буду двигаться в течение года:
- Раз в неделю проходить по вакансиям и брать в работу тестовые задачи;
- Пытаться повторить какой-нибудь простенький сайт,
- Если пригласили на собеседование, то обязательно иду, ведь даже из неудачного собеседования можно получить много полезного опыта.
В общем, была цель набраться опыта и заполнить портфолио.
— Сейчас на Youtube очень много видео, в которых критикуют онлайн-курсы. Можешь сказать, действительно ли они работают?
— Онлайн-курсы — это такая же система обучения, как и вузы, только попроще и более точечная. Вообще, сама система онлайн-курсов — крутая вещь. Она позволяет, живя в какой-нибудь деревне, получить образование, которое сейчас востребовано, прокачать свои навыки, найти крутую работу, сделать головокружительную карьеру, быть востребованным на рынке труда. Но в это верят не все. Может быть, они не понимают, как это работает, или не тратят все силы.
Онлайн-курсы — это такая же система обучения, как и вузы, только попроще и более точечная.
Я рассматривал и очную систему обучения. Выбрал школу при МГТУ им. Н. Э. Баумана в Москве. Там огромный выбор курсов, в том числе по HTML и JS. Ездить мне было удобно — полтора часа, и я там. Но звёзды так сложились, что и цена в два раза дороже, и начался ковид. Было непонятно, что вообще происходит, поэтому решил отказаться от очного обучения.
В итоге, я взял в HTML Academy начальный курс «HTML и CSS. Профессиональная вёрстка сайтов», который просто объясняет, что такое HTML и CSS — можно сказать, азы. Были онлайн-лекции, в чате я мог задавать вопросы, и после каждой главы лектор отвечал на них. Также можно было выбрать себе одного наставника, который помогал в течение курса. Всё выглядело цивилизованно. По итогу первого курса мне всё понравилось, и я взял следующий курс. Позже добрался до курса по JS, потому что без него никуда.
Я смотрел курсы других онлайн-школ, некоторые из них очень хвалили в интернете. Если честно, эти расхваливания выглядели странно. По опыту работы с клиентами могу сказать, что люди охотнее пишут плохие отзывы, чем хорошие. У некоторых цена была аж в два раза дороже, а дороже не значит лучше. Сомнений было много.
— В целом, ты можешь порекомендовать HTML Academy?
— Да, я до сих пор у них периодически беру курсы. У нас на работе есть плюшки — оплата 50% стоимости курсов для роста квалификации. Как пример, я посчитал, что нашей команде нужен курс «Вёрстка email-рассылок». Люди, которые сейчас приходят, даже не знают про неё, ведь этим пользовались лет десять назад. Так как в компании кто-то должен уметь делать e-mail верстку быстро и качественно, я взял эту роль на себя. Обсудил это с руководителем отдела, и компания мне покрыла половину стоимости.
— Какие навыки пришлось приобретать, когда ты уже пришёл на работу?
— В начале очень нужны были soft skills для постоянного общения с коллегами. Так как сфера была для меня полностью новая, я вообще не знал, что делать в некоторых моментах. У меня постоянно были вопросы: «Как подключаться? Где что брать? Что произошло?».
Надо было всё это узнавать, и желательно каждый раз не доставать коллег вопросами. Приходилось самому искать решения, а если не находил, то шёл к старшему коллеге, предварительно собрав вопросы в охапку. Первое время нужны именно такие навыки.
В хорошей компании понимают, что junior-разработчика не нужно грузить какой-то тяжелой работой, от которой он сломается. Так ведь и психологическая травма может случиться: потратил кучу денег, времени на обучение, а тут пришёл и на первой же задаче споткнулся.
— Как ты себя чувствовал в первые дни работы? Может, были мысли все бросить?
— Мысли бросить бывали, наши проекты уникальные, поэтому довольно часто встречаются такие задачи, над которыми надо изрядно поломать голову.
Поначалу ещё не умеешь распределять грамотно время и, как большинство новичков, сидишь в нерабочее время и пытаешься что-то сделать. Есть груз ответственности, можно и подгореть. Большую роль играет коллектив и атмосфера. Очень круто, если есть возможность созвониться с коллегой или руководителем отдела и обсудить свою проблему. Взгляд со стороны мне не раз помогал.
Периодически бывает тяжело — растут конкуренты, рынок, спрос. Надо уметь делать то, что не умеют другие.
— Доволен ли ты свои выбором профессии?
— Если смотреть из тех вариантов, которые у меня были, я считаю, что пошел по самому лучшему. Я доволен.
Решающих вещей много: коллектив, начальство, зарплата, возможность работать удалённо. Нет проблем взять отпуск на пару дней, если случилось что-то срочное. Совокупность всех этих вещей сейчас меня устраивает.
— Можешь охарактеризовать или описать парой слов, каким ты был в начале пути, и то, какой ты сейчас?
— Вот это самое тяжелое, на самом деле, потому что мне кажется, что я не так далеко ушел от начала пути. Сфера очень большая, прошло всего три года, как-то хочется намного больше уметь.
Я считаю, что хороший опыт для программирования лет 8: всё можно попробовать, поменять направление, на котором ты вырос, войти во что-то новое. Можно зайти в новое направление одним из первых и рассказать, какой ты классный.
В начале пути я был «зеленым», а сейчас «желтый». «Красный» будет, когда я буду матёрым, и буду говорить, что справлюсь с любой задачей.
— Профессионалом ты назвать себя пока не можешь?
— Я считаю себя middle. Если ты самостоятельно можешь решить задачу, уверенно и полноценно использовать свои инструменты и библиотеки, при этом ты заранее заботишься о том, как с твоим кодом дальше будут работать коллеги, поздравляю, ты — middle-разработчик.
Senior уже имеет весомый опыт за спиной, заранее понимает, какие проблемы могут быть на проекте и как их избежать, какие решения могут пригодиться. Также он имеет хорошо развитые soft skills. Написание кода и многие решения уже отточены и понятны, их удобно поддерживать.
— Какие навыки у тебя были в начале и какие сейчас? Что ты приобрел нового?
— У меня просто вырос багаж знаний. Когда я пришел в начале, часто все делал сам, не использовал библиотеки. Сам колхозил. Было жестко, больно, неприятно, но это необходимый опыт.
Сейчас использую различные библиотеки. Я знаю, как что-то подключить, как настроить. Это же нельзя назвать навыком, просто понимание. Со временем прокачал soft skills и гибкость, которая позволяет применять полученные знания, начал думать о том, как будут пользоваться и поддерживать мой код другие разработчики.
— Сколько тебе было лет, когда ты поменял профессию? Согласен ли с тем, что свою специальность можно менять в любом возрасте?
— Мне было 34, когда я закончил курсы. Вопрос довольно популярный на самих курсах, часто спрашивали: «Мне 40 лет, нормально ли идти на курсы?». В интересах создателей курсов, конечно, соглашаться. Но на самом деле всё зависит от человека, насколько твой мозг готов впитывать полностью новую информацию. Новая информация в голове — это в принципе очень тяжело. Даже у детей, когда они что-то не понимают в школе, бывает стресс. Когда человек взрослый, мозги у него немного «подсыхают» и их надо постоянно тренировать. Если готов впитывать все новое, то ты сможешь.
— Нет ли у тебя зависти к шестнадцатилетним специалистам, которые вкатились по возрасту раньше тебя во фронтенд?
— Я слишком стар, чтобы кому-то там завидовать, вырос из этого уже. Тут важно понимать, что у каждого свой старт и свой путь. Если у вас есть время кому-то завидовать, то лучше потратить его на себя.
Это как в школе — кому-то дается физика и математика, а кому-то русский с литературой. Всё зависит от человека. Можно, конечно, зазубрить предмет, но ты должен просто задать вопрос «Насколько тебе комфортно в этой сфере?». Если тебе не нравится, но ты готов оставаться ради того, чтобы зарабатывать деньги, окей, это твой выбор. Но скорее всего сгоришь потом.
Поэтому я и брал курсы по чуть-чуть, чтобы попробовать кусочками и, если что, переключиться на что-то другое.
- 1 февраля 2024
10 правил онлайн-собеседований
В мире, полном удалённых работ и учёб, есть много нюансов, о которых легко забыть на онлайн-собеседовании. Делимся по своему опыту:
- 9 октября 2023
Портфолио разработчика. Все секреты
Портфолио — это важный инструмент для любого разработчика, особенно для начинающего. Оно показывает ваши навыки, опыт и квалификацию, привлекает внимание работодателей и повышает шансы на получение оффера мечты.
- 3 июля 2023
Как получать 200 тысяч за код в 2024 году
Сохраните в закладки сейчас, скажете спасибо через год. Сначала шаги, в конце каждого этапа — ссылки для внеклассного чтения.
- 12 июня 2023
Верстальщик. Гайд по профессии
В нулевых никаких фронтов не было, и человек, который делает сайты, был просто человеком, который делает сайты. Мог и на HTML что-то собрать, и стили прописать, и на JavaScript алерты наставить, где нужно. Веб-разработка была маленькой, смешной, но самодостаточной. А потом понеслось.
Верстальщики стали больше писать на JavaScript и начали поглядывать в сторону именования «фронтендер», но всё ещё очень любили делать файлы style.css
на десять тысяч строк.
Сейчас же грань размылась — теперь нет разработчиков на React, которые не понимают, как сверстать макет и обвязать всё стилями. При этом спрос на чистых верстальщиков ещё остался — им не обязательно в совершенстве владеть JavaScript, а вот глубоко понимать, как быстро, точно и качественно из макета сделать страницу — обязательно.
В этом и заключается суть работы верстальщиков. Они берут у дизайнеров макет (это картинка, на которой нарисован сайт — К.О.) и собирают из него страницу. Пишут HTML, CSS, используют магию гридов, флексов, какой-нибудь БЭМ. Стараются, в общем, делают. Молодцы.
С другой стороны, HTML сейчас даже в некоторых школах изучают — но отчего-то сразу после школы никто не спешит платить первокурсникам по 500$ за вёрстку. И тут мы приходим к тому, что в 2023 году требуют от верстальщика работодатели.
Мы в HTML Academy работаем над тем, чтобы верстальщики после двух наших интенсивов по вёрстке находили работу, а после интенсива по JavaScript делали это вообще без проблем. И для того, чтобы чему-то обучать, мы должны понять, что требуется рынку сейчас и какие требования выставляет работодатель к верстальщику, чтобы мы могли покрывать такие требования на курсах.
- 8 июня 2023
Веб-разработка. С чего начать
На старте бывает непонятно, какой язык программирования выбрать первым. На самом деле, нет идеального языка, который раз и навсегда определит вашу карьеру. Освоить новый язык программирования — всё равно что выучить ещё один иностранный. Сначала надо определиться, что вам больше подходит: фронтенд или бэкенд.
- 2 июня 2023
Как устроиться туда, где закрыты все вакансии
Если вы мечтаете работать в определённой компании, но не нашли вакансий на сайтах по поиску работы — ещё не всё потеряно. Проверьте объявления на других площадках. Если и там ничего нет, воспользуйтесь «обходными путями»: начните со стажировки или познакомьтесь с рекрутёром.
- 14 февраля 2023
Хочу работать в IT, но…
Изучать что-то новое всегда — волнительное и завораживающее событие. Но некоторые останавливаются, даже не начав. Почему так происходит? По разным причинам, но бывают случаи, что из-за мыслей «ещё рано», «уже поздно», «нет технического образования», «не знаю английский». Мы покажем на примерах, что возраст, наличие образования и знание английского — не проблема для смены профессии.
- 19 января 2023
Как стать фулстек-разработчиком
В отличие от фронтендеров и бэкендеров, фулстек-разработчик способен полностью самостоятельно создать сайт или приложение. Такой специалист отлично разбирается в технологиях, базах данных, серверах, умеет разрабатывать веб-приложения и сайты, знает как фронтенд, так и бэкенд. Давайте узнаем, в чём преимущества профессии, насколько она востребована на рынке и как стать топовым специалистом.
Фулстек-разработчик сочетает несколько направлений и может заменить собой пару более узких специалистов. Главная его особенность — это универсальность. Именно поэтому спрос на таких специалистов всегда есть и постоянно растёт. Многим компаниям выгоднее нанять одного универсального разработчика, чем содержать штат программистов.
Топовых фулстек-разработчиков очень мало, они востребованы и имеют возможность выбирать из ряда предложений то, что им интересно. Джуны с небольшим опытом в сфере фулстек-разработки могут рассчитывать на зарплату от 30 до 100 000 ₽ в месяц. Опытный разработчик получает в среднем вдвое больше — 120—200 000 ₽.
💡 Что должен уметь топовый фулстек-разработчик:
Понимать полный цикл процесса разработки.
Уверенно знать современный JavaScript (ECMAScript), применять TypeScript.
Строить архитектуру клиентских и серверных приложений.
Применять ООП и паттерны проектирования на практике.
Проектировать и разрабатывать REST API.
Проводить автоматизированное тестирование фронтенда и бэкенда.
Работать с базами данных.
Зарплаты фулстек-направления
Исследования компании Хабр Карьеры за 2022 год говорят, что средняя зарплата разработчиков в России составляет 140 000 ₽. Сумма немного различается по регионам. В Москве зарплата подросла за год и составляет 180 000 ₽, в Санкт-Петербурге осталась на уровне начала года — 150 000.
Зарплата фулстек-разработчика в среднем составляет 200 000 ₽ в Москве, 160 000 ₽ в Санкт-Петербурге и 130 000 ₽ в регионах.
Этот анализ зарплат составлен по вакансиям сайта hh.ru.
Также специальность фулстек ценится за границей, зарплаты в Европе и в Америке очень достойные. В Нью-Йорке опытный фулстек зарабатывает 3000—3500 $. В Германии работодатели указывают в вакансиях зарплату 2500—4000 $.
Изучив вакансии и уровень дохода, скорее хочется прокачать навыки и стать фулстек-разработчиком. Что же для этого нужно?
- 20 декабря 2022
Как написать хорошее сопроводительное письмо
Вот вы нашли подходящую вакансию и уже готовы откликнуться — осталось только написать сопроводительное письмо. Оно дополнит резюме и поможет вам выделиться среди остальных кандидатов.
- 14 декабря 2022