мидл уровень что значит
Знакомьтесь: Джун, Миддл и Сеньор. А кто это вообще?
Так называемые «Junior», «Middle» и «Senior» — это профессиональные жаргоны, разделение уровня разработчиков в IT индустрии. В привычном понимании — это младший разработчик, разработчик среднего уровня или просто разработчик и старший разработчик.
Различаются между собой уровнем компетенций, soft / hard скиллов и навыков в своей специализации.
Давайте рассмотрим каждого из них на примере Frontend-разработчика: какие навыки и знание необходимы каждому из них.
Данные собраны с таких ресурсов как hh.ru и habr.карьера.
JUNIOR
В переводе с английского junior означает «младший/молодой/начинающий». Это начинающие разработчики.
Они ничего не решают и ответственности как таковой за решения не несут. По началу Junior реализует простые задачи. Хороший джун — тот, кто может самостоятельно работать над своими техническими задачами и находить решение практически любых встающих перед ним проблем.
Оплата:
Это самые популярные требования к Джунам на рынке труда на сегодняшний день. В среднем заработная плата колеблется 28 000-35 000 рублей.
Не стоит думать, что джуны это молодые ребята 20-25 лет. Это заблуждение. Начинающим разработчиком реально стать в любом возрасте.
MIDDLE
Джун, который набрался опыта, набил шишек и улучшил компетенции, претендует на следующую позицию — Middle. В переводе с английского middle означает «середина/средний».
Оплата:
Зарплата может сильно колебаться от региона и задач. Но в среднем это 60 000-130 000 рублей.
Специалисты этого уровня уже способны осознавать масштабы проектов в которых работают. Middle уже способен самостоятельно решать сложные задачи в проекте.
Вакансий для мидлов, как правило, гораздо больше, так как гораздо более востребованы, чем джуны.
SENIOR
Специалисты такого уровня могут самостоятельно разработать большой проект сервиса или приложения с нуля. Наличие этого разработчика в компании залог стабильности и уверенности, что разрабатываемый проект не пойдет ко дну.
Оплата:
Разработчики уровня senior могут получать от 150 000 рублей и выше, в зависимости от количества и сложности проектов.
Труднодоступная ступень эволюции разработчика. Middle может остаться на средней ступени на протяжении оставшейся карьеры и не дойти до уровня senior.
Теперь мы знаем кто такие Junior, Middle и Senior разработчики и, чем они отличаются.
Разница между тремя стадиями развития специалиста, в целом, состоит в отношении к разработке, к самому процессу, его пониманию и осознанию.
Разница между «джуном», «мидлом» и «сеньором». И что делать, чтобы перейти на уровень выше
Уровень разработчика не обязательно определяется многолетним опытом программирования: «джун» вполне может быть старше «сеньора», — всё сводится к профессиональным навыкам. Это не означает, что старший разработчик должен быть специалистом во всём, но можно с уверенностью сказать, что навыки у него гораздо более развиты, чем у разработчиков младшего и среднего уровня.
Но разработчиков различных уровней отличает нечто большее, чем умение собственно программировать. Так в чем именно кроются различия?
Знания
Очевидно, что старший разработчик обладает гораздо более обширными знаниями. Для младшего разработчика изучить шаблоны проектирования, архитектуру, автоматизацию тестирования, методы повышения производительности и обеспечения безопасности и т. д. — отличный способ сократить этот разрыв в знаниях.
Важно знать, как должно создаваться программное обеспечение. Но просто знать всё это — не значит быть разработчиком более высокого уровня. Знания — это не ключевое отличие, а лишь один из факторов.
Фото — Clem Onojeghuo, площадка Unsplash
Программирование
Несмотря на мнение большинства обычных людей, программирование — это не общение с компьютером. Программировать — значит общаться с людьми и отдавать указания компьютерам. Ведь код в итоге компилируется и превращается в нули и единицы.
Код должен нести в себе смысл для тех, кто будет работать с ним в будущем. Команда, подхватившая за кем-то другим проект, должна иметь возможность открыть его исходный код и начать работать над новыми функциями или исправлением ошибок. И здесь кроется существенная разница между «джуном» и «сеньором».
Разработчиков среднего уровня в этом сравнении я учитывать не буду, поскольку в отношении навыков программирования они представляют собой своего рода переходную область — скорее ближе к уровню старшего разработчика. В основном «промежуточное» положение определяется опытом, поскольку обычно «мидл» успевает пройти весь цикл разработки хотя бы раз, а также совершить множество простейших ошибок и извлечь из них уроки.
Как вычислить «джуна»
Младшие разработчики неопытны: иногда это выпускники, которые только начинают работать на полную ставку. В их голове основная задача — заставить код работать. Если приложение работает — значит, оно хорошее.
Писать простой код — это сложная задача. И младшие разработчики этого делать не умеют: обычно код у них довольно своеобразный. Узнать их можно по причудливым однострочникам и чрезмерно сложным абстракциям — так «джуны» стремятся показать себя и пытаются дать понять другим, насколько хорошо они умеют программировать. Но это неверный подход.
Младшие разработчики сосредотачиваются на «компьютерной» части кода, упуская из виду «человеческую».
Как пишут код «сеньоры»
Глядя на код старшего разработчика, можно подумать: и это всё? А где остальное? Достаточно опытный разработчик пишет простой, понятный и, возможно, местами даже чересчур прямолинейный код — и это одно из самых важных качеств, если говорить о программировании. «Сеньор» следует принципу KISS, гласящему, что код должен быть простым и понятным: «Keep it simple, stupid»
Поэтому у старшего разработчика совершенно другой подход к написанию кода: он учитывает удобство дальнейшей поддержки и масштабируемость. Это совершенно не похоже на мышление младшего разработчика: «сеньор» думает о тех, кто будет работать с кодом, а «джуну» важно в первую очередь заставить код работать.
Не программированием единым
Помимо навыков программирования, есть и другие факторы, которые могут подсказать, что за разработчик перед вами.
Младшие разработчики, как правило, выполняют самые простые и не самые важные задачи; они не занимаются разработкой архитектуры. Разработчики среднего уровня тоже не разрабатывают решения, а просто выполняют задачи, однако их меньше контролируют — если задание довольно типовое. А вот «сеньоры» могут разработать приложение совершенно самостоятельно.
Это не значит, что у старшего разработчика по ходу дела не возникает вопросов: у любого из нас каждый день появляется множество вопросов, и «сеньоры» тут не исключение.
Разница в том, что последние знают, как задавать правильные вопросы и что делать с полученными ответами. Менее опытные разработчики могут задавать правильные вопросы, если речь идет о привычных им задачах, но в более сложных случаях им приходится обращаться за помощью.
Старший разработчик никогда не теряется и знает, как правильно действовать, получив ответ на вопрос. Это не значит, что он не будет просить совета у других — иногда лучшим решением бывает именно обратиться за помощью к тем, кто имеет больше опыта в данной области.
Разработчик среднего уровня также должен уметь задавать правильные вопросы, если только это не очень сложные задачи, требующие глубокого уровня знаний.
А вот в случае «джунов» не следует ожидать, что они смогут задавать нужные вопросы: у них недостаточно практики, поэтому ими должны руководить более опытные коллеги. Младшего разработчика следует обеспечить необходимыми ресурсами или хорошенько подтолкнуть в правильном направлении.
Переход на следующий уровень
Мы все хотим совершенствоваться, в том числе профессионально. Но какие шаги можно предпринять, чтобы перейти на следующий уровень?
От «джуна» — к «мидлу»
Начинающие разработчики не обладают богатым опытом, поэтому важно хотя бы пару раз пройти весь цикл разработки — таким образом вы сможете встретить на своем пути множество ловушек и научитесь их избегать.
Что касается программирования — следует научиться писать простой код: представьте, что после вас над проектом будет работать другой человек. Кроме того, придется научиться заниматься отладкой — это углубит понимание того, что происходит во время работы программы.
Также необходимо ознакомиться с лучшими методиками и побольше узнать об архитектуре, производительности, безопасности и т. д. Закройте пробел в знаниях, отделяющий вас от среднего уровня.
От «мидла» — к «сеньору»
Разработчикам среднего уровня подняться выше может быть довольно сложно: некоторые остаются на этом уровне всю свою карьеру.
Старший разработчик знает, в каких случаях можно пойти на компромисс, и когда этого делать ни в коем случае нельзя — потому что он успел проверить это на собственном горьком опыте.
Чтобы перейти на уровень «сеньора», нужно быть готовым к выполнению задач, за которые никто понятия не имеет, как браться. Нужно знать и уметь больше, чем просто делать свою работу.
Кроме того, как старший разработчик вы должны помогать менее опытным: вы для остальных — спасательный круг, за который можно ухватиться, когда не знаешь, как что-то сделать.
В свете этого неудивительно, что «сеньоры» полностью владеют своим техническим стеком. Нужно не просто уметь программировать, а знать все инструменты и приложения, которые используются в нанявшей вас компании.
Заключение
Разница между «джуном», «мидлом» и «сеньором» заключается не только в многолетнем опыте. Да, можно с уверенностью сказать, что у последнего навыки гораздо более развиты, чем у разработчиков младшего и среднего уровня. Но знание — не самый важный фактор.
Опытные разработчики пишут более простой код и подходят к этому иначе. Но кроме того, чтобы уметь программировать, очень важно также знать, какие вопросы задавать и что делать с полученными ответами. Именно старший разработчик — тот человек, чей богатый опыт позволяет не растеряться и в любой ситуации найти решение.
«Джуну», чтобы расти дальше, нужно постараться научиться писать простой код и пройти через несколько полных циклов разработки. Чтобы подняться выше среднего уровня, нужно сосредоточиться на изучении чего-то большего, чем просто рутинные задачи по исправлению ошибок. Вы должны быть готовы брать на себя самые сложные задачи и полностью овладеть своим техническим стеком. Еще одна обязанность старшего разработчика — выручать менее опытных.
Напоследок процитирую Мартина Фаулера:
«Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку»
Перевод статьи выполнен в Alconost.
Alconost занимается локализацией игр, приложений и сайтов на 70 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов.
Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.
Заходят как-то в бар «джун», «мидл» и «сеньор»: чем отличаются уровни программистов
В IT-среде принято маркировать уровень специалиста словами «джуниор», «мидл» и «сеньор». Но как понять, на какой вы ступени, и чем вообще эти уровни отличаются? Разбираемся, что на практике ждут работодатели и можно ли прийти устраиваться на должность джуна, а стать мидлом?
Зачем нужна классификация
Деление айтишников, да и не только, на джунов, мидлов и сеньоров — международная традиция. Поскольку в той или иной степени знать английский язык все равно нужно, у нас в IT-среде не стремятся заменять уже привычные для индустрии маркеры на какие-то свои.
В основе классификации — опыт и навыки. Иногда между делом подразумеваются и софт-скиллы. База — единая для всех, хотя в разных компаниях могут быть отхождения из-за специфики отрасли и устройства команды.
Junior с английского переводится как младший. Этим прилагательным также обозначают студентов младших курсов и начинающих специалистов.
• Год-полтора в профессии или делал только учебные проекты.
• Использует один-два метода для решения задач, остальные не пробовал или не разбирается в них.
• Не ориентируется или слабо понимает, как решать нестандартные задачи.
За джунами требуется контроль и проверка кода. Они не знакомы с деталями и нюансами, с которыми сталкивались опытные коллеги. Но этот этап проходят все специалисты в начале работы в IT-сфере.
Игорь Фонин (тимлид команды frontend-разработки, МегаФон):
Джуны выполняют разные функции в зависимости от направления, в котором работают. Например, в кодовом направлении обязанности будут отличаться от команды к команде. А во фронтэнде плюс-минус одинаковые: маленькие задачи для получения опыта, фикс багов, маленькие компоненты на странице. Если джун с этими задачами справляется, получает более сложные. Ему нужен постоянный надзор старшего — мидла или сеньора, тимлида.
Анна Гуминская (тимлид команды backend-разработки, МегаФон):
Обязанности джуниоров чаще всего ограничены определенным набором задач. Поэтому они не видят картину целиком и работают в основном как исполнители. Чтобы понимать, какое решение лучше принять в той или иной ситуации, нужно набраться опыта. Это главная задача любого джуна, если он хочет дорасти до мидла.
На что обращают внимание рекрутеры при подборе
1. Минимальные курсы или образование по специальности. Логично, что для работы программистом на Python нужно знать этот язык.
2. Знание английского. Требуемый уровень зависит от специфики вакансии. Например, в МегаФоне язык потребуется не только чтобы писать код, но и для коммуникации.
3. Софт-скиллы. Навык аналитической работы желателен почти на всех IT-специальностях. Но ключевым для джуниора станет способность к обучению.
Как только джуниор набрался опыта и научился принимать правильные решения в работе над проектом, он переходит на уровень «мидл».
С английского — середина. Специалист уровня мидл — следующая ступень эволюции джуна.
• Ориентируется в методах решения задач и подбирает оптимальные.
• Умеет писать код аккуратно.
• Осознает свою роль в общей системе проекта, и как его задачи влияют на работоспособность продукта.
• С уверенностью берется за нестандартные задачи.
Мидл — это опытный сотрудник, который развивается в своем направлении и умеет делать больше, лучше и быстрее джуна. Задачи у мидла более трудные, но и зарплата выше. Когда специалист этого уровня наращивает достаточно компетенций и опыта, он становится сеньором и выбирает один из трех путей развития: продолжить кодить и стать в этом первоклассным специалистом, сконцентрироваться на технической стороне проектов или взяться за управление командой.
Игорь Фонин (тимлид команды frontend-разработки, МегаФон):
Мидлы — это ребята, способные выполнять любой спектр задач от технических до тех, что улучшают проект. Мидлы создают новые страницы, а при принятии решения советуются с сеньором или тимлидом. Но не всегда мидлам доступны архитектурные задачи — за ними нужен контроль.
На что обращают внимание рекрутеры при подборе
1. Портфолио и реальные проекты.
2. Знания (измеряются количеством языков, протоколов и систем, которые освоены на практике);
3. Менеджерские качества — например, в МегаФоне смотрят на понимание культуры Agile.
Мидл — это человек, который способен включиться в работу в незнакомой отрасли или новом отделе быстро и почти без ошибок, поскольку он гораздо увереннее в своих знаниях и навыках, чем джун. Мидл намеренно включается в работу смежных сфер или набирается опыта в других отделах. Стремление углубить знания, разобраться в прежде непонятном и прокачать себя со временем превратит его в сеньора.
С английского — старший. Это либо гуру в своем направлении, либо тимлид и руководитель отдела.
• Глубоко знает направление, в котором работает, и в достаточной мере прокачан в смежных сферах.
• Набил массу шишек и все их превратил в полезный опыт.
• Умеет выдержать баланс: знает, где на компромисс идти нельзя, а где можно опустить простоту и красоту и сделать костыль.
• Обладает хорошими коммуникативными навыками и тем, что принято называть «эмоциональным интеллектом».
• Умеет делегировать и распределять задачи в команде, базируясь на сильных сторонах коллег.
У сеньора особый склад ума. Он знает, что отвечает за код и продукт и берет на себя ответственность за принятые решения. Отмазки не использует и не скидывает ответственность на клиентов, коллег или судьбу.
Игорь Фонин (тимлид команды frontend-разработки, МегаФон):
Сеньор — человек с развитыми софт-скиллами. Он помогает младшим коллегам, оценивает сложность задач и выступает лидером своей команды в техническом плане. К лиду в основном обращается по поводу того, как лучше сделать, или за мнением со стороны.
На что обращают внимание рекрутеры при подборе
1. Софт-скиллы и образ мышления.
2. Уровень экспертизы.
Пути эволюции мидла
Упрощая, мы хотим выстроить прямую цепочку эволюции: джун, мидл, сеньор. Но на деле не обязательно идти по проторенной дорожке к логичной финальной точке в виде позиции тимлида. У мидла есть несколько путей, по которым он может следовать, но все они непременно приведут его к уровню сеньора.
1. Разработчик-эксперт. Если специалист не хочет бросать код, он волен остановиться и не идти дальше по карьерной лестнице. В этом случае он станет сеньором, который пишет код, развивает свои навыки и углубляет знания. Рост в этом пути развития — это увеличение стоимости компетенций.
2. Техлид (в дальнейшем архитектор). Этот путь выбирают те, кто хочет сконцентрироваться на технической части: придумывать комплексные решения и системы, смотреть на всю картину целиком и решать интересные задачи. Архитектор уже не занимается кодом, а проектирует и продумывает решения.
3. Тимлид (в дальнейшем руководитель разработки). Та самая управленческая должность. Это кардинальная смена деятельности. Вместо кода тимлид занимается мотивацией своей команды, оценкой эффективности и следит за тем, чтобы все процессы работали. Часто бывает, что техлид и тимлид — это один и тот же человек. Он видит общую картину, принимает решения и при этом руководит командой.
Классифицикация по трем уровням скиллов разработчиков — чисто прикладной инструмент. Он упрощает процесс отбора и помогает обозначить компетенции и требуемый опыт. Но каждый случай индивидуален. В МегаФоне нацелены на быстрое развитие сотрудников и помогают развивать их навыки.
Сергей Кузин (менеджер по подбору персонала, МегаФон):
Рост от джуна до мидла и до синьора сейчас может быть очень стремительным. Многое зависит от инициативы самого разработчика. В МегаФоне для таких переходов есть практически неограниченные возможности по изучению современных технологий и языков и плотная работа с наставниками.
IT в МегаФоне очень разнородно, мы много чем интересным занимаемся. В большей степени команды фокусируются вокруг наших продуктов: есть ребята, которые занимаются мобильным приложением, сайтом. Есть те, кто разрабатывает и поддерживает продукты для корпоративных клиентов (от умных производств, видеоаналитики до крупных проектов безопасных городов и так далее). Есть и те, кто сфокусирован на счастье внутренних сотрудников и делают жизнь каждого из нас — в офисе или на удаленке, — проще и удобнее. Продуктовый подход в разработке позволяет нам быть быстрее и делать действительно важные вещи.
В МегаФоне предлагают конкурентные по рынку вилки зарплат для соискателей с разным уровнем экспертизы. А переход между позициями джуна и мидла или мидла и сеньора в компании происходит за счет обучения и поддержки менторов. В МегаФоне не обязательно идти по дороге «стажер — тимлид», можно двигаться между проектами и находить для себя более интересные задачи.
Атмосфера в МегаФоне, возможность учиться внутри компании и обмен опытом между отделами помогают быстро вырасти с джуна до мидла, а с мидла до сеньора, если у сотрудника есть такое желание. Митапы, мастер-классы и конференции в профессиональной сфере дадут значительный буст навыкам.
МегаФон ищет в свою IT-команду QA-тестировщика, Java, iOS и React разработчиков. И прямо сейчас у вас есть возможность получить приглашение на собеседование без лишних тестовых работ. Если вы в поиске вакансии, выбирайте свою специализацию и пройдите наш Пиратский квест.
Кто такой мидл и как им стать
Если вы это читаете, у вас больше шансов, чем у остальных.
Послушать аудиоверсию этой статьи (6 минут):
Чем мидл отличается от джуниора
Джуниор — новичок или стажёр, который пришёл в компанию и только учится работать в команде. У него мало опыта, он не в курсе всех тонкостей проекта, поэтому ему поручают только мелкие или несложные задачи: поправить размер кнопки, проверить, приходят ли на сервер нужные данные, или написать проверку для формы на сайте. Если что-то не так, джуниор идёт к старшим товарищам за советом.
Мидл — полноценный командный игрок. Ему уже не нужно помогать каждый день и отвечать на очевидные вопросы. Наоборот, он сам часто помогает джуниорам в сложных ситуациях. Он хорошо знает проект, сам пишет основной код и решает большинство задач самостоятельно.
Мидл по сути и есть программист в общепринятом смысле, самостоятельный и квалифицированный. Он сам ищет ответы, сам следит за новыми решениями в отрасли и сам понимает, когда стоит дополнительно чему-то научиться.
В чём сила мидла
Мидл сразу пишет рабочий код и не требует к себе много внимания, как джуниор. Суперсила мидла в том, что он думает уже на следующем уровне: не о том, как просто написать рабочий код, а о том, как написать его так, чтобы потом было его легко поддерживать. Потому что поддерживать часто ему, и такого кода на поддержку будет много.
Джуниоры обычно решают задачу «сделать так, чтобы код работал», а мидлы — «сделать так, чтобы код не только работал, но и был понятен остальным программистам». Чтобы так уметь, нужны опыт, квалификация и отличное владение инструментами.
Почти весь основной код в каждом проекте написан мидлами.
Как им стать
Иногда говорят, что есть формальные критерии для мидла и что через 2–3 года работы джуниором человек автоматически становится мидлом, но это не так. Чтобы перейти на следующую ступень, программист должен освоить все рабочие инструменты и понимать, когда применить каждый из них.
Например, если это фронтенд, то мидл должен отлично знать HTML, CSS, JavaScript, PHP, уметь работать с препроцессорами, базами данных и знать отличия в отображении страниц в разных браузерах. А если мы говорим про бэкенд-разработчика, то к этому добавится Python, API нужных сервисов, фреймворки для решения разных задач и знание серверных приложений.
Вот что ещё может делать мидл в компании:
Самое главное — мидл понимает, почему он делает именно так и почему это будет оптимальное решение для проекта.
Сколько зарабатывает мидл
Мы посмотрели зарплаты мидлов разных направлений на Хабр Карьере за второе полугодие 2019 года:
Это в полтора-два раза выше, чем у джуниоров.
Что дальше
Если мидл будет и дальше расти и прокачиваться в своих навыках, то он может дорасти до сеньора. Это выше по деньгам, но больше ответственности в проектах. Но для карьеры программиста это естественный путь наверх.
О том, кто такие сеньоры — в следующей статье.