Привет, с вами Громов. Недавно я провёл стрим про карьеру для студентов Школы 21, который получился очень насыщенным — и я успел коснуться только около трети запланированного. Ниже его основные мысли, если у вас нет времени смотреть часовую запись.
Карьера ≠ работа
Часто мы используем понятия «карьера» и «работа» как взаимозаменяемые, но это не совсем корректно. Карьера, на мой взгляд, это спланированный и соответствующим вашим желаниям и целям профессиональный путь. В то время как работа — это всего лишь одна из точек на этом пути.
Просто меняя работу раз в несколько лет в поисках большей зарплаты или более интересного проекта, вы будете двигаться хаотично. Карьеру же нужно планировать, иначе она как-то сложится без вашего активного участия.
Почему попасть в FAANG недостаточно?
Технологические корпорации — FAANG – стали целью для многих программистов. Причём часто альтернативы не рассматриваются вообще, а отказ на собеседовании воспринимается как полный провал. На мой взгляд, в глазах таких людей «фаанги» сильно переоценены.
У них есть плюсы:
Много умных и образованных людей вокруг
Относительно высокий статус
Зарплата выше среднерыночной
Множество возможностей (в теории)
Но и минусы серьёзные:
Формальный подход к оценке вашей эффективности
Огромная внутренняя конкуренция за интересные проекты и возможности (на практике)
Низкие шансы на нелинейный карьерный рост
Куча рутины и проблем, специфичных только для этих компаний
Стремиться в FAANG или нет — решать вам. Я призываю вас задуматься сейчас и никогда не забывать о своих личных целях.
Учитесь делать крутые штуки
Все программисты так или иначе очарованы возможностью сделать что-то из ничего, создать работающую систему фактически силой мысли. При наличии мастерства, такой продукт может получиться крутым и заметным. Именно к этому и стоит стремиться — особенно спустя несколько первых лет карьеры.
Зачем делать крутые штуки?
Чтобы сохранить интерес к работе. Зарплата перестаёт мотивировать, и остаётся только от души интересоваться своими проектами.
Строить репутацию. Если вы сделаете классную анимацию в приложении, производительный графический движок на WebAssembly, легко масштабируемую инфраструктуру приложения, интересную визуализацию данных — вас заметят и о вас заговорят, а это путь сильному личному бренду/
Как делать крутые штуки?
Выберите специализацию и придерживайтесь её хотя бы год.
Сохраняйте здоровый перфекционизм, чтобы иметь возможность гордиться своей работой — не падайте жертвами гибких методик разработки и постоянно меняющихся бизнес-требований.
Рассказывайте о своих проектах — знакомым, на конференциях, в интернете.
Выбирайте ответственность, а не деньги
Совершенно нормально работать за деньги. Более того, в жизни бывают ситуации, когда это единственное, что вам нужно прямо сейчас — и это тоже нормально.
Но чтобы выиграть в долгосрочной перспективе, между проектом с большим уровнем ответственности и большей зарплатой я бы советовал выбирать большую ответственность.
Когда вы берётесь за что-то новое, вы учитесь новому и таким образом поддерживаете свой интерес к профессии.
Вы станете более ценным специалистом, которому будет доступно больше возможностей.
Что важно в работе
Держите слово — это краеугольный камень профессиональной этики. Если слово сдержать не удаётся, проактивно выходите на связь и рассказывайте про изменения в планах. Сделайте так, чтобы на вас можно было положиться.
Становитесь незаменимым. Несмотря на то, что компаниям и командам невыгодны незаменимые люди на нижних уровнях иерархии, вы можете увеличить свою ценность и получить плечо в принятии решений и выборе проектов, если станете незаменимым.
Выбирая работу, особенно в начале пути, старайтесь попасть в компанию, где можно учиться у лучших. В фейсбуках и гуглах действительно высокая концентрация умных и талантливых ребят, но важно не только попасть с ними в один офис (или, тем более, чат — в наше время-то), а ещё и иметь возможность регулярно взаимодействовать с ними.
Что насчёт денег?
После определённого уровня заработка, деньги перестают вдохновлять — уж точно суммы, сопоставимые с привычной зарплатой. Так что, если вам уже есть на что жить и содержать семью, между деньгами и возможностью сделать что-то заметное, важное и новое для вас выбирайте второе.
И, конечно же, знайте рыночную цену своих услуг, умейте себя продавать и торговаться за лучшие условия.
В совершенстве владейте инструментами
Интересный пункт, только отчасти связанный с самими инструментами — языками программирования и IDE, плагинами и стандартным Linux-утилитами.
Важно пользоваться инструментами на таком уровне, чтобы продолжать работать сконцентрированно, в состоянии потока. Чтобы не приходилось каждый раз отвлекаться на отладку регулярного выражения или поиск параметров для проброса локальных ключей через SSH.
Либо выучите нужные команды и инструменты, либо автоматизируйте/сконфигурируйте часто повторяемые действия, чтобы как можно больше внимания уделять полезной работе, а не рутине.
Подсматривайте фишки у коллег
Один из лучших способов узнать о новых инстурументах — подсматривать за другими, особенно во время парного программирования. Наблюдая, задавайте вопросы о том, что и как ваш коллега сделал. Нередко вы будете узнавать более элегантные способы решать задачу, которую вы привыкли решать вручную или неоптимально.
Следующий уровень: формулируйте открытые вопросы («как бы ты сделал X?») и приходите с ними к людям, у которых есть интересующий вас опыт — очень многие откликнутся и помогут вам взглянуть на ситуацию с новой стороны.
Учитесь
В первую очередь, учитесь учиться — чтобы понимать, как работает мозг (от базовой биохимии до психологии), память и механизмы сознания. При идеальном раскладе, вы поймёте, как изучать что-то новое за относительно короткий срок (я уже понял, но ещё не научился).
Качайте навыки общения. При прочих равных (hard skills), именно разница в навыках общения, убеждения и, более широко, soft skills определяет ваш успех.
Организуйте свой день, разберитесь с мотивацией. Дисциплина и планирование (такого дня, какой вы сами посчитали бы классным и полезным) помогают, в особенности людям более творческим. А с мотивацией — настоящей, которой не нужны премии и разговоры с начальником — лучше разобраться, чтобы принимать правильные стратегические решения.
Осваивайте смежные области знаний. Даже если вы хотите оставаться узким специалистом, понимание происходящего в соседнем отделе поможет вам лучше понимать общую картину происходящего и видеть риски.
Учиться и развиваться по-прежнему необходимо и когда вы уже «состоялись» как специлист и достигли определённого уровня — просто чтобы сохранять интерес к работе.
Подавайте себя с выгодной стороны
И даже несмотря на некоторую табуированность темы в нашей культуре — правильно продавайте себя. Людей так много, а времени друг на друга у них так мало, что правильный фрейминг вашей позиции — на собеседовании, на встрече, просто в жизни — и определяет отношение к вам.
Говорите и пишите грамотно и убедительно. Этому стоит поучиться, в том числе на курсах ораторского искусства.
Делайте упор на свои сильные стороны. Сложно переоценить важность этой рекомендации — именно вы решаете, какой стороной повернуться к собеседнику, и именно от вашего решения зависит, что о вас запомнят.
Разумеется, отдельно готовьтесь к собеседованиям — что в FAANG, что в компаниях помельче вы обязательно столкнётесь с процессом отбора, который не похож на обычную работу.
Во всём этом сохраняйте целостность и непротиворечивость истории своей карьеры и планов. Будьте готовы объяснить, почему вы принимали решения в прошлом и имейте представление о будущем, к которому вы стремитесь. Так и вам будет легче во время этих непростых разговоров, и впечатление от вас будет оставаться более собранное.
Организовывайте работу
Иногда считается, что организация процесса разработки лежит исключительно на менеджерах/тим-лидах. Во многих современных компаниях и гибких, стартаперских методах разработки, любой программист, во-первых, может повлиять на процесс и принятие решений, а, во-вторых, может неплохо выиграть от вовлечённости.
В основе всего — умение найти подход к людям, а именно эмпатия. Судя по личному опыту, относиться с принятием и пониманием к практически незнакому человеку из соседнего отдела тяжело — но стоит научиться. Как и вы, любой оценит уважительное и заинтересованное отношение, и ваши хорошие отношения станут основой для организации работы.
Учитесь планировать и оценивать разработку. Есть множество формальных и не очень методов - от проджект-менеджмента до scrum, — которыми стоит овладеть, если вы хотите увеличивать своё понимание происходящего и влияние.
Организовывайте процессы. В любой команде больше 2 людей будут определённые процессы, которые всегда работают неэффективно, а ещё требуют постоянной подстройки. Далеко не все менеджеры хотят и могут этим заниматься, поэтому если вы возьмёте часть на себя, многие из них будут рады.
Даже если вы не хотите становиться управленцем, полезно, как минимум, понимать все сложности, связанные с организацией работы. А если вы ещё и помогаете с планированием и решением проблем, то окажетесь не только в более информированной позиции, но и постепенно улучшите свою репутацию — ведь вас будут чаще видеть и слышать.
Понимайте бизнес
Программисты нужны бизнесу для решения бизнес-задач. Идеальный программист был бы совершенно незаметен, работал бы бесплатно и достигал результата моментально, не создавая новых проблем. К сожалению для бизнеса и к счастью для нас, чудес не бывает — и компаниям приходится «пасти» программистов.
Разумеется, с определённого уровня ответственности вам крайне важно понимать цели компании, чтобы принимать правильные решения и быть более информированным о будущем.
Также в любой компании больше нескольких человек будут проблемные места во взаимодействии между разными функциями-отделами или даже людьми. Как бы заметно это ни было, удивительно немного людей обращают на них внимание и решают. Это неплохая возможность для вас, если вы заинтересованы не только в программировании.
Сопереживайте пользователям
Отдельно упомяну пользователей продукта и клиентов компании. Все практики современного продакт-менеджмента я называю собирательно «сопереживанием» — знайте боли (проблемы) клиентов, подход компании к решению этих проблем, думайте о user experience и, более широко, о customer experience.
У вас не всегда будет на это время (и, будем честными, желание), но для построения карьеры нужно быть в том числе политически подкованным.
Владея информацией о бизнесе своей компании и опыте, который получают её клиенты, вам легче быть тем человеком, который предложит и протолкнёт более перспективное решение, а значит, взять на себя больше ответственности и принести больше пользы.
Будьте полезны сообществу
Я осознаю, что не всем нужна публичность. Но прежде чем отказываться от неё (меньшинство программистов активно ведёт публичную деятельность), подумайте и о плюсах.
Публичность (известность в узких кругах, а не популярность) приводит к вам новых людей — за помощью и советом, а иногда с предложением помощи или совета. Это очень приятно и помогает не заскучать — познакомиться с теми, кого вы никогда не узнали бы в других обстоятельствах.
Участвуйте в митапах и выступайте на конференциях.
Вписывайтесь в интересные некоммерческие проекты, участвуйте в хакатонах — чтобы попробовать новое и познакомиться с коллегами.
Ведите блог — это улучшит вашу репутацию, сделает более привлекательным кандидатом для найма и сведёт с множеством интересных людей.
Преподавайте.
Кроме всего прочего, именно обучение других — через блог, а ещё лучше, лично — это лучший способ кристаллизовать знания, которые у вас уже есть, обнаружить и заполнить пробелы.
Найдите своё место
В качестве заключения пожелаю вам обязательно найти своё место — будь оно в корпорации, стартапе или собственной компании. Место, на котором вам будет интересно в моменте, которое принесёт удовлетворение спустя годы и, разумеется, обеспечит вам достойную жизнь.
Это вполне возможно, если строить карьеру сознательно, а не прыгать с работы на работу в поисках более высокой зарплаты.
Карьера = предпринимательство
Любопытно, заметили ли вы, что карьера — как её описываю я — требует огромного вложения времени и сил. Подготовив слайды для выступления и проведя стрим, а сейчас сделав этот конспект, я понимаю, что карьера нужна только тем, кто иначе не может.
Более того, даже в построении карьеры нужно идти на риск: принимать сложные решения, делать ставки на определённые проекты и команды, иногда ошибаться. Очень похоже на предпринимательство, не правда ли?
В работе за деньги с 9 до 5, в принципе, нет ничего плохого. Вы можете жить нормальной стабильной жизнью (пока весь мир не полетел в тартарары), уделять много времени себе, семье, хобби. Но лично мне такой остроты ощущений недостаточно, и я постоянно пытаюсь менять жизнь к лучшему.
Если вы согласны с таким подходом, подписывайтесь на мой канал о программировании, карьере и предпринимательстве. Удачи!
Полезные ссылки
Бесплатный курс «Learning How to Learn» на Курсере.
Книга «Поток» — не обязательно покупать, но можно ознакомиться с основными мыслями.
Книга «Four Favorite Tools» от Кевина Келли. Не обязательно покупать, но любопытно посмотреть, чем пользуются другие.
Книга «War of Art» об организации творческого процесса, преодолении прогкрастинации, достижении целей. Хорошая, рекомендую.
Книга «Путь программиста» Джона Сонмеза (по-английски – Soft Skills). Достаточно водянистая, но я скоро опубликую её конспект у себя на канале — подписывайтесь.
Джоэль Спольски об оценке проектов: «Evidence Based Scheduling». Классная статья, рекомендации из которой я не взялся бы применять на практике ?