Чем отличается Senior программист от Middle?
Ранее я публиковал пост про отличие Junior от Middle: Чем отличается Junior от Middle программиста?
1) Самостоятельность. Ваша самостоятельность продолжает расти. Вы можете драйвить и овнить самые большие и сложные проекты в рамках вашей команды.
2) Скоуп/размер задач. Часто, импакт ваших проектов не ограничивается только вашей командой, а распространяется и на другие команды.
2) Delivering through others. В силу того, что проекты, над которыми вы работаете, становятся большими и сложными, в одиночку вы их сделать не сможете в ограниченный промежуток времени. Поэтому вам нужно быть лидером и основным овнером проекта, но реализовывать его отдельные части могут другие программисты (Middle и Junior).
3) Dealing with ambiguity(работа с неопределенностью). Этот скил продолжает расти на всех уровнях. На уровне Senior вам нужно в рамках своего проекта или area of expertise уметь производить декомпозицию большого и сложного проекта на отдельные маленькие и понятные части, над которыми будут работать другие более junior программисты. Это достигается благодаря вашему дизайну решения, обсуждениям и согласованиям с другими людьми из вашей или других команд, благодаря вашей экспертизе или тому что вы раскопали в коде или интернете.
4) Качество кода. Вы становитесь тем, кто задает и повышает стандарты написания кода в рамках вашей команде. Это достигается собственным примером, качественными code review и установлениями общих политик написания и качества кода в рамках команды.
5) Mentorship. Вы становитесь ментором для Middle и Junior программистов в вашей команде. Помогаете онбордить людей в команду и компанию. Занимаетесь собеседованиями и наймом других программистов.
6) Экспертиза в рамках команды. Вы становитесь тем человеком, к которому идут если у них возникли какие-либо вопросы в рамках каких-либо компонент, которые овнит ваша команда. В том числе и из других команд.
7) Visibility. Т.к. часто ваши проекты распространяются и на другие команды, то про вас, вашу экспертизу, ваши скилы знают за пределами вашей команды. Вы делаете презентации, пишите доки с результатами/планами/целями работы всей команды или проекта. О вас и вашей работе знают другие менеджеры, не только ваш непосредственный менеджер.
8) Планирование. Вы один из существенных контрибьютеров в roadmap вашей команды. Вы помогаете с постановкой целей, метрик и конкретных проектов, над которыми будет работать ваша команда.
9) Unblocking others. Вы проактивно помогаете другим программистам в рамках вашей команды или проекта разблокировать себя. Проактивно находите самые приоритетные вещи, которые замедляют или блокируют других программистов и помогает их разблокировать.
10) Проактивный багфиксинг и импрувмент. Вы проактивно находите и фиксите баги в коде вашей команды или проекта. Находите способы улучшить код или его производительность.
Post #371
2.39K