6 рекомендаций, как стать сеньором
Эта статья — для разработчиков и программистов, которые уже давно в отрасли и хотят сделать прорыв в карьере (или, может быть, только пришли в неё и хотят знать, что им поможет в пути). В своём блоге senior-программист Андрей Ниагойе поделился несколькими советами и идеями для тех, кто хочет стать настоящим профессионалом своего дела.
Здесь собраны не единственно верные правила, а скорее закономерности, наиболее частые свойства, которые отличают опытных и уважаемых программистов. Эти советы — эффективные и полезные инструменты, которые помогут вам оптимально расходовать своё время и получить максимум от жизни. Их также можно применять и в других сферах деятельности.
Чего мы хотим?
Все мы хотим стать лучшими в своём деле. И хотя каждый человек вкладывает свой смысл в эти слова, вот с чем согласятся все:
- мы не хотим, чтобы нас считали «некомпетентными»;
- мы хотим, чтобы нас уважали коллеги;
- мы хотим чувствовать себя умными и образованными;
- мы хотим, чтобы нас ценили.
Но всё это нужно заслужить. Технологии бурно развиваются, огромный объём доступной информации постоянно увеличивается, а колледжи и курсы выпускают всё новых разработчиков. Специалист постоянно оттачивает своё мастерство, находит эффективные способы обучения, и делает это так, чтобы при этом не перегореть.
Кто такой сеньор?
Это не тот, кто знает 10 разных языков или разработал свой искусственный интеллект (хотя для этого нужен большой талант). Сеньор — это тот, кто создаёт дополнительную ценность компании и повышает её эффективность. Тот, кто помогает окружающим и способен видеть далеко вперёд. Вы можете владеть самыми продвинутыми технологиями программирования в мире, но если вы не умеете общаться с командой или не понимаете потребности клиента, то не можете стать сеньором. Это не просто тайтл, а способность с помощью навыков приносить весомый результат компании и команде.
И как им стать?
Если вы будете работать над следующими пунктами, то продвинетесь намного дальше остальных. Всегда будут люди, опытнее вас в какой-то сфере, но вы можете работать эффективнее, развить свой уникальный набор качеств, который будет отличать вас от других. Это не только сделает вас лучше как разработчика, но и счастливее, потому что вы будете действительно полезным людям.
Люди часто выбирают какую-то одну область и в ней совершенствуются. Но в жизни всё не так. Очень редко вы сможете обойтись одним-единственным навыком. Особенно в ИТ, где всё постоянно меняется, нужно обладать несколькими умениями, которые можно далее развивать и которые сделают вас более гибким.
Вот шесть ключевых навыков, которыми должен обладать сеньор.
1. Технические навыки
Именно они приходят на ум большинству в первую очередь. Бесспорно, это очень важные навыки, но к ним нужно подходить вдумчиво.
Старших разработчиков отличает то, что они стремятся разобраться в причинах вещей. Что привело к этой проблеме? Для чего нужен этот фреймфорк? Какую проблему решает эта библиотека? Разработчику нужно чётко ориентироваться во всех идеях и инструментах, которые могут пригодиться в разработке, и выбирать те, которые самым оптимальным образом решат конкретную проблему компании. Они задумываются о том, что можно улучшить в процессе непрерывного развёртывания, чтобы сам продукт стал лучше.
Они также стараются разобраться во взаимосвязях между вещами. Очень полезно, например, составлять ассоциативные карты. Этот инструмент просто перевернёт ваше обучение. Ассоциативные карты помогают мозгу устанавливать взаимосвязи между идеями и технологиями. Так вы сможете грамотно распределять ресурсы компании, ведь у вас будет широкое видение ситуации.
Если вы только закончили курсы или у вас нет высшего образования по информационным технологиям, вам нужно начать с изучения структур данных, алгоритмов и других компьютерных тем. Потому что, в отличие от фреймворов и технологий, общие принципы информатики (в основном) остаются неизменными. Понимание более общих тем позволит вам понять, что большинство проблем с ПО и способов их решений универсальны для любых языков и отрезков времени.
2. Командные навыки
Этот навык часто упускают из виду. Как вы общаетесь с коллегами? Вы резкий и упрямый, и постоянно создаёте напряжённую атмосферу? Или доброжелательный, готовый прийти на помощь и поддержать команду? У сеньоров не зашкаливает ЧСВ. Они и так знают, насколько круты, и им не нужно доказывать это ни себе, ни другим. Их код — предельно прост и чист, они не пытаются выставлять свои умения перед командой. Они готовы помочь другим и не боятся задавать вопросы, если что-то не знают.
Они знакомы с понятием «эмоциональный интеллект». Социальная психология очень поможет улучшить этот навык, например, всем знакомая книга Дейла Карнеги «Как завоёвывать друзей и оказывать влияние на людей».
Окружающие должны чувствовать себя лучше после общения с вами. Если в вашей команде пять человек, то 1+1+1+1+1 в сумме дадут гораздо больше, чем пять, потому что вы сможете поднять их продуктивность.
Если вы такой человек, который на любом проекте и в любой команде хорошо ладит с коллегами и сплачивает людей вокруг себя, то вы уже дали сто очков вперёд большинству конкурентов. А ещё вы облегчаете жизнь менеджеров, директоров и СТО — людей, которые играют центральную роль в компании.
3. Навыки общения с клиентами и пользователями
Вы способны слушать клиентов и ясно понимать их проблемы и потребности? Сеньор умеет выслушать и посоветовать наилучшее решение. Он умеет выстраивать взаимоотношения. Он не уступает во всём, но и не навязывает свою точку зрения. Он понимает, что выгоду от сотрудничества стремятся получить обе стороны. Почитайте, например, «Психологию влияния» Роберта Чалдини.
4. Навыки профессионального роста
Сеньоры каждый день учатся чему-то новому. Это не значит, что они 14 часов в день читают статьи за компьютером. Но они всегда стремятся общаться с другими разработчиками, задают вопросы, изучают новые темы. Они не ограничиваются одним навыком. Возможно, что-то одно вы делаете лучше всех в мире, но если вы не знакомы с областью в общем или не имеете цельного представления о проблеме, которую решаете, то вы не лучший.
Они нацелены на профессиональный рост и постоянно практикуются. Понимая, что всё выучить невозможно, они фокусируются на самом полезном и интересном. Они достаточно терпеливы, чтобы досконально разобраться в теме, и готовы изменять свою точку зрения на вещи, потому что любят учиться у других.
5. Навыки продаж и прохождения собеседований
Сеньоры получают свои должности, потому что обладают коммуникативными навыками и умеют «продать» себя людям, принимающим решения. Они понимают проблему работодателя, и умеют убедить его, что именно они смогут решить её. Они скромны, но достаточно уверены в себе, чтобы занять эту должность и работать под напряжением. Они также знают, что если не попытаются заполучить то, что им нужно, то никогда этого не получат. Поэтому, они не боятся просить повышение или должности, на которых им будет непросто, но которые им подходят. Хотя многие пренебрежительно относятся к продажам и переговорам, это ценный и необходимый навык. Начать можно с вот этой статьи. Здесь речь идёт о том, как добиться повышения зарплаты, но общие принципы применимы и к другим сферам.
6. Навыки работы с сообществом
Сеньоры участвуют в жизни своего сообщества и делятся опытом с коллегами. Выступают на лекциях и встречах, участвуют в open source-проектах, пишут статьи. Они не замыкаются в своём рабочем пространстве, но также общаются с людьми из других сообществ и расширяют кругозор.
И последнее
Если вы будете работать над этими шестью навыками, то сразу окажетесь на ступень выше остальных. Но важно помнить кое-что ещё: вы должны получать удовольствие от того, что делаете. Если вам не нравится ежедневно учиться, вы никогда не станете старшим разработчиком, потому что вам не хватит энтузиазма постоянно самосовершенствоваться. Если вы читали книгу «Хватит мечтать, займись делом!», то знаете, страсть к работе сильно переоценивают.
Настоящая увлечённость появляется после того, как вы досконально изучили определённый навык, усердно работали, чтобы овладеть им и стали лучшим в нём. Вы приобрели этот навык, и теперь уважение других и польза, которую вы им приносите, подталкивают вас к тому, чтобы становиться всё лучше и лучше, чтобы постоянно чувствовать уважение и полезность. Так у людей появляется страсть к тому, чем они занимаются.
Вывод
Если вы научились программировать и хотите продвинуться в карьере, вам нужно кое о чём задуматься. Что отличает вас от других? Как вы собираетесь расти? Как вы можете помочь людям решить их проблемы? Сеньором стать непросто: для этого нужно напрягать голову и выходить из зоны комфорта. Нужно изо дня в день учиться, шаг за шагом, но оглянувшись, вы увидите, какой проделали путь. Никогда не переставайте читать и учиться, но что именно изучать выбирайте с умом.
Реально ли за три года стать сеньором? А если работать по 16 часов в день?
Разработчица из компании Under NDA Владислава Остапчук задалась в блоге на LinkedIn вопросом, реально ли за три года стать senior-разработчиком с учетом индивидуальных особенностей и способностей. Можно сказать, что это животрепещущий вопрос, так как сама Владислава занимает позицию мидла и, вероятно, активно стремится к следующей ступени. К дискуссии подключились около 80 человек.
Експертний курс від laba: Стратегічний маркетинг.
Розвивайте бізнес з глибоким пониманням ринку.
Ранее мы уже писали на тему получения звания сеньора за три года , тогда инициатор дискуссии был крайне настойчив во мнении, что это невозможно, и с ним согласилось большинство. В новом споре практически ничего не изменилось: разработчики до сих пор считают, что возможность быстро стать сеньором — это всего лишь «байка, которую придумали владельцы курсов для того, чтобы завлечь людей».
Разработчик программного обеспечения из GlobalLogic Сергей Король считает, что сеньор — это, как минимум, от пяти лет коммерческом проекте, а за три года можно стать только мидлом. Исключение — работа в пределах одной компании, но, как только разработчик перейдет в другое место, он снова займет позицию middle, но и то с натяжкой.
А что, если работать в два раза больше
Пытаясь рассмотреть все версии, автор поста не исключила вариант, когда разработчик будет работать не по 8, а по 16 часов в день. Но, как считает Сергей Король, это «фигня», так как никто не сможет эффективно работать столько времени: «Это уже не работа, а для галочки, типа смотрите, сколько я натрекал». Работать больше положенного — это значит, выгорать и делать ошибки. Человек должен эффективно работать в отведенное ему время, уверен разработчик.
В понимании С++-геймдева Сергея Манко сеньор должен:
Освітній курс від laba: Клієнтський сервіс.
Залучайте та зберігайте клієнтів.
- Уметь справляться с задачами любого уровня сложности самостоятельно, даже если эти задачи затрагивают не знакомые ему технологии;
- Поставлять максимально production-ready-код с минимальным количеством исправлений;
- Иметь коммерческий опыт как минимум в трех проектах, использующих разный стек технологий, а не просто поддержку;
- Знать и иметь опыт в смежных областях. Желательно знать несколько языков программирования на высоком уровне;
По словам senior-разработчика из EMAP Володимира Перегуды , когда он столкнулся с «сеньором с трехлетним опытом», ему без преувеличения пришлось на пальцах объяснять коллеге, почему проблема, решенная на 99% лучше, чем вообще не решенная. Из похожих перлов: «Если мы не можем полностью пофиксить багу, зачем вообще фиксить, если она не блокер?». Бывает и такое!
Інтенсівний курс від laba: Фінансовий директор.
Ефективне фінансове управління компанією.
Как ни крути, большая часть разработчиков склоняется к ответу, что сеньор с опытом в три года — это чушь и несерьезно, и, в основном, все решают софт-скиллы.
Закончим на позитивной ноте. Ведь, по мнению линкбилдера Алексея Деркача , все-таки можно стать сеньором за три года, если родиться в Испании!
Кто такой Senior разработчик, и как им стать
В IT довольно много направлений, однако путь Senior-разработчика везде примерно один. Многие новички мечтают достичь этого уровня профессионализма. Ниже мы расскажем вам о том, кто такой Senior, и каким требованиям он должен соответствовать.
Получи грант, покрывающий 50% стоимости обучения
И обучайся новой профессии онлайн из любой точки мира
Получить грант
Разработчик уровня Senior: кто это?
У программистов, как и в любой другой профессии, есть своя шкала развития. В самом общем виде она выглядит следующим образом: Junior → Middle → Senior. Бывает еще уровень «ученика» — Trainee. Однако в этом материале сосредоточимся на трех основных ступенях развития. Ниже поговорим о том, чем отличается Junior, Middle и Senior разработчик.
«Джун»
Отметим, что строгих измерений в рассматриваемой шкале развития разработчика нет. В некоторых компаниях Junior — недавний студент с мизерным багажом знаний и полным отсутствием опыта. При этом некоторые компании понимают под этим термином специалистов с двухлетним опытом работы.
Суть заключается в том, что «Джун» — начальный уровень развития. Компании необходимо в него вкладывать и обучать. В самом общем виде — это сотрудник, который уже работает, но продолжает активно обучаться, поскольку у него базовый профессиональный уровень.
87% наших выпускников уже работают в IT
Оставь заявку, и мы поможем с выбором новой профессии
Оставить заявку
«Мидл»
Следующая ступень после Junior — Middle. По сути, это вчерашний «Джун», который смогу освоить значительный стек технологий. Такому специалисту доверяют уже более сложные задачи. Он также способен выступать в роли ментора для своих менее опытных коллег.
Middle уже стал командным игроком, способным проверять чужой код, и делать полезные замечания тем, кто в этом нуждается. Это разработчик, достигший «среднего» уровня профессионализма.
«Сеньор»
Senior — специалист высокого класса. Он уже может взять на себя работу над проектом, или даже руководить одним из подразделений компании. Senior имеет большой багаж знаний и опыт. Именно на нем лежит основная работа по «прокачке» менее профессиональных коллег.
Senior не нуждается в помощи для решения любых задач. Такой специалист владеет всеми популярными и новыми инструментами, применяемыми в направлении разработки, в котором он работает.
Что нужно знать Senior-разработчику?
Чтобы стать «Сеньором» в программировании, необходимо активно развиваться: изучайте новые технологии, записывайтесь на тематические семинары и т. д. Все это звучит слишком обобщенно. Поэтому ниже разберем более детально, что нужно осваивать разработчику для достижения профессионального уровня Senior.
Технические навыки
Нужно научиться писать чистый код, и обладать пониманием алгоритмов. Кроме того, для решения любой задачи есть несколько способов. Senior-разработчик должен уметь найти лучшее из них.
Перед работой задавайте себе следующие вопросы:
- Можно ли разделить вашу задачу на отдельные таски? Если да, то на какие?
- Какой метод решения задачи будет оптимальным?
- Сможете ли вы подключить коллег, и как следует организовать рабочий процесс?
Если для наиболее взвешенного и эффективного решения нужно изучить новый фреймворк, или сервис, обязательно сделайте это.
Важный нюанс, который отличает Senior, заключается в опыте поддержки проектов. Ему нужно уметь поддерживать даже самый старый код.
Коммуникации
«Сеньор» обязан хорошо владеть английским. Профессионал высокого класса должен уметь работать с ТЗ заказчика, и контактировать с коллегами из других стран. Ему также нужно научиться задавать правильные вопросы, устанавливать «дедлайны», и формировать план работ. Конечно же, эти задачи во многом решает PM. Однако Senior также должен уметь это делать.
Программирования — командная игра. Нужно уметь организовывать процесс, отталкиваясь от уровня коллег. Необходимо научиться работать с гибкими методологиями.
Интервьюер и ментор
Набор сотрудников в команду и обучение начинающих входит в компетенцию «Сеньора». Поэтому специалист такого уровня должен уметь выделять слабые и сильные стороны соискателя, а также организовывать рабочий процесс других сотрудников.
Самообучение
Даже если вы достигли уровня Senior, это не повод расслабляться. Квалификация быстро теряется. Особенно, если специалист прекращает осваивать новые технологии. В этом случае программист может банально отстать от современных тенденций в IT.
Ключевое отличие Senior от Junior заключается в том, что второй воспринимает обучение в качестве «обязательной» процедуры. «Сеньор» же видит в этом процессе ценную необходимость, позволяющую открывать закрытые, и ранее недоступные двери.
Работа с профессиональным сообществом
Senior не только блестяще справляются с поставленными ему задачами. Он также активно развивает айтишное комьюнити. «Сеньоры» часто выступают в роли докладчиков на различных семинарах и форумах. Можно сказать, что именно они и развивают IT, а также готовят новые поколения разработчиков.
Краткие выводы
Чтобы стать Senior-разработчиком, необходимо много работать и учиться. Это нелегкий путь, однако вы сможете его пройти, если приложите максимум усилий. Прочитать другие полезные статьи вы сможете в нашем блоге.
Начни обучение сегодня
FrontEnd разработчик
Профессия Frontend-разработчик — лидер по количеству запросов от работодателей. Без этого специалиста не может обойтись ни одна современная компания, у которой есть сайт. Хотите стать Frontend-разработчиком и создавать сайты, интернет-магазины, маркетплейсы и прочее? Записывайтесь на наш курс!
QA Automation Engineer
QA Automation Engineer — это специалист, который обеспечивает качество продукта и контролирует все этапы разработки с момента появления идеи до релиза. Он имеет компетенции и тестировщика, и разработчика. Он участвует во всех процессах разработки: от подготовки стандартов и требований до самой разработки продукта. А также владеет ручным тестированием и пишет скрипты для автоматизации этого процесса, докладывает о проблемах и контролирует их исправление.
Project Manager
Project Manager — специалист, без которого не может обойтись ни один IT-проект. Если вы хотите войти в сферу IT-технологий, но учить языки программирования это не для вас, тогда профессия Project Manager — то, что вам нужно! Запишитесь на курс Project Management и начните свой путь в IT!
Популярное
10 задачек, которые дают на собеседованиях в IT-компании
8 главных качеств программиста: что говорят работодатели
Frontend разработчик: главные навыки
Как стать Senior разработчиком: определение, навыки, материалы
Кто такой Senior разработчик, что входит в его обязанности и как им стать? Небольшое руководство для будущих старших программистов.
Сфер в IT много, но путь становления Senior-разработчика плюс-минус одинаков. В этой статье мы поговорим о том, кто такой старший разработчик, какие к нему предъявляются требования и как дорасти до столь солидной должности.
- Кто такой Senior программист?
- Что должен знать и уметь сеньор разработчик?
- Дополнительные материалы
Кто такой Senior программист?
Если не вдаваться в дебри специализаций, это одна из ступеней развития разработчика в цепочке Junior → Middle → Senior. Перед джуном также может указываться стажёр, а после сеньора — тимлид, но мы рассмотрим именно трёхэтапную схему.
Junior разработчик
Сразу оговоримся, что чётких научных измерений в этой системе нет. Для каких-то компаний джун — это вчерашний студент с минимальными знаниями и нулевым опытом, а кто-то ищет младших разработчиков с опытом работы от 2-х лет.
Но практически все сходятся в том, что это наименее ответственное звено, в развитие которого нужно вкладываться, отслеживать и координировать его действия. Скажем, это человек, который, работая, продолжает учиться.
Middle разработчик
По сути, это «подросший» Junior, который освоил необходимый стек технологий, уверенно обращается с Git, командной строкой, самостоятельно и в срок решает поставленные задачи.
Кроме того, Middle — это командный игрок, который может и чужой код прочесть, и дельное замечание по нему сделать, если требуется.
Где-то между джуном и мидлом есть ещё так называемые «уверенные джуны», но это, скорее, не промежуточный этап, а просто попытка компаний оставить уже обросшего опытом специалиста на позиции и зарплате Junior-разработчика. Как только почувствовали, что знаете и можете гораздо больше, чем джун, сразу же обсудите это с руководством.
Senior разработчик
Вот он, гвоздь программы, способный взять на себя проект и даже руководить отдельным подразделением. Senior Developer обладает обширным багажом знаний, способен стать ментором для Trainee или Junior разработчика, а также улучшать эффективность команды за счёт реализации своих идей.
Грубо говоря, если вы не нуждаетесь в сторонней помощи и, напротив, сами можете предоставить такую помощь, в числе первых берёте на абордаж новые технологии и не боитесь использовать их на практике, вы Senior программист.
Что должен знать и уметь сеньор разработчик?
Так как же стать Senior разработчиком? Не стойте на месте: осваивайте новые языки и технологии, записывайтесь на вебинары, бросайтесь в принципиально новые подходы, дабы не пасти задних, и развивайтесь всесторонне.
Довольно обобщённые советы, не правда ли? Что ж, попытаемся их структурировать и раскрыть подробнее.
1. Технические навыки
Во-первых, это понимание алгоритмов и умение писать чистый код. Во-вторых, для одной задачи существует множество решений, но именно Senior Developer способен определить, какое из них оптимально в конкретном случае.
Перед началом работы всегда спрашивайте себя:
- Можно ли разбить таск на подзадачи, и если да, то как?
- Какой подход к решению этой задачи наиболее оптимален?
- Смогу ли я подключить других сотрудников, и как в таком случае организовать рабочий процесс?
Если для решения проблемы нужно освоить новую СУБД, фреймворк или сторонний сервис, вы осваиваете это.
Но что реально отличает сеньора от остальных, так это опыт поддержки проектов, даже если речь идёт о всеми забытом и припорошенном пылью легаси коде.
Кроме того, чтобы думать, как Senior, нужно расширять способы обработки информации. В этом поможет книга Иана Макдермотта и Джозефа О`Коннора «Искусство системного мышления». Также есть краткая выжимка основных мыслей в формате аудиокниги:
2. Коммуникативные навыки
Не будем распыляться о том, что старший разработчик должен хорошо знать английский язык. В любом случае держите бесплатные материалы по английскому для айтишников.
Как вы уже поняли, сеньоры часто ведут проекты самостоятельно, поэтому очень важно уметь обрабатывать ТЗ заказчика, задавать правильные вопросы, которые выльются в исчерпывающие ответы, устанавливать сроки выполнения и выстраивать план работ. Разумеется, проджект-менеджеров никто не отменял, но в идеале старший разработчик может справляться и без их помощи.
А ещё программирование — это почти всегда работа в команде, поэтому нужно уметь организовать процесс, отталкиваясь от навыков и запросов других сотрудников. Вы должны быть на «ты» с гибкими методологиями разработки, и такие термины, как Agile, Scrum и Kanban, не должны вас пугать.
3. Навыки ментора и интервьюера
Подбор персонала и обучение новичков — задачи, которые нередко ложатся на плечи сеньоров. Как человек, прошедший обучение, становление и набивший достаточное количество шишек, Senior-программист прекрасно знает, какие вопросы задавать, чтобы выделить сильные и слабые стороны кандидата, а также как организовать рабочий процесс для тех, кто уже прошёл собеседование.
4. Навыки профессионального роста
Если вы думаете, что дослужитесь до звания Senior Developer и закончите на этом свой учебный путь, вы ошибаетесь. Старшие разработчики как никто знают, сколь важно постоянно развиваться, осваивая всё новые и новые горизонты. Они никогда не ограничиваются одним набором инструментов, ведь в погоне за оптимизацией рабочего процесса так или иначе приходится обращаться к чему-то новому.
Если у вас есть боязнь применения новых знаний на практике, также известная как синдром вечного студента, вам нужно её преодолеть, чтобы стать Senior разработчиком.
Принципиальная разница между джуном и сеньором в том, что первый, как правило, воспринимает обучение как обязаловку, в то время как второй видит в этом ценную необходимость, ключ от закрытых дверей.
От сеньора редко можно услышать что-то вроде «Ненавижу этот инструмент», поскольку он уже изучил его, выделил все плюсы и минусы, знает, когда его стоит применять, а когда это бесполезная трата времени и ресурсов.
5. Навыки работы с сообществом
Мало того что старшие программисты хорошо выполняют свою работу, так они ещё и «подтягивают» айтишное комьюнити. Часто выступают с докладами, организовывают митапы, пишут документации и полезные статьи, которые помогают развиваться другим.
Иными словами, Senior разработчик не закрывается в своём рабочем пространстве, втихую накапливая знания и скрывая их от остальных. Скорее, это те самые гуру, раздающие дельные советы на Stack Overflow. Они любят делиться своим опытом, так как это:
- помогает взращивать новые поколения талантливых разработчиков и способствует развитию IT в целом;
- в ходе общения позволяет почерпнуть полезную информацию и от самого сообщества.
Вместо эпилога
Всё сказанное уже сказано, поэтому просто держите несколько дополнительных материалов, чтобы лучше понять, как стать Senior разработчиком:
- Отличия junior, middle и senior разработчиков — объясняют эксперты
- Практическое руководство как стать Senior Frontend Developer