Фёдор Борщёв

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

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

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

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

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

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

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

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

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

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

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

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

Я начал вести дневник уже давно, желая повысить уровень осознанности — просто каждый вечер открывал 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 аналитики :(

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

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

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

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

Мастер-класс: как написать первый тест на любом проекте

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

26 октября в 14:00 я проведу мастер-класс, где расскажу, как внедрить практику тестирования кода в любой проект — неважно, начинаете ли вы стартап, или накопили уже 200 000 строк кода.

Теории будет совсем немного, в основном будет практика — мы возьмём готовый большой проект на Django и решим на нём бизнесовую задачу при помощи TDD. Python я выбрал потому, что код на нём легко прочитать, а подходы — перенести на любой другой язык. Так что если вы хотите писать тесты на JS, Ruby или Go — тоже приходите, хватит базовых знаний любого языка программирования.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

P.S. Сначала эта заметка вышла на моём телеграм-канале. Подписывайтесь.