Junior, Middle, Senior
Уровни развития в специальности.
Содержание
1 Общая информация
- Уровни относятся не только к области информационных технологий, но и в общем к разным специальностям.
- Следует разделять уровни развития для рабочих и инженерных специальностей (см. Цветные воротнички).
- Также можно учитывать аспекты семиотики (см. Синтаксис, семантика, прагматика).
2 Junior
- Уровень синтаксиса.
- Знает конкретный инструментарий, умеет им пользоваться.
- Минимально жизнеспособный персонаж.
- Умеет выполнять конкретную узкую работу.
- Ремесленник по решению творческих задач.
2.1 Разработка программного обеспечения
- Знает базовые алгоритмы и может решить задачу, если кто-то расскажет ему как.
- Обычно выпускник университета или курсов по программированию.
- Хорошо брать на стабильных этапах, когда появляются рутинные некритические задачи, которые никто не хочет делать.
- Компания дешево закрывает рутину, джун набирается опыта на ошибках, а сеньоры их менторят.
- Опыт до 2-3 лет, не более
- Как собеседовать.
- Самое важное: горящие глаза, желание учиться и умение копать базовые штуки для вашей области.
- На собеседованиях можно поставить простенькую задачку из той области, где ему придётся работать.
- Самое важное на этом этапе: научиться писать код.
- Продолжительность: 2–3 года.
- Книги для продвижения дальше: любые, в названии которых есть название вашего языка программирования. Плюс «Совершенный Код», Кормен «Алгоритмы».
3 Middle
- Уровень семантики.
- Знает выполняемые задачи, может подобрать к ним инструментарий.
- Самостоятельный, но не автономный.
- Может решить любую поставленную техническую задачу.
- Способен задавать правильные вопросы и делать работающие решения.
- Ремесленник, решающий задачи, распаковывая чужие решения проблем.
3.1 Разработка программного обеспечения
- Всё еще считает программирование самым важным этапом разработки.
- Может самостоятельно сделать всё, о чем его попросят.
- Это последний уровень, который можно собеседовать исключительно по хард-скиллам.
- Самое важное на данном этапе: перестать дрочить код и начать понимать бизнес-требования.
- Продолжительность: 3–5 лет.
- Книги: Фаулер «Рефакторинг», «Банда Четырех», «Программист Прагматик», «Олифер Олифер Компьютерные Сети», «Книга Шифров».
4 Middle+
- Промежуточный уровень между мидлом и сеньором.
- Почти сеньор.
- Автономен.
- Не хватает уровня.
4.1 Разработка программного обеспечения
5 Senior
- Автономный персонаж с опытом, личной экспертизой и софт-скиллами.
- Фокусируется на вопросе зачем это делается, а не какой инструментарий использовать.
- Мастер, решающий проблемы.
- Решённая проблема переводит целый пласт схожих вопросов в категорию творческих задач, значительно понижая требования к задействованным специалистам.
5.1 Рабочие специальности
- Слесарь 6 разряда.
5.2 Разработка программного обеспечения
- Опыт: более 10+ лет.
- Самое важное: понять что делать дальше.
- Продолжительность: сколько угодно.
- Книги: любые не по программированию.
6 Leader
- Возрастает доля административной работы.
- Может быть лидером группы (см. Рыцарское копьё).