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

Меня зовут Леонид Романовский, и моя команда занималась утиным проектом Ростелекома, который был запущен в честь дня программиста. Поскольку аудитория была максимально широкой, а формат требовал особого лендинга, для этой задачи все-таки был выбран Пикабу, а не Хабр. В результате про уточек и отличный метод решения проблем на Pikabu прочитали более 4 миллиона пользователей, а в самом конкурсе (о нем ниже) приняло участие почти 600 человек.

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

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

«Но почему утенок?», — спрашивали нас некоторые. Уверен, большинство из вас уже сами не раз общались с этим милым резиновым существом, но если нет — дело в том, что метод утенка применяют программисты по всему миру.

Возможно все это началось еще раньше, но доподлинно известно, что метод изложили в своей книге «Программист-прагматик: путь от подмастерья к мастерству» Дэвид Томас и Эндрю Хант еще в 1999 году. 

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

На английском метод называется rubber duck debugging или rubber ducking, что имеет более глубокий смысл. Буквально можно перевести как «отладка с помощью резиновой уточки».

Метод гениален своей простотой:

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

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

Утенок помогает, потому что компьютер «думает» иначе, и человеку, даже опытному программисту, бывает сложно понять, почему, казалось бы, правильный код не работает. Разберем пример отладки с утенком:

  1. Открываешь файл с кодом, еще раз проводишь ревизию, что должна делать программа.

  2. Начинаешь объяснять утке строчку за строчкой, что именно здесь происходит, почему именно эти переменные и т.д.

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

  4. В процессе приходится объяснить самому себе ряд «очевидных» вещей, и часто ошибки синтаксиса, перепутанные названия переменных, ошибочные ссылки и т.д. всплывают на поверхность.

Вообще это не единственный пример подобного метода работы. Я как минимум, помню еще один пример, когда смена точки взгляда помогла спасти землю. Да не то, что землю — всю вселенную! Это было в третьей части фильма «Люди в Черном», когда главные герои ели яблочный пирог:

Таким образом, конечно, брать утку необязательно — можно вместо этого использовать любую фигурку или статуэтку, полуспящую бабушку, а также кота, собаку или кого-то похожего на Уилла Смитта, съедающего свежую выпечку… 

Но адепты метода чаще всего выбирают резинового утенка. Как мне рассказали участники проекта это происходит потому, что:

  • Ее позитивная желтизна завораживает.

  • Утенок — символ метода. И один взгляд на него убеждает в том, что все получится.

  • Утенок не отрывая глаз смотрит на вас (в отличие от кота или бабушки). Это помогает сосредоточиться и вести беседу серьезно.

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

Тупой и еще тупее, Франкенштейн, Гарри Поттер…

Вообще получилось интересно. Нашлось ни много ни мало, а шесть сотен человек, которые готовы были состязаться за стильного физического утенка (то есть реальную резиновую уточку — а не только ачивки и картинки). Нам прислали массу неожиданных историй, и сегодня я поделюсь теми, которые лично мне показались самыми “вкусными”.

Результаты

Я надеюсь, что утиная активация принесла массу позитива не только участникам, но и вам, раз уж вы дочитали до конца. :) Как результат, теперь у многих пользователей Пикабу есть красивые утиные ачивки, а те, кто не знал о существовании утиного метода начнут применять его в жизни и еще быстрее решать сложные и интересные задачи.

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

Комментарии (6)


  1. Ilha
    11.11.2022 14:14
    +2

    Нет ощущения, что на Хабре вам бы рассказали больше реально крутых историй?


  1. xxxDef
    11.11.2022 21:25
    +4

    Но адепты метода чаще всего выбирают резинового утенка.

    Адепты всегда выбирают то о чем прочитали. Написали им про утенка - они оббегают весь город в поисках именно утенка. Прочитали про метод "помидоро" - будут искать именно механический таймер именно в виде красного помидора. Сказали им про дейли митинги - они будут каждый день все утро bikeshedding-ом заниматься.

    Потому что карго-культы и церемонии в айти цветут пышным цветом.


  1. TyVik
    11.11.2022 21:35

    Пользуюсь этим методом каждый день. Только вместо уточки у меня дракошка.

    Она так очаровательно строит глазки.


  1. klimkinMD
    12.11.2022 08:01

    Whom how! Кому-то и частей собственного тела достаточно...


  1. dedmagic
    14.11.2022 12:58

    Нажав впервые кнопку на процессоре...

    Хм, я думал, что нажимающие кнопки на процессоре уже все давно естественным образом вымерли. Ан нет! :D