- BrainTools - https://www.braintools.ru -

Stack Overflow в голове: Почему мы тупеем после 18:00 и зачем Сеньору «хардкодить» свою жизнь

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

Stack Overflow в голове: Почему мы тупеем после 18:00 и зачем Сеньору «хардкодить» свою жизнь - 1

Но реальность выглядит иначе. Вы стоите перед открытым холодильником. Внутри – два йогурта: вишневый и персиковый. Вы смотрите на них 40 секунд. И не можете выбрать. Ваш мозг [1], решавший задачи на миллионы, завис на задаче ценой в 50 рублей. В итоге вы берете бутерброд, падаете на диван, открываете YouTube и полчаса скроллите превьюшки, не в силах кликнуть ни на одну. Вы чувствуете себя деградирующим овощем.

Спойлер: Вы не потупели. Просто у вашего внутреннего CPU сработал Thermal Throttling (троттлинг). Добро пожаловать в мир Decision Fatigue (Усталости от принятия решений). Давайте разберем этот баг с точки зрения [2] архитектуры и накатим хотфикс.

Архитектура проблемы: Истощение ресурсов ядра

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

В психологии это называется «Истощение Эго» (Ego Depletion) – концепция, введенная Роем Баумайстером. Суть её проста: сила воли и способность принимать решения – это ограниченный ресурс, похожий на заряд аккумулятора или запас глюкозы.

Нейрофизиология сбоя

За принятие решений и волевой контроль отвечает префронтальная кора. Это самая энергозатратная часть мозга, наш «GPU», который греется сильнее всего.

Главный архитектурный просчет человека в том, что «стоимость» транзакции (cost) для префронтальной коры практически одинакова, независимо от масштаба задачи. Когда вы выбираете (йогурт А или Б), мозгу нужно выполнить тяжелый скрипт:

  1. Смоделировать будущее А (вкус [3] вишни).

  2. Смоделировать будущее Б (вкус персика).

  3. Затормозить импульс «взять первое попавшееся» (Inhibition).

  4. Сравнить результаты и сделать коммит.

Для нейронов префронтальной коры это активная, тяжелая работа. Да, решение «купить дом» вызывает больше стресса [4] (кортизола), но сама механика выбора (сравнения опций и торможения импульсов) расходует глюкозу и нейромедиаторы в обоих случаях.

  • Решить проблему с масштабируемостью БД: -1 кредит.

  • Решить, надеть синюю футболку или черную: -1 кредит.

  • Ответить смайликом в чате: -1 кредит.

Система списывает ресурсы не по важности задачи, а по факту обращения к функции Make_Decision().

Утечка памяти (Memory Leak)

К 18:00 вы совершили тысячи микро-выборов. Вы проигнорировали пуши (выбор “не читать”), выбрали трек в Spotify, решили перенести таск в Jira, выбрали, что ответить коллеге. Ваш счетчик Daily_Decision_Limit показывает 0.

И тут вы пытаетесь запустить тяжелое приложение «Изучение Rust» или «Эмпатичный разговор с семьей». Система выдает: FATAL ERROR: INSUFFICIENT RESOURCES.

Префронтальная кора (вн��тренний СЕО) отключается для охлаждения. Управление перехватывают Safe Mode – базальные ганглии [5] (древний мозг). У этого режима очень ограниченный набор примитивных скриптов:

  1. Eat_Sugar() (быстрая глюкоза).

  2. Scroll_Feed() (дофаминовая игла).

  3. Sleep() (энергосбережение).

Вы не ленивы. Вы просто «обезвожены» ментально. Вы пытаетесь запустить AAA-игру на калькуляторе.

Патч: Хардкод и Кэширование

Как с этим борются топовые инженеры и предприниматели? Они снижают количество обращений к базе данных. Они занимаются хардкодингом рутины.

Stack Overflow в голове: Почему мы тупеем после 18:00 и зачем Сеньору «хардкодить» свою жизнь - 2

Помните черную водолазку Стива Джобса или серые футболки Марка Цукерберга? Многие считают это «отсутствием вкуса» или чудачеством. На самом деле – это жесткая оптимизация.

“Я очень хочу очистить свою жизнь, чтобы мне приходилось принимать как можно меньше решений… кроме того, как лучше всего служить этому сообществу,” — говорил Цукерберг.

Утром, открывая шкаф, они не запускают ресурсоемкий процесс Select * FROM Wardrobe WHERE style matches mood.... Они используют Pre-compiled Assets. Там лежит униформа. Выбор сделан один раз и захардкожен. Экономия: 10-20 кредитов в день, которые можно потратить на бизнес.

Чтобы оставить ресурсы CPU для великих дел, нужно перевести бытовуху из режима «Выбор» в режим «Скрипт».

Инженерный алгоритм оптимизации

Я применяю протоколы «Hardcode Defaults» и «Batch Processing». Вот 4 фичи, которые можно задеплоить в свою жизнь уже завтра, чтобы перестать тупить по вечерам.

1. Еда по конфигу (Default Config)

Выбор еды три раза в день – это сжигание минимум 50 кредитов (выбор ресторана, выбор блюда, сомнения, оплата, ожидание). Решение: Хардкодим завтраки (и, по возможности, обеды). Я ем одно и то же каждое утро. Овсянка с ягодами / Яичница. Точка. Я не стою у холодильника с мыслью «Чего бы мне хотелось?». Я просто исполняю скрипт breakfast.sh [6]. Результат: Zero-latency start. Голова свободна для планирования дня, а не меню.

2. Правило «Второй полки» (No-SQL подход)

В магазинах нас бомбардируют вариантами. 50 видов пасты. 30 видов кетчупа. Сравнивать составы, цены и упаковки каждый раз – это безумно дорогие запросы к мозгу. Решение: Выбираем один бренд один раз и кэшируем это решение. Всегда берем молоко “Бренд_Х”. Всегда пасту “Бренд_Y”. Мы не тратим ресурс на переоценку. Мы просто берем данные из кэша. Если этого бренда нет – берем любой аналог за 1 секунду (Fallback strategy).

3. Капсульный гардероб (Hardware Standardization)

Stack Overflow в голове: Почему мы тупеем после 18:00 и зачем Сеньору «хардкодить» свою жизнь - 3

Вещи, требующие сложного подбора (а подходят ли эти брюки к этим туфлям?), переносим в папку /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. А если реально пожар – вас найдут по звонку. Так вы перестаете дергаться от каждого «дзынь» в Телеграме, сохраняя фокус.

Вывод: Станьте Архитектором

Наша сила воли – это ак��умулятор. И мне, как инженеру, кажется абсолютно нерациональным тратить этот заряд на выбор носков, скроллинг меню доставки и реакцию [7] на пуши. Это утечка ресурсов, которую мы не можем себе позволить.

Я для себя решил: хватит быть «пользователем», который кликает на каждый поп-ап судьбы. Куда интереснее роль «Системного Архитектора», который один раз прописывает дефолтные значения в конфиг, чтобы система работала автономно.

Автоматизируйте рутину. Хардкодьте быт. Я хочу, чтобы на написание кода, построение бизнеса и жизнь у меня оставалось 95% заряда, а не жалкие 5%, выжившие после борьбы с бытовухой.

Ну или хотя бы на то, чтобы посмотреть сериал осознанно, а не потому что система зависла и не может найти кнопку «Выкл».


P.S. Я коллекционирую такие инженерные подходы к продуктивности. Если вам ближе термины Legacy и Refactoring, чем «поток» и «вибрации» – заглядывайте в мой Telegram-канал.

В следующей статье разберем еще один критический баг сеньоров: Infinite Loop. Обсудим, почему перфекционизм — это не «стремление к качеству», а ошибка [8] в условии выхода while(true), и как научиться нажимать кнопку Deploy, даже если код не идеален.

Автор: Systems_Engineer

Источник [9]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/22930

URLs in this post:

[1] мозг: http://www.braintools.ru/parts-of-the-brain

[2] зрения: http://www.braintools.ru/article/6238

[3] вкус: http://www.braintools.ru/article/6291

[4] стресса: http://www.braintools.ru/article/9548

[5] ганглии: http://www.braintools.ru/neuron-the-structure-of-nerve-cell/ganglia

[6] breakfast.sh: http://breakfast.sh

[7] реакцию: http://www.braintools.ru/article/1549

[8] ошибка: http://www.braintools.ru/article/4192

[9] Источник: https://habr.com/ru/articles/974142/?utm_source=habrahabr&utm_medium=rss&utm_campaign=974142

www.BrainTools.ru

Rambler's Top100