Мнения
330

Мнение: мидл-разработчик — это уже устоявшийся профессионал

1

Этот текст написан в Сообществе, в нем сохранены авторский стиль и орфография

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

Начну, пожалуй, с того, что я лично подразумеваю под этим словом — мидл. Кто такой мидл?

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

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

Итак, мидл должен уметь:

  • паковать часто встречающиеся решения в пакеты, чтобы использовать их в других проектах
  • знать git на уровне понимания командной работы, понимать, как устранять конфликты слияния веток
  • уметь пользоваться docker. Тут тоже не в теории «ну я пару статей прочитал», а хотя бы разворачивал тестовые сборки с разными многослойными сетями… хороший показатель, если сможет внятно объяснить, что такое swarm
  • поскольку у нас почти все сервера на linux, то ориентироваться в нем должен достаточно хорошо
  • хорошо знать IDE, с которой работает: уметь настроить удаленную работу, знать горячие клавиши, плагины работы с тем же Docker и т.п. Тут прокомментирую подробнее. Если человек из старой гвардии, который гордо сообщает, что он программирует в блокноте — сразу нах. Этот человек застрял в прошлом.

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

А еще… Мне будет странно заявление от человека, который себя позиционирует как мидл, что он не знает, что такое ssh ключ авторизации и как его получить. Также будет странно, если он не способен на самообучение. Фразы «ну если меня подучить» и «если мне покажут то…» настораживают. Если в резюме что-то указано, то значит опыт должен иметься сугубо прикладной. Я неоднократно сворачивал собеседования на моменте, когда видишь у человека в резюме упомянуто, например, RabbitMQ или Elasticsearch, а на просьбу рассказать, как именно применяли и какую систему строили, начинает невнятно мычать или выдает что-то из серии «ну я почитал… там вроде все просто».

Жуткий маркер в резюме претендента на мидл разработчика: никогда, никогда не пишите про Wordpress, если вы ищете команду настоящих разработчиков. Если вы упомянули про то, что можете программировать на WP, то у меня для вас плохие новости… в моем понимании, в лучшем случае, вы забыли это убрать, т.к. когда-то занимались. Для старта это ОК, но мидл разработчик должен понимать, что так, как построены даже современные сайты на WP, в нормальном месте программировать не будут.

Еще прикольно видеть ребят, которые свои 8…24 месяцев обучения вставляют в резюме как место работы. Прикольно видеть, что в ваши 34 года у вас 2 года опыта… а до этого ничего, пусто… Я не сомневаюсь, что бывают исключения и что за время обучения человек что-то усвоит. Но! Это может быть только в одном случае, человек привык проходить дополнительную милю. Как минимум, у него есть pet проект, которому он много посвящает времени.

Кстати, учитывая, что нормального мидла найти непросто, то даже если откликаются джуны — я обязательно загляну в их код, если они упомянули про какой-то свой проект и указали ссылку на github. Т.к. код, который человек пишет… это как «вместо тысячи слов»… Да, лучше тысячу строк кода ))

Итак, с профессиональными качествами и маркерами разобрались. Достаточно ли этого? К сожалению, нет. Я выбираю человека, с которым мне и другим сотрудникам моей команды придется общаться ежедневно. Мне совсем не все равно, кто попадет в тот коллектив, который я, как тимлид, собирал в течение нескольких лет. На практике, если я замечу на собеседовании любые признаки звездности, токсичности или неуважения к другим… на этом ставлю крест, даже если вижу, что человек очень хорош.

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

В целом, это наверное, все. Хотя стоит еще упомянуть деньги. Адекватность зарплатных ожиданий требует комментария. Я неоднократно встречал на собеседовании людей, которые сменили специальность в пользу того, что стать кодером. При этом, карьера, которую они построили до этого, предполагала достаточно высокую зарплату. И видно, что когда они называют свой ценник — он адекватен для того человека, которым он работал в прошлом… но совершенно неадекватен сейчас. Ну не будут вам платить 200..250 (что для удаленного php мидла вполне нормально на конец 23 года), если по факту, вы не отвечаете тем критериям, что я описал выше — скорее всего, вы джун.

Когда я обсуждал этот вопрос с руководителями в сфере IT, мы сошлись во мнении, что народу сильно врали представители курсов, которые им рассказали про 2 года и ты мидл, еще 2 года и ты сеньор… Сошлись на мнении, что даже хороший, сильный мидл — это 5-6 лет коммерческого опыта. А для сеньора… впрочем, это уже тема для другой статьи.


  • ТёмаВот тот список про гит, докер и линукс, мне кажется все это должен уметь джун. Мидл должен уметь программировать. Старший разработчик должен уметь программировать в команде.1