Случалось такое? 19:15. Вы закрываете IDE. Вы - Senior Backend Developer или Тимлид. Человек, который сегодня днем пересобирал архитектуру микросервисов, фиксил race condition в многопоточке и жонглировал бюджетами заказчика. У вас был план: вечером сесть за свой пет-проект, пощупать Rust или добить ту самую доку по System Design.

Но реальность выглядит иначе. Вы стоите перед открытым холодильником. Внутри - два йогурта: вишневый и персиковый. Вы смотрите на них 40 секунд. И не можете выбрать. Ваш мозг, решавший задачи на миллионы, завис на задаче ценой в 50 рублей. В итоге вы берете бутерброд, падаете на диван, открываете YouTube и полчаса скроллите превьюшки, не в силах кликнуть ни на одну. Вы чувствуете себя деградирующим овощем.
Спойлер: Вы не потупели. Просто у вашего внутреннего CPU сработал Thermal Throttling (троттлинг). Добро пожаловать в мир Decision Fatigue (Усталости от принятия решений). Давайте разберем этот баг с точки зрения архитектуры и накатим хотфикс.
Архитектура проблемы: Истощение ресурсов ядра
Давайте честно: наш мозг - это легаси-система, работающая на биологическом железе. Чтобы понять, почему вечером мы «не тянем» даже простые задачи, нужно обратиться к документации.
В психологии это называется «Истощение Эго» (Ego Depletion) - концепция, введенная Роем Баумайстером. Суть её проста: сила воли и способность принимать решения - это ограниченный ресурс, похожий на заряд аккумулятора или запас глюкозы.
Нейрофизиология сбоя
За принятие решений и волевой контроль отвечает префронтальная кора. Это самая энергозатратная часть мозга, наш «GPU», который греется сильнее всего.
Главный архитектурный просчет человека в том, что «стоимость» транзакции (cost) для префронтальной коры практически одинакова, независимо от масштаба задачи. Когда вы выбираете (йогурт А или Б), мозгу нужно выполнить тяжелый скрипт:
Смоделировать будущее А (вкус вишни).
Смоделировать будущее Б (вкус персика).
Затормозить импульс «взять первое попавшееся» (Inhibition).
Сравнить результаты и сделать коммит.
Для нейронов префронтальной коры это активная, тяжелая работа. Да, решение «купить дом» вызывает больше стресса (кортизола), но сама механика выбора (сравнения опций и торможения импульсов) расходует глюкозу и нейромедиаторы в обоих случаях.
Решить проблему с масштабируемостью БД: -1 кредит.
Решить, надеть синюю футболку или черную: -1 кредит.
Ответить смайликом в чате: -1 кредит.
Система списывает ресурсы не по важности задачи, а по факту обращения к функции Make_Decision().
Утечка памяти (Memory Leak)
К 18:00 вы совершили тысячи микро-выборов. Вы проигнорировали пуши (выбор "не читать"), выбрали трек в Spotify, решили перенести таск в Jira, выбрали, что ответить коллеге. Ваш счетчик Daily_Decision_Limit показывает 0.
И тут вы пытаетесь запустить тяжелое приложение «Изучение Rust» или «Эмпатичный разговор с семьей». Система выдает: FATAL ERROR: INSUFFICIENT RESOURCES.
Префронтальная кора (внутренний СЕО) отключается для охлаждения. Управление перехватывают Safe Mode - базальные ганглии (древний мозг). У этого режима очень ограниченный набор примитивных скриптов:
Eat_Sugar()(быстрая глюкоза).Scroll_Feed()(дофаминовая игла).Sleep()(энергосбережение).
Вы не ленивы. Вы просто «обезвожены» ментально. Вы пытаетесь запустить AAA-игру на калькуляторе.
Патч: Хардкод и Кэширование
Как с этим борются топовые инженеры и предприниматели? Они снижают количество обращений к базе данных. Они занимаются хардкодингом рутины.

Помните черную водолазку Стива Джобса или серые футболки Марка Цукерберга? Многие считают это «отсутствием вкуса» или чудачеством. На самом деле - это жесткая оптимизация.
"Я очень хочу очистить свою жизнь, чтобы мне приходилось принимать как можно меньше решений... кроме того, как лучше всего служить этому сообществу," — говорил Цукерберг.
Утром, открывая шкаф, они не запускают ресурсоемкий процесс Select * FROM Wardrobe WHERE style matches mood.... Они используют Pre-compiled Assets. Там лежит униформа. Выбор сделан один раз и захардкожен. Экономия: 10-20 кредитов в день, которые можно потратить на бизнес.
Чтобы оставить ресурсы CPU для великих дел, нужно перевести бытовуху из режима «Выбор» в режим «Скрипт».
Инженерный алгоритм оптимизации
Я применяю протоколы «Hardcode Defaults» и «Batch Processing». Вот 4 фичи, которые можно задеплоить в свою жизнь уже завтра, чтобы перестать тупить по вечерам.
1. Еда по конфигу (Default Config)
Выбор еды три раза в день - это сжигание минимум 50 кредитов (выбор ресторана, выбор блюда, сомнения, оплата, ожидание). Решение: Хардкодим завтраки (и, по возможности, обеды). Я ем одно и то же каждое утро. Овсянка с ягодами / Яичница. Точка. Я не стою у холодильника с мыслью «Чего бы мне хотелось?». Я просто исполняю скрипт breakfast.sh. Результат: Zero-latency start. Голова свободна для планирования дня, а не меню.
2. Правило «Второй полки» (No-SQL подход)
В магазинах нас бомбардируют вариантами. 50 видов пасты. 30 видов кетчупа. Сравнивать составы, цены и упаковки каждый раз - это безумно дорогие запросы к мозгу. Решение: Выбираем один бренд один раз и кэшируем это решение. Всегда берем молоко "Бренд_Х". Всегда пасту "Бренд_Y". Мы не тратим ресурс на переоценку. Мы просто берем данные из кэша. Если этого бренда нет - берем любой аналог за 1 секунду (Fallback strategy).
3. Капсульный гардероб (Hardware Standardization)

Вещи, требующие сложного подбора (а подходят ли эти брюки к этим туфлям?), переносим в папку /deprecated или /special_events. Для будней вводим стандарт: «Униформа». 5 одинаковых качественных футболок, 2 пары джинсов, которые сочетаются со всем. Одевание занимает 15 секунд. CPU Load: 0%.
4. Пакетная обработка прерываний (Interrupt Coalescing)
Каждое уведомление - это прерывание (Interrupt), которое сбрасывает кэш процессора (L1/L2 Cache) и заставляет тратить токены на решение «ответить сейчас или потом?». Даже если вы не ответили, вы потратили энергию на торможение импульсов.
Решение: Мы не читаем мессенджеры в реальном времени. Мы выделяем 2-3 слота в день (например, 12:00, 16:00 и 19:00) для разбора всей очереди сообщений. В остальное время - режим Do Not Disturb.
Важный нюанс (SLA): Чтобы коллеги не паниковали и вы не выглядели безответственным, мы явно озвучиваем протокол связи:
Пишешь в мессенджер - значит, это не горит (Async). Жди ответа в мой слот.
Звонишь на телефон - значит, «Прод упал» или «Пожар» (Sync). Трубку я беру всегда.
Практика показывает: 99% вопросов спокойно ждут до 16:00. А если реально пожар - вас найдут по звонку. Так вы перестаете дергаться от каждого «дзынь» в Телеграме, сохраняя фокус.
Вывод: Станьте Архитектором
Наша сила воли - это аккумулятор. И мне, как инженеру, кажется абсолютно нерациональным тратить этот заряд на выбор носков, скроллинг меню доставки и реакцию на пуши. Это утечка ресурсов, которую мы не можем себе позволить.
Я для себя решил: хватит быть «пользователем», который кликает на каждый поп-ап судьбы. Куда интереснее роль «Системного Архитектора», который один раз прописывает дефолтные значения в конфиг, чтобы система работала автономно.
Автоматизируйте рутину. Хардкодьте быт. Я хочу, чтобы на написание кода, построение бизнеса и жизнь у меня оставалось 95% заряда, а не жалкие 5%, выжившие после борьбы с бытовухой.
Ну или хотя бы на то, чтобы посмотреть сериал осознанно, а не потому что система зависла и не может найти кнопку «Выкл».
P.S. Я коллекционирую такие инженерные подходы к продуктивности. Если вам ближе термины Legacy и Refactoring, чем «поток» и «вибрации» - заглядывайте в мой Telegram-канал.
В следующей статье разберем еще один критический баг сеньоров: Infinite Loop. Обсудим, почему перфекционизм — это не «стремление к качеству», а ошибка в условии выхода while(true), и как научиться нажимать кнопку Deploy, даже если код не идеален.