Эта статья — для разработчиков и программистов, которые уже давно в отрасли и хотят сделать прорыв в карьере (или, может быть, только пришли в неё и хотят знать, что им поможет в пути). В своём блоге senior-программист Андрей Ниагойе поделился несколькими советами и идеями для тех, кто хочет стать настоящим профессионалом своего дела. Перевод опубликовал сайт DEV.BY.
Здесь собраны не единственно верные правила, а скорее закономерности, наиболее частые свойства, которые отличают опытных и уважаемых программистов. Эти советы — эффективные и полезные инструменты, которые помогут вам оптимально расходовать своё время и получить максимум от жизни. Их также можно применять и в других сферах деятельности.
Чего мы хотим?
Все мы хотим стать лучшими в своём деле. И хотя каждый человек вкладывает свой смысл в эти слова, вот с чем согласятся все:
- мы не хотим, чтобы нас считали «некомпетентными»;
- мы хотим, чтобы нас уважали коллеги;
- мы хотим чувствовать себя умными и образованными;
- мы хотим, чтобы нас ценили.
Но всё это нужно заслужить. Технологии бурно развиваются, огромный объём доступной информации постоянно увеличивается, а колледжи и курсы выпускают всё новых разработчиков. Специалист постоянно оттачивает своё мастерство, находит эффективные способы обучения, и делает это так, чтобы при этом не перегореть.
Кто такой сеньор?
http://gph.is/294SopV
Это не тот, кто знает 10 разных языков или разработал свой искусственный интеллект (хотя для этого нужен большой талант). Сеньор — это тот, кто создаёт дополнительную ценность компании и повышает её эффективность. Тот, кто помогает окружающим и способен видеть далеко вперёд. Вы можете владеть самыми продвинутыми технологиями программирования в мире, но если вы не умеете общаться с командой или не понимаете потребности клиента, то не можете стать сеньором. Это не просто тайтл, а способность с помощью навыков приносить весомый результат компании и команде.
И как им стать?
http://gph.is/2aNsmHl
Если вы будете работать над следующими пунктами, то продвинетесь намного дальше остальных. Всегда будут люди, опытнее вас в какой-то сфере, но вы можете работать эффективнее, развить свой уникальный набор качеств, который будет отличать вас от других. Это не только сделает вас лучше как разработчика, но и счастливее, потому что вы будете действительно полезным людям.
Люди часто выбирают какую-то одну область и в ней совершенствуются. Но в жизни всё не так. Очень редко вы сможете обойтись одним-единственным навыком. Особенно в ИТ, где всё постоянно меняется, нужно обладать несколькими умениями, которые можно далее развивать и которые сделают вас более гибким.
Вот шесть ключевых навыков, которыми должен обладать сеньор.
1. Технические навыки
http://gph.is/1dBTYkK
Именно они приходят на ум большинству в первую очередь. Бесспорно, это очень важные навыки, но к ним нужно подходить вдумчиво.
Старших разработчиков отличает то, что они стремятся разобраться в причинах вещей. Что привело к этой проблеме? Для чего нужен этот фреймфорк? Какую проблему решает эта библиотека? Разработчику нужно чётко ориентироваться во всех идеях и инструментах, которые могут пригодиться в разработке, и выбирать те, которые самым оптимальным образом решат конкретную проблему компании. Они задумываются о том, что можно улучшить в процессе непрерывного развёртывания, чтобы сам продукт стал лучше.
Они также стараются разобраться во взаимосвязях между вещами. Очень полезно, например, составлять ассоциативные карты. Этот инструмент просто перевернёт ваше обучение. Ассоциативные карты помогают мозгу устанавливать взаимосвязи между идеями и технологиями. Так вы сможете грамотно распределять ресурсы компании, ведь у вас будет широкое видение ситуации.
Если вы только закончили курсы или у вас нет высшего образования по информационным технологиям, вам нужно начать с изучения структур данных, алгоритмов и других компьютерных тем. Потому что, в отличие от фреймворов и технологий, общие принципы информатики (в основном) остаются неизменными. Понимание более общих тем позволит вам понять, что большинство проблем с ПО и способов их решений универсальны для любых языков и отрезков времени.
2. Командные навыки
http://gph.is/2jcbOAI
Этот навык часто упускают из виду. Как вы общаетесь с коллегами? Вы резкий и упрямый, и постоянно создаёте напряжённую атмосферу? Или доброжелательный, готовый прийти на помощь и поддержать команду? У сеньоров не зашкаливает ЧСВ. Они и так знают, насколько круты, и им не нужно доказывать это ни себе, ни другим. Их код — предельно прост и чист, они не пытаются выставлять свои умения перед командой. Они готовы помочь другим и не боятся задавать вопросы, если что-то не знают.
Они знакомы с понятием «эмоциональный интеллект». Социальная психология очень поможет улучшить этот навык, например, всем знакомая книга Дейла Карнеги «Как завоёвывать друзей и оказывать влияние на людей».
Окружающие должны чувствовать себя лучше после общения с вами. Если в вашей команде пять человек, то 1+1+1+1+1 в сумме дадут гораздо больше, чем пять, потому что вы сможете поднять их продуктивность.
Если вы такой человек, который на любом проекте и в любой команде хорошо ладит с коллегами и сплачивает людей вокруг себя, то вы уже дали сто очков вперёд большинству конкурентов. А ещё вы облегчаете жизнь менеджеров, директоров и СТО — людей, которые играют центральную роль в компании.
3. Навыки общения с клиентами и пользователями
http://gph.is/2b3IRle
Вы способны слушать клиентов и ясно понимать их проблемы и потребности? Сеньор умеет выслушать и посоветовать наилучшее решение. Он умеет выстраивать взаимоотношения. Он не уступает во всём, но и не навязывает свою точку зрения. Он понимает, что выгоду от сотрудничества стремятся получить обе стороны. Почитайте, например, «Психологию влияния» Роберта Чалдини.
Помимо этого, вы должны уметь объяснить сложные понятия из разработки «не-технарям». Посмотрите, каким простым языком объясняют сложные темы авторы вот этого и этого видео.
4. Навыки профессионального роста
http://gph.is/H3uBHV
Сеньоры каждый день учатся чему-то новому. Это не значит, что они 14 часов в день читают статьи за компьютером. Но они всегда стремятся общаться с другими разработчиками, задают вопросы, изучают новые темы. Они не ограничиваются одним навыком. Возможно, что-то одно вы делаете лучше всех в мире, но если вы не знакомы с областью в общем или не имеете цельного представления о проблеме, которую решаете, то вы не лучший.
Они нацелены на профессиональный рост и постоянно практикуются. Понимая, что всё выучить невозможно, они фокусируются на самом полезном и интересном. Они достаточно терпеливы, чтобы досконально разобраться в теме, и готовы изменять свою точку зрения на вещи, потому что любят учиться у других.
5. Навыки продаж и прохождения собеседований
http://gph.is/1mami1c
Сеньоры получают свои должности, потому что обладают коммуникативными навыками и умеют «продать» себя людям, принимающим решения. Они понимают проблему работодателя, и умеют убедить его, что именно они смогут решить её. Они скромны, но достаточно уверены в себе, чтобы занять эту должность и работать под напряжением. Они также знают, что если не попытаются заполучить то, что им нужно, то никогда этого не получат. Поэтому, они не боятся просить повышение или должности, на которых им будет непросто, но которые им подходят. Хотя многие пренебрежительно относятся к продажам и переговорам, это ценный и необходимый навык. Начать можно с вот этой статьи. Здесь речь идёт о том, как добиться повышения зарплаты, но общие принципы применимы и к другим сферам.
6. Навыки работы с сообществом
http://gph.is/1I4UKnw
Сеньоры участвуют в жизни своего сообщества и делятся опытом с коллегами. Выступают на лекциях и встречах, участвуют в open source-проектах, пишут статьи. Они не замыкаются в своём рабочем пространстве, но также общаются с людьми из других сообществ и расширяют кругозор.
И последнее
Если вы будете работать над этими шестью навыками, то сразу окажетесь на ступень выше остальных. Но важно помнить кое-что ещё: вы должны получать удовольствие от того, что делаете. Если вам не нравится ежедневно учиться, вы никогда не станете старшим разработчиком, потому что вам не хватит энтузиазма постоянно самосовершенствоваться. Если вы читали книгу «Хватит мечтать, займись делом!», то знаете, страсть к работе сильно переоценивают.
Настоящая увлечённость появляется после того, как вы досконально изучили определённый навык, усердно работали, чтобы овладеть им и стали лучшим в нём. Вы приобрели этот навык, и теперь уважение других и польза, которую вы им приносите, подталкивают вас к тому, чтобы становиться всё лучше и лучше, чтобы постоянно чувствовать уважение и полезность. Так у людей появляется страсть к тому, чем они занимаются.
Вывод
Если вы научились программировать и хотите продвинуться в карьере, вам нужно кое о чём задуматься. Что отличает вас от других? Как вы собираетесь расти? Как вы можете помочь людям решить их проблемы? Сеньором стать непросто: для этого нужно напрягать голову и выходить из зоны комфорта. Нужно изо дня в день учиться, шаг за шагом, но оглянувшись, вы увидите, какой проделали путь. Никогда не переставайте читать и учиться, но что именно изучать выбирайте с умом.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]