Есть несколько уровней синьорности разработчиков – Junior, Middle, Senior, Team Lead. Чем они отличаются, за что каждый из них отвечает, и на какую работу можно рассчитывать на каждом уровне синиорности?
Во многих случаях все эти уровни рисуются с потолка, руководством или специально обученными людьми. Но при этом существуют какие-то общепринятые стандарты отрасли, давайте по ним пройдемся.
Что должен уметь Junior?
Нет, отсутствие контроля не отменяет обращение за помощью к синиорным товарищам. Например, если нужно обратиться к некоему файлу, а он отсутствует – что делать? Но все же с простейшими заданиями джуниор должен справляться самостоятельно, а не бегать советоваться с каждой строчкой. Потому что Junior Developer – тоже девелопер. Программировать надо уметь.
При этом джуниору нельзя поставить задачу «Выясни, как тут лучше построить архитектуру» или «Разберись, что хочет заказчик». Это работа миддла.
Что должен уметь Middle?
Что должен уметь Senior?
Что должен уметь Team Lead?
Позвольте, — скажете вы, — но ведь за это отвечает Прожект Менеджер! И да, и нет. ПМ отвечает за реализацию технической стороны проекта. А вот тимлид ответственен перед заказчиком за то, чтобы разработка выполняла оговоренные функции и решала указанные бизнес-задачи.
Как же получается, что человек не обладает этими навыками, но при этом числится Senior или Team Lead?
Очень просто. Есть такое понятие «маржинальность разработчика». У синиоров и тим лидов выше зарплата, поэтому их выгоднее продавать на аутстаффе. Поэтому многие компании правдами и неправдами стремятся натянуть своим разработчикам грейд, чтобы продать их подороже. Но так делать нехорошо, конечно же!