четверг, 11 февраля 2016 г.

10 заповедей Zen программиста

  1. Внимательность.

    Если вы работаете над решением задачи, делаете её хорошо,  на столько насколько вы можете. Не переключайтесь на другие вещи. Работайте только над чем то одним, в один момент времени. Вы не станете быстрее, если будете работать в многозадачном режиме. Если вы работаете над несколькими задачами, вы раньше устанете и сделаете больше ошибок и потратите больше времени на переключение между задачами. Это применимо к различным областям, не только к программированию.
    zen программист
    Кодо Саваки говорил: "Если вам нужен сон, спите". Не планируйте процесс разработки, когда вы пытаетесь уснуть. Если вы пишете код, пишите. Не отвлекайтесь - пишите код. Если вы устали на столько, что не можете программировать - спите.
  2. Держите разум чистым.

    Перед тем как вы приступите к работе, очистите голову от лишних мыслей. Оставьте в стороне посторонние мысли, что занимали вас. Если у вас проблемы, не позволяйте им влиять на вас. Часто, эти проблемы решаемы. Редко встречаются те, от которых тяжело на столько, что нельзя работать. Когда вы погружаетесь в работу, внешний мир отойдет на второй план. Перестаньте читать email рассылку.Там нет ничего важного - вы сможете это сделать позже. Выключите программы, которые наполняют мозг дерьмом: закройте twitter, facebook, почтовый клиент. Переведите телефон в беззвучный режим и перестаньте держать его в руках, пусть он лежит в кармане. Вы скажите, что это похоже с первым советом, отчасти, но они отличаются одним ограничением: “Не используйте устройства перед работой и во время обеда.” Они связывают вас с внешним миром и доставляют вам новые проблемы или информацию, которая требуют внимания.
    Держите разум в состоянии, похожем на то, когда вы только что проснулись. Если не получается, то спорт может в этом помочь (я бегаю на длительные дистанции). Если вы чувствуете себя бодрым и свежим, вы работаете лучше, вы можете работать на пределе. Закончить рабочий день с головой в которой полный беспорядок, сомнительное удовольствие. Twitter и Компания потребляют много энергии. Не тратьте на них время, может только минуту, не более.
  3. Мышление новичка.

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

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

    Если вы смотрите на жизненные цели в терминах "сегодня", то вы скорее всего проиграете в перспективе. Вы должны работать хорошо, ровно на столько на сколько вы можете, без оглядки на цель, которую вы сможете достичь в дальнейшем. Работать 20 лет  чтобы стать совладельцем компании? Почему вы не работаете прилагая максимум усилий просто ради удовольствия? Тяжелая работа тоже может приносить удовлетворение. “День без работы - день без еды” - гласит Zen поговорка.
    карьерные цели не главное, получайте удовольствие просто так
    Совсем не обязательно, что счастье наступит через 20 лет. Можно  стать счастливым сейчас, не будучи директором и не разъезжая на porshe. Ситуации меняются быстро. Вы заболеете, будете уволены, или, попросту, перегорите на работе (Если следовать приведенным советам, то вероятность этого крайне низка)
    Эти плохие вещи могут случиться, но вы можете работать с полной отдачей и получать от этого удовольствие.Тогда ни к чему оглядываться на карьерный рост коллег. Нет причин думать о новой клевой позиции, которую вы не занимаете. После этого, вы приобретете нечто особенное. Вы в итоге получите хорошие воспоминания, и, возможно, хорошую позицию и 20 прекрасных лет. Каждый день - хороший день.
    Если вы думаете о текущей работе в компании с неприязнью - вы должны непременно найти другую. Никогда не оставайтесь в компании, которая не приносит счастья в вашу жизнь. Конечно, это возможно только в благополучной стране, где люди могут легко уволиться и найти другое место. Если у вас есть такая возможность, сделайте это. Уходите без сожалений. Не стоит тратить время, возможно, завтра и не будет.
    Когда у вас нет карьерных целей, уходить намного легче.
  6. Молчите.

    Если вам нечего сказать, не тратьте время своих коллег. Это не делает вас малодушным. Когда вы работаете не отвлекайте своих коллег. Представьте себе, что кто-то вас докучает на рабочем месте разговорами. Иногда это невыносимо, будьте жесткими.
    Если вы не развили в себе гордыню, довольно просто, быть не многословным и тщательно обдумывать то, что скажите. Не стоит путать эго со опытом, и  постоянно держите в уме, что вы новичок. Если у кого то хорошая идея, поддержите эту идею.
  7. Внимательность. Забота. Осведомленность.

    Вы работаете, но в тоже время вы живете и дышите. Когда вам тяжело на работе, тогда стоит прислушиться к своему телу. Изучите те вещи, которые идут вам на благо и приносят пользу. К ним может относиться абсолютно все, включая такие простые, вроде еды. Заботьтесь о себе и о том, что окружает вас. Потому что вы живете только для себя. Вы родились в одиночестве, в одиночестве и умрете. С вами или без, но мир движется дальше.
    Избегайте ситуаций на работе, которые вам не нравятся. Избегайте работы за бесплатно, если она не приносит вам удовольствия или не мотивирует подыматься утром с кровати. Работать за бесплатно действительно можно? Да, присмотритесь к людям участвующим в Open Source проектах.
    zen программист
    Подумайте над этим, некоторые люди считают, что будут счастливы, если у них появляется свободное время на вечернюю игру в xbox или пиво. Иногда это так,  но совсем не обязательно, что на  всей жизни это будет приносить удовольствие. Если вы можете избегать ситуации, которые вам не нравятся, избегайте их. Но иногда вам требуется делать грязную работу. Например, копирование информации в базу данных. Это займет у вас целые дни, и это действительно неинтересно и скучно. Но порой, это вам необходимо. Нельзя постоянно менять работу, просто потому что иногда вам приходится выполнять рутинные задания. Zen монахи не уклоняются от своей обязанностей. Они просыпаются в 4 часа (иногда позже, иногда раньше, зависит от монастыря), медитируют и работают (работа для них, это еще один вид медитационной практики). Уборка в саду, готовка и пр. - не делает их несчастными. Они понимают, что каждая секунда их труда, это секунда их жизни. О чем это говорит? Перестаньте плакаться, если вам требуется заниматься рутиной. Просто сделай это. Не тратьте энергию зря, это все равно придется сделать. Просто, станьте лучшим в том что вы делаете.
    Если у вас случиться сердечный приступ, люди, возможно, скажут: "Да, он правда много работал, он даже за меня ночь проработал бесплатно". Никто не станет вести вас до другого мира. Последний шаг вы сделаете в одиночестве. Вы не изменете ничего в этом мире, даже судьбу. Так что берегите каждую секунду.  Если вы умрете - вы умрете. Но если вы живете - вы живете. Нет возможности тратить время.
         Забота - значимое слово для Zen буддизма (и я думаю для каждой формы буддизма). Я не раскрою смысл и значение, которое подразумевается под этим понятием, оно сложно для понимания. Вероятно, вы лучше поймете, слово "осознание". Вы должны осознавать, что вы делаете в каждую секунду своей жизни. Будьте внимательны к своей жизни. В любом случае, вы её потеряете. Но,в любом случае, вы должны делать то, что что вам нравится.
  8. У вас нет начальника.

    Да, есть кто то, кто вам платит. Этот кто то говорит вам, что требуется сделать. Он может уволить вас. Но это не причина, терять контроль над своей жизнью или не любить работу. Ваш руководитель не управляет вами. Он сделает вашу жизнь невыносимой только в том случае, если вы ему позволите это сделать. Вы всегда можете сказать нет, если то, что вы делаете вам не нравится или противоречит вашим убеждениям. Что же произойдет? В худшем случае вы потеряете работу. И что с этого? Если вы живете в западном мире и вы программист, вы легко найдете другую работу.
    Разумеется, не стоит отказываться от выполнения таких заданий вроде, скопировать данные из CSV в HTML файл. Я говорю о более важных вещах, например о 80 часовой рабочей недели или о работе, когда у вам нездоровится. Или если вы вынуждены увольнять сотрудников, просто потому, что им не нравится их начальник. Или если вы консультант и получили работу по созданию программного обеспечения для АЭС. В таких ситуациях вы можете сказать нет.
  9. Занимайтесь чем-то еще.

    Программист - это больше, чем программист. Вы должны еще заниматься в свободное время чем то, не связанным с компьютерами, например, парусный спорт, рыбалка, дайвинг. Медитируйте, займитесь боевыми искусствами или игрой на флейте. Не важно что делать, важно это делать с полной отдачей сил. Это похоже на работу. Относитесь к этому со полной серьезностью. Хобби - не просто увлечение. Это выражение вашего я. Не обманывайте себя, услышав от кого то, что хобби - не серьезное занятие. В это время, нужно приложить усилия, чтобы иметь какое-нибудь увлечение. Я записал пару CD и написал несколько книг (ни одна не опубликована, наверно, я должен больше практиковаться). Эти вещи составляют мое я,  они в конечном итоге и привели меня к Zen и этой заметке. Сейчас я практикуюсь игре на флейте. Это очень важная часть моей жизни.
    занимайтесь чем нибудь еще, например, спортом
  10. Нет ничего особенного.

    Цветок прекрасен. Но он лишь красивый цветок - ничего более. В этом нет ничего особенного. Вы человек, который пишет программы. Возможно, вы хороши. Но в вас нет ничего особенного. Вы такой же как и я, и миллиарды других людей на этой планете. Нам нужно ходить в туалет, нужно есть и, конечно, же спать. После продолжительного времени (я надеюсь), мы умрем и все, что мы создали будет потеряно. Даже пирамиды когда нибудь будут разрушены. Вы знаете имена людей построивших их? И так ли это важно знать? Нет. Это всего лишь пирамиды. Ничего особенного.
    Тоже самое и с программами. Банки зарабатывают деньги на них. Если вы уйдете. никто не запомнит вас. В этом нет ничего неправильного. Это просто движение времени. Не стоит огорчаться по этому поводу.
    Если ваша компания перестала существовать из за финансовых проблем, не беда. Жизнь продолжается. Вам  не так уж нужен новый xbox, автомобиль или что-то еще. Миллионы людей на этой планете живут в глубокой нищете. Они не переживают  что у них нет xbox, потому что они рады тому, что у них есть еда и вода.
    Так почему же вы особенные? Потому что вам повезло и вы родились в западной стране? Потому что вы пишите программы? Нет, ничего особенного в этом нет. Оставьте свое эго и живите свободно, радуясь красками этого мира, и улыбаясь цветам вокруг вас. Не огорчайтесь, что пришла зима, за ней обязательно придет весна. Это всего лишь цветы. Будьте готовы, что кто то будет недоволен вашей программой. И компания не настолько особенная, чтобы сильно беспокоиться об этой работе.


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