Я не питаю иллюзий по поводу базы знаний: трудозатраты, вложенные в накопление информации, ко мне не возвращаются.
Как-то я открыл Симлноут и увидел там 50 аккуратных записей, трудолюбиво созданных за прошедшие полгода. При этом не смог вспомнить ни одного раза, когда я этими записями хоть как-нибудь воспользовался. Даже если посчитать, что на создание каждой записи я потратил одну минуту, то это почти час осознанного времени, который не принёс ровно ничего.
После этого я отправил весь свой архив знаний в корзину, и ни разу с тех пор не пожалел.
Всё, что мне кажется ценным как знание, я распихиваю по соответствующим местам. Интересную статью кидаю коллегам или сразу добавляю в общую вики. Доступы и документы храню в менеджере паролей. Идеи для постов — трелло, скелеты и черновики — в Bear.
В этой заметке рассказываю об инструментах, которые использую для разработки и выступлений — с фоточками и списком оборудования.
Я использую MacBook Pro 14" 2022 года. Когда я работаю дома, ноутбук подключён к монитору LG UltraFine 4K прошлого поколения — кажется это единственный монитор с честной ретиной и нативным для мака DPI. Поколение монитора важно — подробнее см. обзор на «Вёрдже».
Я не использую два дисплея, поэтому ноутбук работает Clamshell mode. Единственное исключение — стримы: для них я открываю на ноутбуке Open Broadcaster Software.
В качестве органов управления я использую Happy Hacking Keyboard и Magic Trackpad. Мои пальцы не могут изогнуться, чтобы воспользоваться странной клавишей, которую засовывают в русских раскладках между левым шифтом и z, поэтому я всегда покупаю американские клавиатуры, вот — клавиатура ноутбука:
Полный список железок:
MacBook Pro 14" 2022, Apple M1 Max, 64Gb RAM
Монитор LG UltraFine 4k на кронштейне Ergotron LX Desk Monitor Arm
Клавиатура Happy Hacking Keyboard Pro Hybrid Type-S
Внешний тачпад Magic Trackpad 2
Веб-камера Razer Kiyo Pro
Микрофон Shure SM7B со штангой Blue Compass
Микрофонный предусилитель Art Tube PAC
Звуковая карта Focusrite Clarett+ 2Pre
Наушники Sony MDR-7506
Поскольку я работаю стоя, напишу пару слов про стол. Сначала я работал за обычным икеевским столом, собранным из самой дешёвой столешницы и регулируемых ножек, но в какой-то момент эта конструкция меня достала —из-за высоты стол сильно шатался. Задумав поменять стол, я посмотрел на рынок и сильно удивился — меньше, чем за 20 000 ₽ высокий стол не купить, причём даже самые дорогие экземпляры, судя по обзорам на ютубе, не отличаются надёжностью.
Большая стоимость обусловлена тем, что все высокие столы на рынке — регулируемые: у дешевых столешница поднимается вручную, у дорогих — с помощью электромоторов. Здраво рассудив, что регулировкой высоты я воспользуюсь ровно один раз — при установке стола — я просто пошёл на лайвмастер и заказал стол под свой рост. Получился красивый и надёжный предмет мебели (который до сих пор пахнет деревом!), по цене ниже икеи.
Софт
Я не люблю IDE, и в роли редактора кода использую neovim. Долгое время я сидел в Visual Studio Code, но конце 2021 года я устал бороться с увеличивающимся количеством скрепышей фич, плюнул и перешёл на neovim в терминале iTerm2:
Основные плагины:
coc для автодополнения, которое понимает язык (LSP)
fzf для быстрого открытия файлов
nerdcommenter, чтобы быстро комментировать куски кода
vim-vinegar, когда нужно походить по файловой системе
Нашёл себе клёвое развлечение — писать код на камеру. Прямо беру задачу из беклога, включаю Open Broadcast Studio и транслирую на ютуб.
Получился отличный лайфхак — я одновременно решаю задачи и практикуюсь не бояться камеры даже в таком интимном деле, как написание кода. Для тех, кто ходит на стримы — это бесплатное и крутое обучение. Формат наставничества с расшаренным экраном лучше всего прививает правильные программистские привычки — читать документацию вместо stackoverflow, писать тесты до кода, или не бояться рефакторить.
Я никогда не отделяю личное время от рабочего — по-моему, это неествественно. Скажем, если я придумал классную фичу не на собрании с коллегами, а на утренней пробежке, что её теперь нельзя класть в беклог? А если я в рабочее время решил 30 минут поспать, чтобы очистить голову, считается ли, что я украл это время у работодателя?
Гораздо лучше разрешать сознанию делать, что оно хочет. Если мне пришёл в голову офигенный пример для нового поста в блог, я всё брошу и запишу его — и не важно, будний день сейчас или новогодние каникулы. Если вечером в субботу у меня возникнет настроение позаниматься улучшением нашего рабочего кластера — я открою консоль.
Многие делят время на рабочее и личное, чтобы личную часть использовать для отдыха и переключения сознания. У меня такие периоды тоже есть, но на отдыхе я не делаю вообще ничего: не отвечаю на личные и рабочие письма, не пишу в блог, не думаю над архитектурой и не пишу код.
Секрет в том, что когда делаешь что хочется, вместо того, что нужно, то время нужное на отдых сильно сокращается — можно спокойно работать по 6—7 дней в неделю, отдыхая когда нужно, а не когда положено обществом.
У Apple иногда попадаются интерфейсы, за которые создателей хочется сильно поругать — к примеру интерфейс публикации приложения в AppStore, для которого я уже неделю восстановливаю свой аккаунт разработчика.
Или интерфейс подключения AirPods на макбуке. Чтобы переключить наушники между телефоном и компьютером, нужно сначала нажать на значок звука, затем дождаться, когда в списке устройств появятся наушники, потом нажать на них и дождаться, пока случится вся магия подключения. Иногда по загадочным причинам магия не случается, и операцию нужно повторить, выполняя все те же клики-ожидания-клики — бесит.
Оказывается, этот процесс можно сократить до одного клика и пары секунд — есть специальные программы, которые сделали именно для того, чтобы моментально подключать AirPods к компьютеру. Я пользуюсь бесплатным workflow для Alfred, который так и называется AirPods Connector. Если у вас вдруг нет Alfred — не беда, заплатите 400 рублей за ToothFairy, которая делает то же самое, или просто скачайте бесплатный AirBar.