Как я перестал бояться ошибок на работе и стал их любить. Культура ошибок

Эффективность

Я помню свой первый серьёзный баг, пропущенный на прод. Случилось это перед Новым годом. В мобильном Safari анимация праздничной елочки на первом экране главной страницы сработала очень странно и пользователи iPhone видели белоснежный снег, покрытый черными точками. Было похоже на то, что по этому виртуальному сугробу только что прошлась стая волков, накануне отведавшая плотный ужин из несвежих продуктов.

И это увидел руководитель, у которого, по несчастью тоже был айфон с мобильным Сафари.

Мне хотелось провалиться сквозь землю. Я ругал себя, что полноценно не проверил задачу. И был уверен, что меня уволят.

Но этого не произошло.

Почему мы боимся ошибок

Я сам долго боялся.

Каждый коммит — с замиранием сердца. Каждый релиз — со страхом, что что-то сломается. Каждое ревью — из защитной позиции.

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

Этот страх не про реальность. Он про детство, про школу, про двойки. Он встроен в нас на уровне рефлексов.

Но в нашем деле этот страх смертельно опасен.

Когда вы боитесь ошибок, вы:

  • Не берётесь за сложные задачи, потому что «вдруг не справлюсь»
  • Не пробуете новые подходы, потому что «а вдруг сломается»
  • Не задаёте вопросы, потому что «подумают, что я тупой»
  • Не рефакторите легаси, потому что «а если я что-то сломаю»
  • Не предлагаете идей, потому что «а вдруг они глупые»

В итоге вы не растёте. Вы стоите на месте. И вы боитесь. Каждый день.

Как перестать бояться

Вряд ли это получится за один день. Это целый процесс.

У меня всё началось с разговора с тимлидом. После того самого бага я пришёл к нему и сказал: «Моя вина, недосмотрел, в течение часа подготовлю хотфикс».

А он ответил: «Не парься. Бывает. Ошибки — часть работы. Я релиз уже откатил, а ты сделай выводы и подумай как сделать так, чтобы больше такое не повторилось. Но хотфикс сделай».

В тот момент я понял две вещи.

Первое: меня не уволят за ошибку. Если я не стану «заметать мусор под коврик», честно признаюсь, быстро исправлю и сделаю выводы.

Второе: ошибка — это не провал, а информация. Я узнал, что анимации в сафари работают не так как в нормальных браузерах. Теперь я знаю, где у меня слепые зоны. И я могу это исправить.

После этого я начал менять своё отношение.

Шаг 1. Признать, что ошибки неизбежны

Человек, который никогда не ошибается, либо ничего не делает, либо врёт.

Разработка — сложная область. Сотни факторов. Сотни зависимостей. Невозможно предусмотреть всё.

Я перестал требовать от себя перфекционизма. Я начал принимать, что часть моих решений будет содержать ошибки. Это нормально. Это не делает меня плохим разработчиком. Это делает меня человеком.

Шаг 2. Перестать прятать ошибки

Обнаружив в своей работе баг, можно попытаться исправить его тихо. Чтобы никто не узнал. Чтобы сохранить лицо. Но это глупость.

Когда вы пытаетесь скрыть ошибку, вы теряете время, упускаете возможность получить помощь и создаёте иллюзию, что всё в порядке.

Теперь я говорю открыто: «Я нашёл баг в моем новом модуле что мы зарелизили вчера. Вот что произошло. Давайте разберёмся».

Команда помогает. Тимлид подсказывает. Тестировщики краснеют вместе со мной. Ошибка исправляется быстро и без последствий.

Шаг 3. Научиться анализировать ошибки, а не оправдываться

Вместо «я не знаю, почему это произошло», говорите «давайте разберёмся, как это исправить».

Вместо «это не моя вина», говорите «я принимаю ответственность и предлагаю решение».

Разница в фокусе. Не на прошлом, а на будущем. Не на поиске виноватого, а на поиске решения.

Шаг 4. Сделать ошибки частью процесса

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

Теперь каждая ошибка — это улучшение качества. Мы не боимся их, мы готовы встретить их. Каждая ошибка делает наш код надёжнее.

Шаг 5. Начать любить ошибки

Отнеситесь к ошибкам как к учителям.

Когда находите баг в своём коде, говорите сами себе: «Отлично, я узнал, что здесь есть проблема. Теперь я могу её исправить и стать лучше».

Когда кто-то находит баг в вашем коде на ревью, поблагодарите его. Он сэкономил вам время на будущее.

Ошибки — это обратная связь. А обратная связь — это рост.

Что изменилось в моей работе

Теперь я не боюсь сложных задач.

Я берусь за то, что раньше казалось невыполнимым. Потому что я знаю: если я ошибусь — я разберусь, исправлю и стану умнее.

Я не боюсь код-ревью.

Я не защищаю свой код, как крепость. Я открыт к критике. Это не личное. Это улучшение.

Я не боюсь нового.

Я пробую новые подходы, экспериментирую, учусь. Потому что даже если я ошибусь — это будет опыт. А опыт — это ресурс.

Я работаю спокойнее.

Страх ушёл. Остался интерес. Я хочу решать задачи, исследовать, искать неочевидные решения. И это приносит больше результата, чем работа из страха.

Как выработать культуру ошибок в команде

Если вы тимлид или старший разработчик, вы можете изменить отношение к ошибкам в своей команде.

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

Главная мысль

Ошибки — это не проклятие. Это часть профессии.

Каждый разработчик ошибается. Сеньоры ошибаются чаще, просто они быстрее это замечают и исправляют. И они не боятся признаться.

Если вы боитесь ошибок, вы не растёте. Вы застреваете в зоне комфорта. Вы упускаете возможности.

Если Вы начинаете относиться к ошибкам как к учителям, вы выходите на новый уровень. Быстрее, чем кто-либо другой.

Разрешите себе ошибаться.

Начните любить баги.

И тогда ваша карьера пойдёт в гору.

Симо Мофин
Симо Мофин

Senior Frontend Developer
Главный по блогу