Weber Автор  сен 27, 2016

Привычки хорошего программиста

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

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

Программируй ежедневно!

Когда я начинал самостоятельно изучать свой первый язык программирования (Python), я сразу перешел к коду. Еще во время прочтения первой книги я занялся интересной для себя задачей – написал программу симулятор пианино, чтобы не вытаскивать каждый день из тяжелого чемодана огромный аккордеон. Родители отдали в школу с 3-х лет на класс аккордеона. Я любил подбирать на слух мелодии и записывать в программу Guitar Pro уже когда учился игре на гитаре. На слух без инструмента ноты я подбирать ноты не умею, а чтобы не вытаскивать тяжелый инструмент, запрограммировал симулятор Pyano на игровом двигателе PyGame, который позволял быстро, используя клавиатуру, подбирать нужную мелодию.

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

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

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

Если вы только начиаете, тогда данная привычка програмировать каждый день вам просто жизненно необходима. 1-2 часа в день программирования и через несколько месяцев вы заметите значительный прогресс.

Собственные проекты, забитый кодом профиль на github.com очень классно помогает находить интересные проекты, команды и компании. Довольно часто github.com проекты, так же как и профиль на linkedin.com, мониторят сами работодатели, которые могут обратить на вас внимание. Особенно, если ваш проект стал популярным.

Не переставай изучать новое

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

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

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

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

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

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

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

И что самое главное, информацию, которую хорошие программисты изучают, они не просто пропускают через уши, а пробуют по максимуму использовать. Что ведет нас к следующему пункту:

Проактивность лучше, чем активность

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

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

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

Второй аспекты проактивности – это брать на себя дополнительную ответственность. Нужно помочь над сложной задачей? – Я. Нужно срочно закрыть проблему во время нерабочего времени? – Я. Нужно разрулить скучную рутинную проблему? – Я.

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

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

Следи за своим временем

На моей бывшей работе у меня был коллега, который ежедневно задерживался на рабочем месте. Бывало даже до 10-11 часов вечера. С первого взгляда он должен был бы быть любимцем менеджера, ведь проводит больше всего времени работая над проектом. Но, обычно, менеджер проекта чуть ли не выгонял его домой и просил не задерживаться...

То, что я сегодня поработаю не 8, а 16 часов вовсе не означает, что я сделаю вдвое больше. Скорее всего я даже сделаю меньше. Управление временем является очень важным делом для хорошего кодера.

Большинство классных программистов не только быстро пишут качественный код, но и эффективно управляют собственным временем. Что это означает? Как минимум три вещи:

Планировка своего дня

Или вечером накануне, или утром планируйте свой рабочий день. Какие задачи и в какой последовательности будете выполнять. Разработайте для себя эффективный график, который будет работать для вас. Для меня утро – это период наиболее эффективен. А когда-то были вечера и ночи. Поэкспериментируйте и выберите для себя, что для вас работает. Лучше всего, когда данный график будет сохраняться каждый день. Это поможет не пропускать важные вещи в ежедневной суете второстепенных дел.

Ограничивайте себя во времени

Сколько выделить времени на работу, столько времени работа и заберет. Поэтому, стоит на каждое задание отводить фиксированный промежуток времени, так вы будете знать, какой объем работы сможете выполнять и какой срок может занять определенный проект.

Делайте отдых

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

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

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

Если из данного списка вам чего-то не хватает на данный момент, тогда соберитесь, адаптируйтесь, ищите свои подходы и сделайте очередной скачок в своей IT карьере! Программистов много, хороших программистов гораздо меньше.

Добавить комментарий


Защитный код
Обновить

Top