Работа должна приносить удовольствие — этой мой девиз. Если удовольствия от процесса или результата нет или его недостаточно, то надо что‑то поменять (может, и работу, но об этом как‑нибудь в другой раз). Сегодня хочу поговорить об окружающих нас, программистов, инструментах и как они нам могут пригодиться не только с точки зрения оптимизации скорости работы, но и с точки зрения некого мотиватора.
Думаю, если не всем, то многим знакома ситуация, когда рабочие задачи висят, а заставить себя сесть за них, сосредоточиться и сделать очень трудно: то задачи кажутся неинтересными, то общая усталость и выгорание сказывается. Как однажды сказал мой знакомый, который работает видеографом: «волны нет, а г..но делать я не хочу». Ну, видеографы — люди совсем творческие и у них нет таких четких дедлайнов как у нас, программистов, во всяком случае, у моего знакомого точно их не было, так что мог себе позволить ждать вдохновения.
Надеюсь, в этом тексте вы сможете найти для себя что‑то полезное при организации своего нескучного рабочего процесса:‑)
Еще давно я определил для себя, что мне нужно разнообразие в повседневной деятельности, иначе я очень быстро начинаю скучать и страдать от приступов кризиса среднего возраста. Также я понял, что меня вдохновляют инструменты («когда в руках молоток — все вокруг кажется гвоздями» — это про меня). Далее я расскажу мой путь, по которому я постепенно шел, ища подходящие инструменты для вдохновения и куда я в конечном итоге пришел и нахожусь в этом состоянии уже 3 года и пока мне все нравится.
Шаг 1
Так как моя работа в основном связана с производством кода, я начал пробовать экспериментировать с разными инструментами для его написания.
Почти 10 лет моим основным рабочим языком программирования является Python, поэтому я пробовал чередовать PyCharm, VSCode, SublimeText.
Этот этап можно охарактеризовать кодом:
# единственный пример кода в этой статье :)
import random
user_choice = random.choice(("PyCharm", "VSCode", "SublimeText"))
Поначалу казалось, что в работе что-то меняется (появляется некий азарт и продуктивность улучшается, когда переходишь от одного инструмента к другому) и эти микроскопические перемены как-то стимулировали, но все-таки все это - GUI интерфейсы и +/- одно и тоже. С осознанием этого факта вдохновение от периодической смены этих редакторов/IDE постепенно сошло на нет.
Шаг 2. Переменное использование разного железа и ОС
С 2009 года я стал последователем религии Apple. Мой первый MacBook Pro 2008 года был чем-то нереальным по сравнению с ноутбуком Samsung (модель уже не вспомню) c Fedora на борту. На Mac все работало “из коробки” без танцев с бубном вокруг драйверов.
Но, тем не менее, теплые воспоминания о Linux и о практически безграничных возможностях его кастомизации жили во мне всю дорогу.
Так вот, я подумал, что не мешало бы обзавестись второй рабочей машиной на Linux, тем более, что мне всегда нравился ThinkPad и это был, своего рода, незакрытый гештальт.
На дворе был март 2022 года, что означало, что официально пойти в магазин техники и купить нужный мне девайс не представляется возможным, поэтому, пришлось искать обходные пути и на Авито был найден продавец, который занимался поставкой именно Lenovo ThinkPad. Мой выбор на тот момент пал на ThinkPad T14s Gen2 (эта машина на момент написания статьи и по сей день со мной служит верой и правдой).
Как только ноут оказался в моем распоряжении, Windows была сразу же удалена, а на ее место встала Fedora 36 (к слову, моей последней версией на рабочей станции была Fedora 8). Почему Fedora? — ну так исторически сложилось, что я полюбили этот дистрибутив еще в 2000-х. Каково же было мое удивление тому факту как сильно эволюционировал десктопный Linux — все «из коробки» и без танцев с бубном.
Буквально за пару дней я настроил все рабочее окружение и с воодушевлением работал так пару мясяцев, не вспоминая про свой MacBook. Все инструменты, которыми я пользовался и пользуюсь для работы (и не только) — кросплатформенные, нет никакой проблемы использовать привычные инструменты в другой Unix‑like системе. Но в один рабочий день я начал опять скучать, скучать по MacOS, работе в ней. Ну, раз скучаю — выключил ThinkPad, включил MacBook. Все мои файлы — в облаках, включил настроенную систему и через пару минут все, что нужно находится в актуальном состоянии.
Таким образом я начал чередовать работу на ноутбуках, работая примерно по 2 недели на каждом. Кстати, пишу этот пост для того, чтобы отправлять на него ссылку моим друзьям и коллегам, которые часто меня спрашивают, почему я работаю то за одним ноутом, то за другим :-)
Шаг 3
Этот этап может смело нести название NeoVim.
Тут все просто. Работая попеременно то на одном «железе», то на другом, все равно я много времени провожу в терминале. Кстати, я уже года 4 использую Kitty. Можно сказать — это была любовь с первого взгляда. Этот эмулятор терминала я упомянул не случайно, с него‑то и появился интерес к vim/neovim. Для пользователей macOS является очевидным фактом, что настройки любой программы можно вызвать сочетанием клавиш cmd+,
, откроется окно с настройками этой программы и вы там сами «натыкаете» все как вам надо, но с Kitty дело обстоит совсем иначе — при нажатии этого сочетания клавиш для открытия настроек, открывается еще одно окно терминала с открытым в vim файлом конфигурации, так‑то:) И именно тогда я первый раз загуглил «как выйти из vim».
И вот когда я в очередной раз что‑то настраивал на своей Linux‑машине, правя конфиги, я задумался, а может и код мне писать прямо тут, в терминале? Продумано — сделано. Сперва я сделал свой кастовый конфиг для neovim, потом в дело пошли разные сборки: начал я с LazyVim, потом пробовал еще несколько, остановился (пока) на AstroVim. Вообще мир NeoVim — это отдельная тема для холивара и извращений, которым посвящено много статей и другого рода материалам. Хочу просто отметить, что по каким‑то неведомым причинам (возможно, некая ностальгия) лично меня «вштырило» и хотелось писать код все время, лишь бы только надо было открыть nvim
.
Резюме
Вот такой принцип: чередование ОС, разного компьютерного железа, GUI, TUI и CLI инструментов делает каждый мой день чуточку интереснее и позволяет мне не «застревать» на чем‑то одном, пробовать новое, а это, говорят, полезно для мозга;‑)
Еще пишу эту статью с «корыстной» целью — поделитесь, пожалуйста, в комментариях как вы вносите разнообразие в рутину и что вас вдохновляет из инструментов или каких‑нибудь девайсов, знаю, многие тащатся от механических клавиатур (я пока не встал на этот скользкий путь)... Хочу «утащить» что‑то из этого к себе:‑)