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

Все блоги / Про интернет 13 августа 2020 220   
Разработчиков принято делить на джунов, миддлов и сениоров. Разница между ступенями, кажется, очевидна. Но то и дело возникают разногласия. Попробуем на примере сегмента тестирования сформулировать, в чем основные отличия. Для начала стоит отметить, что сениором нельзя стать, просто проведя 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

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций