5 столпов успешной карьеры в сфере разработки программ

0
1321
views

Перевод статьи «The Five Pillars of a Successful Career in Software».

Составляющие успешной карьеры разработчика

Все мы знаем, что для того, чтобы стать по-настоящему компетентным разработчиком и добиться карьерного роста, нужно нечто большее, чем просто умение писать код. Часто говорят, что для этого нужно быть «хорошим коммуникатором». Это, безусловно, важно, но я считаю, что умение писать код и коммуницировать это лишь два из нескольких навыков, необходимых для эффективной работы и хорошей карьеры (возможно, даже с хорошей зарплатой).

В этой статье я представил список из пяти типов навыков, которые, как мне кажется, могут способствовать успешной карьере в сфере разработки. Если у вас есть, что добавить, — добро пожаловать в комментарии! Это, определенно, подходящая тема для дискуссий!

Навыки эффективного кодинга

Умение писать код это первый, базовый элемент разработки ПО. Казалось бы, зачем упоминать такой очевидный факт… Но на практике многие люди чересчур увлекаются остальными компонентами ремесла разработчика и выпускают из виду основы.

Навыки написания кода можно оттачивать путем практики, чтения постов в блогах и даже просто путем зависания на сайтах, подобных этому. Погружение в среду важно для освоения нюансов хорошего кодинга.

Людям, желающим приобрести навыки эффективного кодинга, особенно начинающим программистам, важно не гнаться за новыми модными течениями, прежде чем у них не появится возможность отработать на практике базовые концепции разработки ПО.

К сожалению, просто перечислить, что считается базовыми концепциями, практически невозможно, здесь у каждого свой путь. Но если вы даже просто постараетесь не хвататься за все новое и блестящее, это уже будет хорошим способом выработки правильных навыков.

Навыки командной работы и коммуникации

Это вторая по важности вещь в разработке ПО. Вы должны уметь следовать инструкциям и направлять других людей, когда это уместно, а также обладать хорошими коммуникативными навыками в целом.

Мнение, что у разработчиков по определению все очень плохо с навыками общения, является ложным. Возможно, наша индустрия притягивает большое число интровертов (но ведь и экстравертов она тоже притягивает, и многих из промежуточных областей этой шкалы), однако навыки коммуникации выходят далеко за пределы личных склонностей человека.

По своему опыту могу судить, что самыми лучшими коммуникаторами оказываются ребята, которые признают коммуникацию важным аспектом своей работы, а худшими, соответственно, те, которые не признают.

Речь идет не о способностях к коммуникации, а о приверженности к этой идее вообще. Если вы думаете, что коммуникация не имеет значения или, по крайней мере, не имеет значения в вашей работе, — вы, скорее всего, станете плохим коммуникатором. Я считаю, что причинно-следственная связь здесь именно такая.

Хорошие коммуникаторы это люди, верящие, что они способны стать хорошими коммуникаторами.

Знание экосистемы

Если вы достаточно давно интересуетесь разработкой, вы наверняка читали большое количество постов о функционале GitHub, о расширениях VS Code, об использовании VIM, об AWS-сервисах и т. п.

Изучение экосистемы - залог успешной карьеры

Для успешной карьеры в сфере разработки вы должны быть достаточно вовлечены в нее, чтобы понимать, какие новинки выходят и как они могут изменить ваш взгляд на ваш код. Но при этом погружаться во все это нужно не настолько, чтобы новости начали отвлекать вас от работы. Грань, отделяющая одно состояние от другого, довольно тонкая, так что нужно следить за балансом.

Держите ушки на макушке и следите за интересными течениями в экосистеме (как в open source, так и в коммерческом ПО), но старайтесь, чтобы это не отнимало у вас слишком много энергии и не переросло в гонку за блестящими новинками.

Личная продуктивность

Даже самый знающий программист может быть непродуктивным. Иногда личная продуктивность это вопрос жизненных обстоятельств и отвлекающих факторов. В других случаях она может быть связана с психическими расстройствами или физическим недомоганием. А порой продуктивность могут существенно повысить специальные инструменты и приемы.

Личные привычки продуктивности нужно постоянно обновлять. Изучение новых тем часто приводит и к изучению новых приемов для повышения продуктивности, особенно если вы изучаете различные части экосистемы.

Читая материалы на тему продуктивности, вы не обязательно откроете для себя что-то новое. Но такие статьи часто могут напомнить вам о разных приемах, которыми вы и так пользуетесь в какой-то мере.

Приемы и техники, предназначенные для повышения продуктивности, не должны слиться в привычную монолитную систему. Анализируйте их эффективность и изучайте новые.

И не забывайте периодически делать перерывы и общаться с людьми не из сферы технологий.

Управление карьерой

Управление карьерой состоит в умении коммуницировать с менеджерами, а также в умении складывать себе цену и при необходимости находить новых менеджеров.

При прочих равных обстоятельствах я верю в возможность построения успешной карьеры без частой смены компаний. Но если понимаете, что такой путь пойдет вам во вред (а это часто бывает) — смело выбирайте другой. Важно не забывать, что вы всегда можете ухватиться за подвернувшуюся возможность и сменить компанию.

Есть много советов о том, как увольняться с работы и как искать новую, так что здесь я хочу сосредоточиться на эффективном управлении карьерой в рамках одной компании. Думаю, в таком случае эффективность напрямую зависит от умения:

  • проактивно устанавливать границы,
  • не позволять важным вещам оставаться невысказанными,
  • на постоянной основе правильно устанавливать планку ожиданий.