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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результаты

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

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

Источник: https://habr.com/ru/company/rostelecom/blog/698726/


Интересные статьи

Интересные статьи

Однажды меня посетила мысль, а что если попробовать решить первую задачу Проекта Эйлера всевозможными способами, но с условием, что решение должно быть в одну строку. В итоге получилось более пяти одн...
В поле нашего зрения попала матрица Shield от MITRE, в которой приводятся тактики активной защиты от действий злоумышленников. В отличие от матрицы ATT&CK, которую мн...
Microsoft совместно с консалтинговой компанией Sogeti выпустила отчет «Enterprise DevOps Report 2020-21», посвященный актуальной ситуации с внедрением DevOps в организациях. В нем озвучен...
Сегодня мы продолжим рассмотрение VLAN и обсудим протокол VTP, а также понятия VTP Pruning и Native VLAN. В одном из предыдущих видео мы уже говорили о VTP, и первое, что должно прийти вам на ум,...
В декабре 2018 мы с женой переехали из Санкт-Петербурга в Хельсинки. Уже есть довольно много статей и (видео)блогов о том, как живется в Финляндии и стоит ли сюда переезжать. Вместо этого я бы хо...