Главное Свежее Вакансии   Проекты
Комментируемое:

Список ссылок временно недоступен
😼
Выбор
редакции
633 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Чем отличается сениор от миддла, или как второму стать первым

Разработчиков принято делить на джунов, миддлов и сениоров. Разница между ступенями, кажется, очевидна. Но то и дело возникают разногласия. Попробуем на примере сегмента тестирования сформулировать, в чем основные отличия.

Для начала стоит отметить, что сениором нельзя стать, просто проведя N лет на определенной должности. Опыт работы, безусловно, приближает миддла к следующему уровню. Но опыт опыту рознь. Кто-то может десять лет ковырять в носу в госконторе с устаревшим стеком, а кто-то пару лет будет вкалывать на передовой, поднимая сервера под высокими нагрузками и иными способами спасая мир. Поэтому время не является достаточным фактором.


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

Джун. Задать вопрос в любой непонятной ситуации


Итак, специалист начинает свое развитие в любой области с уровня джуна.

В зависимости от знаний и опыта за плечами джун в лучшем случае умеет кодить. Для нормальной работы задачу для него надо максимально декомпозировать и сформулировать как можно прозрачнее. Фактически джун — это человек, который нажимает на клавиши, чтобы, например, поддерживать существующие автотесты или писать новые, используя Ctrl+C / Ctrl+V и кое-что подправив.

Джун задает очень много вопросов — не только о том, какое решение лучше выбрать, но и как в деталях воплощать его в жизнь. Хорошо, если есть, кому их задать, — тогда джун со временем может стать хорошим миддлом.

Миддл. Самостоятельность выше, а вопросы скорее инфраструктурные


У миддла вопросов к остальным членам команды существенно меньше. Детали реализации многих вещей он понимает без дополнительных разъяснений, так что степень обязательной декомпозиции задачи на этом уровне существенно меньше.

Если говорить о тестировании, миддл умеет писать новые автотесты с нуля, без Ctrl+C и Ctrl+V. И такие задачи он решает самостоятельно. А вот если возникают вопросы о внедрении каких-то новых процессов или инструментов, он обсуждает их с техлидом, поскольку просто не обладает стратегическим видением, позволяющим принимать подобные решения.

Как раз из-за отсутствия «инфраструктурного» взгляда на проект миддл не может существовать в одиночестве. Если возникает какая-то высокоуровневая сложность, он скорее выберет первое попавшееся решение проблемы без детальной проработки, поскольку только оно ему и знакомо.

Сениор. Не ждите вопросов, просто согласуйте один из готовых вариантов ответа


Сениор умеет не просто решать задачи и анализировать, но и выстраивать процессы.

За счет своего опыта — в основном технологической базы — сениор видит задачу гораздо шире. Он понимает, как его блок встраивается в общую инфраструктуру проекта, от чего зависит и на что влияет.

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

В целом хороший сениор нацелен на решение поставленной бизнес-задачи, а не конкретного таска из Jira (о важности такого подхода мы писали около года назад: https://spark.ru/startup/maxilect/blog/49527/chto-vazhnee-znat-yazik-programmirovaniya-ili-umet-reshat-biznes-zadachu). И на пути к этому решению он сам находит инструменты и внедряет их, если это необходимо. Техлид со своей стороны видит, что задача в хороших руках, и просто наблюдает за происходящим, корректируя общий курс в соответствии с направлением развития технологического стека в компании.

Перечислять формальные навыки сениора, даже в отдельно взятом сегменте тестирования, нет смысла. На проекте сениор может контролировать качество кода уже на уровне процесса разработки, а не на самих тестах. Очевидно, он понимает, как кодить, знает, что делать с абстракциями и паттернами. В то же время у сениора должны быть развиты софт скиллы, чтобы грамотно преподносить свои идеи.

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

Хороший сениор — человек инициативный, проактивный. Он сам, стремясь к совершенству, ищет, что и где можно улучшить. Часто сениоры также курируют джунов (если они есть в команде). И для этого тоже нужны развитые софт скиллы.

Одновременно такой сениор — правая рука техлида. Сам техлид в большей степени сосредоточен на управлении, а технологические вопросы удобнее отдавать тем, кто погружен в проблему.

Как добраться до сениора?


Можно долго дискутировать о том, сколько времени нужно, чтобы достичь уровня понимания сениора. У всех разная скорость обучения и разная возможность обучаться на текущем месте работы. Поэтому фактически играет роль только стремление к саморазвитию и способность достигать поставленных целей в этом направлении. Чтобы это как-то оценивать, многие компании вводят практику обсуждения в команде личных целей. Важно, чтобы эти цели были достижимы и измеряемы и могли быть реализованы к дате «Х».

Тот, кто ставит реальные и полезные цели, а потом вовремя их достигает, часто оказывается на более хорошем счету, нежели тот, кто просто отработал *дцать лет в индустрии.

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

Не так давно один из хабровчан парсил вакансии на HeadHunter, чтобы оценить заявленные требования к опыту специалистов. Выяснилось, что со временем требования к опыту работы специалиста, претендующего на уровень сениор, только повышаются (https://habr.com/ru/post/442864/).

Бывает, что вы хотите развиваться, но текущая работа не дает поля для маневров в этом направлении. Тогда нужно браться за дело самостоятельно:


  • Анализируйте ошибки, которые вы совершаете. Старайтесь докопаться до причин возникновения багов или неработоспособности очередной внешней библиотеки. Так вы гарантируете, что не повторите ошибку в будущем, а заодно расширите кругозор.
  • Ищите себе задачи чуть сложнее, чем вы решали до сих пор. Не стоит застревать на одном уровне сложности — ходить на конференции для джунов или применять на домашних проектах только самые простые решения.
  • Регулярно уделяйте хотя бы немного времени изучению нового. Пусть это будет open-source, чтение книг о фундаментальных основах по вечерам или технологии, косвенно связанные с рабочим проектом. Даже полчаса в день на длинных промежутках времени дадут результат. Не обходите стороной тему бизнеса и управления — сениор должен разбираться и в этом. Если у вас не профильное высшее образование (или его нет), уделите время базе — подходам к тестированию, структурам данных, алгоритмам и базовой математике в их основе, архитектуре вычислительной техники и т.п.
  • Если у вас до сих пор нет технического английского, уделите время и этому навыку. Это полезно и в работе, и в дальнейшем обучении — большинство хороших книг и статей выходят именно на английском, а на русский переводятся с опозданием.
  • Развивайте эмоциональный интеллект. Мы недавно писали о софт скиллах, которые помогают в ИТ (https://spark.ru/startup/maxilect/blog/62645/soft-skilli-dlya-it-spetsialista-rasskazivaem-na-paltsah-i-zhiznennih-primerah). Рекомендуем почитать на досуге. Параллельно прокачивайте критическое мышление — оно не только в работе, но и в повседневной жизни очень полезно.

Кстати, двигаться вперед здорово помогает круг общения. Человек — существо социальное. Вам будет легче развиваться, если будет, с кем обсудить свой путь, посоветоваться. Это может быть старший коллега, ментор из образовательного учреждения или просто круг друзей, где каждый движется в каком-то своем направлении, но именно движется, а не отвисает перед телевизором все свободное время. «Как искать друзей» после 30 — тема отдельного разговора, но конференции, хобби и open-source-проекты и прочие социальные активности вам в помощь.

P.S. Мы публикуем наши статьи на нескольких площадках Рунета. Подписывайтесь на наши страницы в VK, FB, Instagram или Telegram-канал, чтобы узнавать обо всех наших публикациях и других новостях компании Maxilect.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Первые Новые Популярные
Комментариев еще не оставлено
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.