Как понять программиста

Written by crioto on January 15, 2012 Categories: Мысли Tags: ,

Руководство для жен, родственников, коллег, начальников.

Кто такой программист? Я пишу именно о программистах – все, что написано ниже не может быть полностью применимо к системным администраторам, дизайнерам или другим компьютерным специальностям. Итак, программист это тот, кто пишет программный код и создает программы, или же тот, кто заставляет всякие железки выполнять какие-то действия. Я отношусь скорее к первым – я создаю программы. Таких как я называют “кодерами” – от слова “код”.

Итак, начнем.

I. Почему программист не отвечает/не понимает.

Программирование – это достаточно творческая работа и весь труд выливается в большие умственные затраты. Программисту необходимо держать в своей голове огромное количество информации. Он как бы ведет цепочку ситуаций написанных программным кодом. Часто эти цепочки действий не имеют прямой последовательности. Это тоже самое, что считать до ста: 1,5,8,10,25,34,67,89,100 – надо помнить, какие цифры ты уже посчитал, какие еще надо добавить и в какой последовательности. Иными словами, программист не пишет сплошной текст, а взаимодействует с разными кусками огромной программы. Все это программист держит в голове.
И тут кто-то пытается привлечь его внимание. Если программист отрывает голову от монитора, отключается от мира своей программы и попадает в окружающий его реальный мир – цепочка ломается. По возвращению программисту предстоит тяжелая задача – вспомнить на чем остановилась его мысль, восстановить цепочку задач. Это на самом деле очень тяжело, ведь зачастую человек считающий цифры “сто тридцать пять, сот тридцать шесть…ой, сбился” начинает считать все сначала. Иногда и программисту приходиться возвращаться назад и пытаться восстановить свою логику, ту логику, которую он придумал реализовать и находился в процессе.
Это объясняет то, что программист может быть очень раздражен когда его отрывают. Лично меня “отрывание” от дела раздражает на максимум.
Я бы советовал тем, кто хочет обратиться к программисту найти более другие способы это сделать. И моей рекомендацией является электронный способ: email или чат, потому что программист займется проверкой почты или ответит в чате как только будет готов к этому, как только закончит свою текущую задачу.
Знаете как бывает у меня? Иногда я могу отвечать своей супруге просто “да, да, да”. Иногда я продолжаю ей отвечать даже после того, как она перестала задавать вопросы и я отвечаю да, поскольку вероятнее всего именно этот ответ скорее удовлетворит её вопросы. Моя жена часто психует по этому поводу.

II. Программист – это не универсальный компьютерщик.

На втором месте в списке раздражающих меня вещей – это “Помоги пожалуйста – установи мне программу”. Вместо “установи программу” может быть “пропал интернет”, “завис компьютер” и самое глупое – “вылезло какое-то окошко – нажимать ОК?”. В первой части подробно описано почему не стоит обращаться к программисту с этими вопросами во время его усердной работы. В этой части я пытаюсь рассказать почему с этим вопросом нельзя обращаться к программисту вообще.
Все очень просто – программист это тот, кто создает программы. Мы никогда не обращаемся к невропотологу, чтобы он полечил нам зуб, хотя и стоматолог и невропатлог – врачи (в нашей стране). Поэтому никогда не надо обращаться к программисту по делам не касающихся программирования. Да, программирование связано с компьютерами, но это не системное администрирование, не компьютерный дизайн и т.д.
Все эти обращения к программисту за помощью частенько отвлекают его более, чем на пять минут. Иногда вещи как “Переустанови мне Windows” могут занять час или даже два. Вы готовы отвлекать себя от своей работы на час или два? Вы вообще сами часто выполняете не Вашу работу? Думаю нет.
Также не советую к программисту обращаться с запросами вроде “Помоги выбрать мне компьютер”. Часто это дополняется словами “подешевле” и “очень мощный”.

III. У программиста хобби – это программирование.

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

IV. Программист делает свою работу (начальникам)

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

V. Женам и девушкам

Плохие новости – Вам придется смириться с тем, что Вы не одна у него такая любимая. Вам придется делить свою семейную жизнь на троих: он, она и компьютер. Если вам в какой-то момент надоест и вы поставите условие: Выбирай – я или компьютер, то будьте готовы к тому, чтобы собирать чемоданы. Конечно, я надеюсь до такого не дойдет, и все это преукрашено, но поверьте, подобные ультиматумы не приведут ни к чему хорошему.
Лучше создать для программиста хорошие условия: протирайте ему мониторчик, кормите хорошо и не отвлекайте от работы. Все это компенсируется тем, что хороший программист хорошо зарабатывает, почти нулевая вероятность, что он полюбит другую и бросит семью, а также…можно хитро задавать ему вопросы во время работы, когда он увлечен: Дорогой, можно я куплю себе шубу? Если программист погружен в свой код, то он скорее всего ответит “да”. Пользуйтесь на здоровье! =)

VI. Почему программисты работают по ночам?

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

В итоге

Это далеко не все, о чем я хотел рассказать и я обязательно дополню этот текст.

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

7 Comments

7 Comments

  • says:

    Заметила свои ошибки тоже, думаю этот пост можно использовать, как руководство )

    Буду иногда заглядывать

    • crioto says:

      Ну я это писал в принципе с целью, чтобы меня поняли окружающие люди. Спасибо =)

  • Chinara says:

    Как жена программиста не соглашусь с некоторыми пунктами, а в целом, да, программисты – народ особенный, тем он и прекрасен )))
    А вот зарабатывание денег – это же не главный критерий для женщин ((( И вот это “можно хитро задавать ему вопросы во время работы, когда он увлечен: Дорогой, можно я куплю себе шубу? Если программист погружен в свой код, то он скорее всего ответит “да”. Пользуйтесь на здоровье! =)” неправильно это как-то, ну по крайней мере мы в своей семье это не приемлем, не этично это что ли…

    • crioto says:

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

      • Chinara says:

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

  • Chinara says:

    А вот на счет установить программу, “посмотри что-то не работает” – это 100%, легче самой научиться, чем его и свои нервы тратить )))

Leave a Reply to Chinara Cancel reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>