За что я люблю программирование?

Люди часто спрашивают “Что такого интересного в программировании?”
Очевидно же, что писать код, что-то считать и сидеть 8 часов в день за компом - это скучно.
Так ли это? За что я люблю свою работу?
Приведу просто один пример.


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


На следующий день ты чувствуешь неладное уже сразу утром, открыв почтовый клиент и увидев пару десятков новых писем. Теперь продукт сломан гораздо серьезнее и, фактически, не работает.
Что делать? Откатывать изменение? Но оно правильное!
И помните, что мы - перфекционисты и не боимся проблем, так что плюём на всё и начинаем исправлять новый баг.
Новый баг из разряда “оргазмических” - таких, от простого понимания которых случается оргазм. Что-нибудь типа перекрестного залочивания, в котором участвует 3 процесса, десяток потоков и несколько критических секций. День-два уходит на его изучение, потом минут 20 оргазмирования и потом 3 минуты на исправление. Всё, done и commit.


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


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


Ответил ли я на вопрос “за что я люблю программирование”?
Это просто - именно за эти нечастые моменты “оргазмирования” от осознания чего-то, что ты раньше не понимал. Жаль только, что это ощущение не описать тому, кто его никогда не испытывал (как и обычный оргазм, не правда ли).


Понравилась статья? Подпишись на RSS!

20 комментариев к За что я люблю программирование?

  • Да, именно в точку… Без таких моментов скучно жить

  • Да, оргазмы это круто! :)
    Именно поэтому бывает не легко оторваться от процесса!

  • Alexander Kupriyanov

    Люди часто спрашивают “Что такого интересного в программировании?”

    Забавная, по Фрейду, оговорка - поскольку программеры такое не спросят, в формуле вопроса противопоставлены люди и программисты (нелюди? сверхчеловеки?) :) ;)

    • В тексте противопоставлены “программисты” и “не программисты”, а не “программисты” и “люди”. :) Есть всё же большая разница в формулировке.

  • bader

    @Alexander Kupriyanov
    Судя по 2 смайлам в конце, вы получили оргазм от нахождения баги в тексте. :-)

  • Я так программирование люблю именно за процесс разработки приложений с нуля.

  • Согласен на все сто :-) От себя добавлю что удовольствие вызывает не только поправленные баги но и просто хорошо написанный код, которым потом даже гордиться хочется. Правда такое редко происходит ;-)

  • QuAlexander

    2bader
    Июнь 21st, 2009 в 10:42 · Ответить
    @Alexander Kupriyanov
    Судя по 2 смайлам в конце, вы получили оргазм от нахождения баги в тексте”
    Ощущение гораздо более слабое - да и веселье на грустном фоне - ничтожности культурных отличий описанного программерского образа от е..ря-перехватчика или, скажем, питекантропа Ааауых.

    Чукча попробовал в столицах мороженое и, пытаясь описать провинциалу-непобывавшему сладость оного яства, не найдя нужных образов в мясорыбном меню, говорит: “сладко как е..ться” (анекдот).

    Читайте “Песнь песней” - три тыщи тому, а какие образы(((

  • Нужно пожалуй различать промышленное программирование и например работу в open source проектах или там программирование для удовольствия. Как вы относитесь к ситуациям, когда кто-то вносит изменения в общие куски кода и при этом ломается ваш код или например когда у вас идеальный дизайн, а абстрактные индусы, которым зааутсорсили разработку какой-то библиотеки написали ее так, что без слез глянуть нельзя или там общая архитектура ужастна или там ужастен дизайн UI, а переделать нельзя ибо утверждено наверху ?

    • Я перепишу эту библиотеку :)
      Серьёзно, я не шучу. Если что-то очень плохо и вы не можете без слез на это смотреть - перепишите.

    • SS

      Замочить гадов :)
      Либо переделать либо терпеть… и жалеть о испорченном…
      …либо замыслить небольшой бунт… :) смотришь и сначала думаешь как можно исправить и этим себе тешишь а при наличии возможностей и желания, хрясь и переделал по правильному и красивому :)
      Но я думаю это скорее психологическая проблемма, как с кодом написанным в “плохом” (может просто не в твоем ни чем не хуже, кроме момента что он тебя напрягает и не нравится) стиле. Т.е. код работает, ошибок нет но скобки поставлены не так или там где не должно быть пробелов стоят а где должны нет :) В основном смотрю и стараюсь не обращать внимания, но это если не долго :) Если раздрожитель не покидает :) Переписываю пусть даже в ущерб своему личному времени ( зато довольный собой :) ).

  • Огразмы от найденных багов или от удачных технических решений — это все проходяще. Со временем помнишь только, что да, было что-то хорошее, но не более того. К тому же радость от найденных багов зачастую омрачается осознание того, что ты сам был причиной его возникновения.
    Гораздо интереснее, когда программа пишется так, что пользователи либо не находят багов в твоих программах, либо это происходит крайне редко.
    Для меня гораздо всех собственных оргазмов оказалась характеристика, полученная от человека, который вынужден эксплуатировать написанные мной программы: “Только твой код я могу без предварительной проверки сразу запускать в боевую эксплуатацию”. Плюс к тому очень и очень приятно, когда пользователи говорят тебе спасибо. Такое помнится гораздо дольше и с большей теплотой, чем радость от победы над очередным злобным багом.

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

      • А получить это удовольствие можно только сделав дело очень хорошо — под этим подпишусь двумя руками. Но все таки степень качества своей работы лучше проверять внешними показателями. Количество собственных оргазмов может ввести в благостное заблуждение ;) Ну а если хвалят редко, то либо работа делается не очень хорошо, либо же ее не оценивают достойно. В обоих случаях есть смысл разобраться и изменить ситуацию в свою пользу.

        • >> Ну а если хвалят редко, то либо работа делается не очень хорошо, либо же ее не оценивают достойно.

          Хороший менеджер хвалит часто, а ругает редко. Но все ли менеджеры хорошие в этом плане?
          Многие считают до сих пор, что слишком часто хвалить - это плохо. И ругать надо чаще, чтобы не расслаблялись. Я так несколько лет работал - не очень-то стимулирует постоянная ругань.

          А сейчас вообще никто не ругает, только хвалят и это гораздо лучше стимулирует хорошо работать :)

    • SS

      :) “который вынужден эксплуатировать” уже о чем то говорит :)
      Т.е. не “эксплуатирует”, не “работает” , не “тащится от работы с моей программой” а “вынужден” :)

      Нихочу никого обидеть,просто смешно стало :)
      Из моего опыта, 95% пользователей говорят что твоя программа такая классная в основном когда она “была” :) Т.е. когда их заставляли на нее перейти кричат “Зачем? Старая такая хорошая была и понятная!!!”, если все продумано то попробовав успокаиваются и когда им ставят уже что то другое начинаю хвалить :) продолжительность завист от качества новой программы :) Такие уж человеки привыкаем мы ко всему и боимся неизвестного …

Ответить

 

 

 

Вы можете использовать эти HTML тэги

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>