Главная   →   Блог   →   5 привычек высокоэффективных программистов

5 привычек высокоэффективных программистов

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

К примеру, Марк Цукерберг имеет привычку носить одинаковую одежду на работу каждый день. По его мнению, это помогает ему сэкономить не только время, но и энергию, которая тратиться на принятие решения. Этого же принципа придерживался Стив Джобс. Билл Гейтс каждый вечер моет посуду, считая, что этот процесс снижает стресс, а также помогает в развитии креативного мышления. 

Работа программиста ответственная и требует много внимания и усидчивости. Чтобы действительно каждый день быть эффективным нужно учиться работать не только с кодом, но также работать над самодисциплиной и не забывать о soft skills. 

В этой статье мы расскажем  о 5 привычках, которые смогут сделать вашу работу более плодотворной. 

1. Будьте инициативными

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

Для этого достаточно начать с малого:

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

2. Put first things first (обо всем по порядку)

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

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

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

Чтобы упростить немного свой рабочий день, разгрузить голову и все успеть, можно воспользоваться следующим списком приоритетности:

  1. Важно и срочно
  2. Важно и не срочно
  3. Не важно и срочно
  4. Не важно и не срочно

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

Чтобы быть эффективным программистом, научитесь максимально и с пользой использовать свое время. Помните про правило “съесть лягушку”?

3. Думайте о конечном результате

У эффективных программистов есть четкие и, как правило, амбициозные цели. Например, Билл Гейтс и его напарник Пол Аллен поставили цель установить в каждом доме компьютер. С помощью Facebook Марк Цукерберг хотел сделать общение во всем мире более доступным.

Представьте и вы свое будущее и то, чего вы хотите добиться больше всего в вашей профессиональной карьере. 
Устанавливайте годовые цели, которые действительно вдохновляют вас на работу по отношению к ним. Сделайте их измеримыми и разбивайте на квартальные, месячные и еженедельные. Ежедневно делайте обзоры о том, где вы сейчас находитесь и куда вы двигаетесь, чтобы достичь желаемого результата. Определите, что работает, и что нужно улучшить. И главное - быть честным с самим собой. 

4. Ориентированность на детали

Разработка программного обеспечения - это работа над деталями. Возможно, через сотни лет процесс разработки ПО не будет требовать большого вовлечения человека, но пока этого не произошло, программист должен быть скрупулезным и продумывать все до мелочей . 
Как пример, выберите фичу любого ПО и подумайте о работе целиком, которая должна быть проделана, чтобы что-то изменить. Скорее всего, вы бы составили список из десятка задач: изменить пользовательский интерфейс (включая графику, текст, локализацию и.т.д.), юнит-тесты, алгоритмы, взаимодействие со связанными компонентами, при этом каждый шаг разбили бы на подэтапы. 
Умение фокусироваться на деталях не означает умение отслеживать каждую деталь. Это означает, что вы мысленно развиваете модель, которая помогает с ними справляться. Например, при работе над изменением части ПО работа над деталями заключается в следующем:

1. Точно понимать, как работает код;
2. Искать все зависимости и взаимодействия с этим кодом;
3. Мысленно иметь продуманную картину, как все друг с другом сочетается;
4. Изучить последствия изменения фичи;
5. Если необходимо, обновить связанный код;
6. Обновить вспомогательные элементы, которые могут зависеть от кода;
7. Протестировать и повторить.

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

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

5. Достижение синергии

Несомненно, крупные проекты всегда реализовываются людьми, которые работают в команде. 
Возьмем, к примеру, Гейтса и Аллена (второй, кстати, придумал название Microsoft). Или Илон Маск, который создал свою первую компанию Zip2 в паре со своим родным братом Кимбалом. Amazon и Microsoft -  примеры тех компаний, которые насчитывают более 100,000 сотрудников. Google в 2016 году даже провел исследование по построению идеальной команды, исходя из которого, наиболее продуктивные команды - те, в которых культура способствовала синергии и психологической безопасности. 
 
Так что же такое синергия? Американский преподаватель и консультант по организационному управлению Стивен Кови в своей книге “7 навыков высокоэффективных людей” считает, что основной принцип такого сотрудничества заключается в том, что все люди разные и когда они формируются в команду, то именно различия и индивидуальность каждого представляют самую большую ценность. Таким образом, ваша команда может стать более эффективной, используя сильные качества каждого участника. Если вы хотите достичь большего в своей работе, постарайтесь помочь вашей команде стать более синергичной. Этого можно достичь, если ценить свободу каждого работника и помогать им чувствовать себя комфортно, давать высказывать свою точку зрения, позволяя каждому участнику команды вносить свой вклад. 

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

comments powered by Disqus
ЧИТАЙТЕ ТАКЖЕ...
Efffb42dec7f91f00c307c36c5352eca5d520651 Мобильные решения в ресторанном бизнесе.
В данной статье мы раскроем вопрос интеграции мобильных технологий в ресторанный бизнес таких как разработка мобильных приложений, создание сайтов с адаптивным дизайном.
82e76960dbefd3374fa71bf3573f7f1e00e4520a Мобильные приложения в маркетинге
В современном ритме жизни все больше пользователей подключаются к сети через телефоны, поэтому актуальным становится мобильный маркетинг, о котором сегодня и пойдет речь в нашей статье.
4686970b5224c57bd52b74073125eeecb625fafc Разработка мобильных приложений для страховых компаний
Современное и понятное мобильное страхование позволяет пользователю использовать сервисы страхования онлайн, а также получать информацию об услугах, акциях и скидках компании.
94232d84b271bb862de60ece86f537d4e9501ed5 Мобильные приложения для тайм менеджмента
Существует много программ для планирования, например, мобильный органайзер или мобильный планировщик. И для эффективного управления временем компания Agilie разработала для вас мобильный планировщик Scrij.