Приоритеты увлеченного разработчика

Перевод статьи Райана Вильямса «Priorities of a Passionate Developer».

Приоритеты увлеченного разработчика

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

Одна из самых важных причин, по которым я решил начать писать статьи, это стремление поделиться с людьми знаниями о тех ловушках, в которые я сам попадал. Так сказать, поставить предупреждающий знак, чтобы другие люди поостереглись. По этой же причине я провел часы/дни/недели своей жизни, отвечая на вопросы на форумах и сайтах вроде Stack Overflow, внося свой вклад в open source и пытаясь учить других разработчиков. Я всегда надеялся, что смогу передать окружающим свою любовь к созданию программ и в результате сделать всю сферу разработки немного лучше.

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

Семья

Семья это приоритет №1

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

Ужасное объявление
«Мне редко приходится видеть своих детей. Это риск, на который вам приходится идти».

Не будьте такими.

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

Проекты приходят и уходят, а жизнь (особенно общая жизнь с детьми) коротка, так что старайтесь проводить время с близкими.

Сон

Разработчик должен высыпаться

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

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

На то чтобы это осознать у меня ушло слишком много времени. Во время обучения в колледже я легко обходился 2-5 часами сна и думал, что так будет всегда. Сейчас мне 32, но я уверенно могу сказать: « Я слишком стар для этого дерьма». Если бы я сейчас попробовал провести хотя бы неделю в подобном режиме, то выглядел бы (и чувствовал бы себя) примерно так:

Как бы я выглядел без сна

Вашему мозгу, так же, как и вашим машинам, временами нужна перезагрузка.

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

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

Я: Как, черт побери, мне в этом разобраться? Я попробовал X и Y, поговорил с Джимом и Бобом, написал Джону Скиту – ничего не работает.

/засыпаю/

Мозг: Эй! Давай глянем на код!

Я: Серьезно? Прямо сейчас? Я размышлял над этой проблемой весь день, а теперь она мне еще и сниться будет?

Мозг: Да я просто стебусь над тобой. Но, серьезно, попробуй использовать метод k-ближайших соседей, я уверен, что это сработает.

Подобные вещи редко происходят за один-два часа сна, поэтому стоит все же хорошо высыпаться.

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

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

Мастерство

Нужно оттачивать свое мастерство

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

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

  • Open-Source. Я знаю, вы можете глянуть на это и сказать: «Райан, у меня нет времени на open source проект». Это ничего. Open source экосистема настолько широка, что можно получать пользу от нее, даже не участвуя. На таких сайтах как GitHub есть бесчисленное количество потрясающих проектов. Можно просто открывать их и читать код. Я знаю, это может казаться не очень полезным, но чтение кода поможет вам лучше писать его.
  • Подкасты. Если вы тратите какое-то время на то чтобы добраться до работы и домой, подкасты для вас – самое то. Есть просто невероятные подкасты, созданные специально для разработчиков, например, Coding Blocks. Практически для каждой ниши в мире разработки найдется свой подкаст, а также некоторое количество более общих, с фокусом на разработку в целом.
  • Онлайн видео. Есть множество выложенных онлайн видео, как платных, так и бесплатных. Такие сайты как Pluralsight дают вам возможность научиться у экспертов мирового класса всему, что касается практически любой из основных технологий. Также прекрасным местом для поиска нужного контента является YouTube.

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

И так далее

У каждого, конечно, свои приоритеты. То, что важно для меня, может быть не важно для вас в данный момент (а может не стать важным никогда). Если бы меня попросили назвать три самые важные вещи год, пять или десять лет назад, все три варианта были бы совершенно разными, и это совершенно нормально!

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


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

1 комментарий к “Приоритеты увлеченного разработчика”

  1. Это скорее приоритеты не увлеченно разработчика, а разработчика по нужде. У разраба по призванию нету ни семьи ни сна) а у автора это в приоритетах стоит важнее кода

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх