Фёдор Борщёв

Новее

Бирюзовое доверие

Возьмём типичную проблему — допустим есть бизнес, у которого разработка периодически ломает прод. Если решать эту проблему классическим способом, как решали раньше на заводах, то вы просто построите ОТК: отдельный этап тестирования, жёсткие правила для код-ревью, чтобы без одобрения двух коллег нельзя было выкатывать. Как настоящий кризисный менеджер, вы придумаете какой-нибудь солидно звучащий KPI для программистов, вроде количества автотестов. Только вот прод реже ломаться не начнёт.

Бирюзовое доверие

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

Бирюзовый подход работает совсем по другому. В основе лежит простое правило, что все люди — хорошие: если доверять на 100%, то вас никогда осознанно не обманут. А если обманут случайно, то приложат все силы для исправления проблемы. Парадоксально: если давать новичкам с самого начала полный доступ на прод, они пользуются им с большей осторожностью, чем доступом, честно заслуженным за испытательный срок.

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

3 программы, которые помогают больше писать

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

Текстовые редакторы настолько важны, что я даже мирюсь с оплатой по подписке. Когда специальные дизайнеры постоянно полируют пиксели, чтобы ты почаще открывал их редактор, начинаешь получать удовольствие от самого процесса — лично мне голубой курсор IA Writer настолько помогает концентрироваться, что одно воспоминание о нём заставляет пойти в ближайшую Даблби и пописать что-нибудь важное.

В этой заметке — обзор трёх продуктов, которые помогают писать больше лично мне: Bear, Day One, и IA Writer. Все эти продукты стоят денег, а первые два — вообще доступны только по подписке. Но если вы достигаете целей при помощи текста, 4000 рублей в год многократно окупятся.

Bear — заметки со встреч и наброски

Однажды я обнаружил, что после встреч перестали появляться заметки. То есть если встреча подразумевала конкретные договорённости — я их конечно записывал: либо сразу в задачник, либо в письмо. Но вот просто конспект встреч появляться перестал.

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

Интерфейс Bear на десктопе
Bear

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

Киллер-фича Bear — это вложенные #теги. У меня тегов не очень много, самый популярный — это #чеклисты. Там я храню разные личные шаблоны — примеру чеклист для проверки совета в бюро или список доступов, которые нужно дать новому сотруднику.

Заметки без тегов использую для временного хранения информации — там у меня обычно не больше 20 записей. Если сделать больше — будет тяжело искать, текст ведь совсем никак не упорядочен. Поэтому раз в пару недель я сажусь и смело удаляю всё, что кажется неважным. Вообще идеальный заметочник — пустой. Если заметка живёт больше, чем пару недель, она переезжает в более удобное место: в корпоративную базу знаний, в IA Writer, если это запись для блога или в Day One, если это личное дневниковое наблюдение.

Day one — дневник, наблюдения, осознанность

UPD: с Day One я перешёл на Obsidian.

Я начал вести дневник уже давно, желая повысить уровень осознанности — просто каждый вечер открывал Day One и анализировал прошедший день. В Day One меня подкупает выставленное напоказ e2e-шифрование: личные заметки хочется доверять только тем ребятам, которые с момента онбординга прозрачно объясняют, как они берегут твои данные.

Интерфейс Day One на десктопе
Day one

Моя любимая фича в Day One — журнал активности: он запоминает места, где я был, а затем очень ненавязчиво предлагает зафиксировать впечатления о них. Запись о месте — это необязательно интерьер или фотография: это может быть впечатление о людях, которых я встретил, мысли, которые пришли в этом месте, просто настроение.

Карта моих дневниковых заметок в центре Москвы
Карта моих дневниковых заметок в центре Москвы

Day One, с его тегами, геолокацией и кучей сопутствующих данных вроде пройденных шагов — это навсегда: такой идеальный инструмент для структурированного хранения текстов, к которым можно будет вернуться лет через 20.

В современном Day One нет маркдауна, но это беспокоит меня не сильно — я никуда не экспортирую записи. Если когда-нибудь соберусь мигрировать — не проблема: Day One слишком популярен, чтобы любое новое дневниковое приложение не поддерживало импорт из него.

Сфокусированная работа — IA Writer

Посты в канал, лонгриды, советы в бюро, длинные документы для клиентов, сложные письма — всё это я пишу в IA Writer. Он хорош для фокуса: открыл серое окно, включил помидорку, и 25 минут остаёшься наедине с текстом.

Интерфейс IA Writer на десктопе
IA Writer

До сих пор есть люди, которые ждут документы в формате Microsoft Word — для них IA Writer прекрасно экспортирует docx. Для нормальных ребят IA Writer в два клика делает нестыдные PDF-документы. Вообще, какой бы экзотический формат ни понадобился — я не парюсь: скорее всего в гугле есть конвертер из маркдауна.

В IA Writer я храню ещё и архив — всё, что я когда-либо написал, остаётся там в папочке Published. Поскольку это обычные маркдаун-файлы, они надёжно бекапятся, и их прекрасно ищет Спотлайт.

Итого

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

Возможно, для ваших целей хватит одного Bear, тем более в нём недавно обновили privacy-фичи, вроде шифрования или закрытия замёток. Или может быть одного Day One, который достаточно универсален для всего.

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

Нерешаемая задача

В общении с плохими программистами (а ещё строителями, водителями и сантехниками) часто проскакивает тон «нерешаемая задача»:

— Давай сделаем, чтобы по нажатию на кнопку уходило письмо клиенту? Не получится, мы в этот момент ещё не авторизованы на бекенде :(

— Давай передавать данные о телефонных заказах в Гугль-аналитику? Это невозможно — мы для таких заказов не знаем ID аналитики :(

Это — плохие ответы. Для хороших ответов есть простое правило: в любом письме предлагай решение. Даже если оно будет безумным и нерациональным — не бойся: предложи и напиши об этом.

Нерешаемая задача

— Давай сделаем, чтобы по нажатию на кнопку уходило письмо клиенту? Давай, только придётся отключить авторизацию, и кто угодно сможет запустить такую отправку.

— Давай передавать данные о телефонных заказах в Гугль-аналитику? Давай, только можем либо забить на идентификаторы пользователей, либо интегрироваться с внешним коллтрекингом.

Будьте решателями проблем, а не создавателями.

​stale: бот для гитхаба, который борется с незавершёнкой

Один из ботов, которых мы активно используем в Гитхабе ГдеМатериала — stale. Задача бота очень простая — приходить в каждый пулл-реквест, в котором ничего не происходит.

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

Бот приходит в такие задачи и напоминает, что ничего не происходит. Если работа по задаче не активизируется — закрывает задачу.

Жёсткий автомат формирует в голове тупое правило: забиваешь на свою работу — значит её выкидывают. Такое правило здорово помогает всем отвечать друг-другу вовремя.

Наш бот не совсем политкорректный — ведь незавершённая работа это так плохо:

​stale: бот для гитхаба, который борется с незавершёнкой

90% фич вылетает в трубу

Наверное, где-то в мире есть ребята, у которых гипотезы не выстреливают с вероятностью 80% или даже 75%. Но у нас с вами это не так. Фича, которую вы пилите прямо сейчас, улетит у трубу с вероятностью 90%. Пользователи не заметят новую кнопку, робот не сработает, потому что годится только для 0,1% заказов, а письмо, которое вы верстали неделю, никто не откроет.

90% фич вылетает в трубу

Повторите про себя пару раз, и как только вы осознаете — вам сразу станет легче жить. Вы перестанете подходить к новым фичам с завышенными ожиданиями (вот сделаем и заживём!). Вы перестанете проектировать раздутое говно — зачем, если вы выкинете это с вероятностью 90%?

Вместо пиления фич вы начнёте проверять гипотезы. Ваш код тоже станет другим — вы начнёте тратить время не на фичи, а на скорость производства новых фич.

Помните мой совет со входом через Инстаграм? Зная о том, что этот вход не будет никому нужен с вероятностью 90%, вы сделаете интеграцию не с инстаграмом, а с auth0, чтобы в будущем сразу проверить 10 других способов входа, 1 из которых окажется рабочим.

Просто всегда помните, что ваша гениальная идея с вероятностью 90% — говно.

Старее