Представьте инженера, чьим советам по коду и архитектуре следуют тысячи программистов. Он создал Ruby on Rails, построил успешную компанию, а в свободное время гоняет на гоночных машинах. И пишет подкасты на миллионную аудиторию.
Это DHH — Давид Хейнемейер Хансон. Великий инженер, без шуток.
И недавно он сказал фразу, с которой я не согласен.
—
В подкасте DHH рассказывает про свою собственную ОС (да, он настолько крутой, что пишет свою ОС). Это Omarchy — agent-first ОС.
DHH хвастается, что смог снизить время установки до... Одной минуты. Реально. Представьте: вы купили ноут, вставили флешку и через минуту у вас ВСЕ ГОТОВО. Вместе с настройкой. Даже Mac'и так не умеют.
По его собственным словам, он потратил кучу времени, чтобы дойти до минуты. Когда ведущий спросил, а зачем гнаться за таким временем, DHH ответил:
Погоня за совершенством не требует объяснений.
Согласны? Красивая ведь фраза. Вкусная. И очень ОПАСНАЯ.
—
DHH делает Omarchy в том числе потому, что ему это нравится. Он сам говорит: пять минут достаточно, но минута — гораздо веселее. И тут вопросов нет.
Вопросы появляются, когда погоня за совершенством становится принципом.
DHH уже решил проблему долгой установки. Дальше выбор: продолжать ускорять или вложить конечный ресурс «время» куда-то еще?
Это ловушка, в которую я сам попадал. Я уже сделал чистый код, но ведь можно и чище. Мои тесты уже покрывают все сценарии, но я ведь могу написать еще.
В своих глазах я трачу время рационально, потому что делаю систему ЛУЧШЕ.
Но время не появляется из воздуха.
Любая инвестиция ресурсов в точку А неизбежно забирает их из какой-то другой точки В. Час, вложенный в скорость загрузки — это час, который инженер не вложил в стабильность. Это трейд-офф.
—
Стремление к совершенству, может быть, и не требует объяснений.
Но выбор того, где именно гнаться за совершенством — требует всегда.