06.08.2022

Что делают на работе Junior, Middle, Senior?

Сергей Немчинский
5 минут чтения

Есть несколько уровней синьорности разработчиков – Junior, Middle, Senior, Team Lead. Чем они отличаются, за что каждый из них отвечает, и на какую работу можно рассчитывать на каждом уровне синиорности?

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

Что должен уметь Junior?

  1. 1. Знать минимум один язык программирования и разбираться в своей профессии.
  1. 2. Без контроля выполнить несложную техническую задачу от начала и до конца. Например, сделать так, чтобы при нажатии кнопки выполнялась определенная операция, написать метод или класс.

Нет, отсутствие контроля не отменяет обращение за помощью к синиорным товарищам.  Например, если нужно обратиться к некоему файлу, а он отсутствует – что делать? Но все же с простейшими заданиями джуниор должен справляться самостоятельно, а не бегать советоваться с каждой строчкой. Потому что Junior Developer – тоже девелопер. Программировать надо уметь.

При этом джуниору нельзя поставить задачу «Выясни, как тут лучше построить архитектуру» или «Разберись, что хочет заказчик». Это работа миддла.

Что должен уметь Middle?

  1. 1. Решать более общие задачи, поставленные на уровне бизнеса. Самостоятельно определять, как реализовать определенный функционал, уточнять детали у заказчика и предыдущих разработчиков.
  1. 2. Менторить джунов, объяснять им непонятные вещи.

Что должен уметь Senior?

  1. 1. Слышать и понимать business value задачи – зачем это все делается. Сеньор должен выслушать заказчика и понять, какое решение тому нужно. Может предложить более простое решение. Или не делать это вообще, потому что эта функция в системе уже есть. Или организовать решение административным способом.
  1. 2. Отвечать за других разработчиков. Организовать мини-группу из других разработчиков и скоординировать их работу.
  1. 3. При отсутствии тим лида синиорный человек может организовать нескольких разработчиков и их скоординировать.

Что должен уметь Team Lead?

  1. 1. Координировать и управлять своей командой, чтобы она работала как единое целое.
  1. 2. Определять техническое решение – сам или с помощью архитектора.
  1. 3. Отвечать перед заказчиком за реализацию решения.

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

Как же получается, что человек не обладает этими навыками, но при этом числится Senior или Team Lead?

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