· 8 мин чтения

Программирование: творчество или ремесло?

Почему у программиста с опытом меняется восприятие кода: разбираю, где заканчивается творчество и начинается ремесло — и почему это не обеднение, а взросление.

Обновлено: 16 апреля 2026 г.

Когда я только начинал писать код, мне казалось, что программирование — это чистое творчество. Ты берёшь пустой файл и создаёшь из ничего что-то работающее. Придумываешь, как решить задачу красиво, элегантно. Пишешь что-то эдакое, чтобы прям ах. И это ощущение — когда из набора символов рождается продукт — было чем-то вроде магии.

Прошло много лет, и у меня честно поменялось отношение. Сейчас я бы уже не назвал программирование творчеством в первую очередь. Скорее — ремеслом с редкими вкраплениями творчества. И этот сдвиг, который я долго воспринимал как потерю, оказался не обеднением, а вполне конкретным профессиональным взрослением.

Главное

  • В начале карьеры код воспринимается как искусство. Через несколько лет — как ремесло, и это нормальная траектория, а не разочарование.
  • «Ремесло» в программировании — не принижение, а устойчивая философия. Manifesto for Software Craftsmanship (Wikipedia) прямо строится на идее «well-crafted software» выше «working software».
  • Творчество никуда не исчезает — оно переезжает на другой уровень: архитектура, процессы, решения о том, что не писать вообще.
  • Значительная часть «творческих» решений в коде — это на самом деле следствие неопределённости и отсутствия плана, которое мы потом романтизируем.
  • Лучший код — обычно самый скучный. И это хорошо.

Почему в начале пути код кажется искусством

Первый год-два в разработке ты пишешь код ради кода. Это возраст, когда новая конструкция языка кажется открытием, нестандартное решение — подвигом, а количество строк — метрикой усилия. Тебе нравится пробовать подходы, искать «эдакое», ставить себе вызов.

На самом деле это не творчество в чистом виде, а что-то ближе к детскому восторгу от возможностей новой игрушки. Ты впервые видишь, что можешь конструировать системы, — и у любого человека это вызывает азарт. Код здесь стоит не на своём месте (он у тебя в центре), зато само попадание в профессию ощущается как настоящее.

Я помню, как гордился одним хитрым декоратором, который сократил три похожих метода в один «универсальный». Через месяц пришёл новый коллега, сломал продакшен при попытке понять, что я там сделал, и потратил полдня, чтобы распутать мою «элегантность». Это был один из первых полезных ударов по юношеской эстетике.

Когда код перестаёт быть главным

С годами фокус сместился. Я стал меньше думать о красоте кода и больше — о результате. О пользовательском опыте. Об архитектуре не как об интеллектуальном упражнении, а как о способе построить продукт, который будет жить и развиваться.

Само программирование в этой картине заняло скромное место. Когда ты уже знаешь, что делать, как делать и в какой последовательности — творчества остаётся не так много. Разве что выбрать имя переменной. Или придумать название класса.

А дальше ты следуешь хорошим практикам. Договорённостям в команде. Просто используешь свои навыки. И в этом нет ничего плохого — это и есть ремесло.

Мой контекст: этот переход у меня совпал с первым большим проектом, который я описывал в посте про первый сложный проект. Там, где задача превышает твои силы, ты быстро перестаёшь играть с кодом и начинаешь искать просто работающие решения.

Почему ремесло — это не ругательство

Слово «ремесло» звучит приземлённо. Как будто убираешь из профессии что-то возвышенное. Но на деле всё наоборот. Ремесленник — это тот, кто делает своё дело хорошо и стабильно. Не на вдохновении, а на навыке. Не на энтузиазме, а на дисциплине.

В западной традиции эта линия хорошо артикулирована через движение software craftsmanship (Wikipedia). Его манифест прямо заявляет: «Not only working software, but also well-crafted software; not only responding to change, but also steadily adding value». То есть ремесло — это не «минимум для галочки», а подход, в котором «работает» — это базовое требование, а не главная цель.

За свой путь в разработке я прошёл через несколько этапов. Сначала — восторг от самого процесса. Потом — гордость за сложные решения. А затем — понимание, что лучшее решение часто самое простое. То, которое легко читается, легко поддерживается и не требует от следующего разработчика героических усилий, чтобы разобраться.

Это не потеря романтики. Это взросление в профессии.

Где тогда живёт творчество

Творчество в разработке никуда не девается. Оно просто переезжает на другой уровень. Вот как я это вижу сейчас:

  • Джуниор — творчество в коде. В конструкциях, приёмах, микрорешениях.
  • Мидл — творчество в дизайне модулей и компонентов. Как разложить систему, чтобы она не рассыпалась через год.
  • Сеньор — творчество в архитектуре и в выборе «что не писать». Часто лучшее архитектурное решение — не делать часть системы вовсе.
  • Ведущий или тимлид — творчество в процессах и принятии решений. Как команда работает, какие соглашения держат качество, как распределяются зоны ответственности.

У всех этих уровней одна общая черта: чем выше, тем меньше «красивого кода» в прямом смысле — и тем больше влияния на результат.

Почему «красиво» часто маскирует хаос

Есть и другая сторона, о которой я бы хотел сказать отдельно. Иногда то, что мы называем творчеством в программировании — это на самом деле следствие неопределённости. Беспорядка. Отсутствия чёткого плана. Ситуации, когда мы делаем что-то, а потом придумываем, как это применить. И это не творчество — это хаос, который мы романтизируем.

«Переписал этот модуль по-другому, потому что захотелось» — звучит творчески, но в 9 случаях из 10 это или не доведённый до конца старый дизайн, или попытка компенсировать размытые требования. С точки зрения команды и заказчика — это дорогое удовольствие, которое тянет проект назад.

Настоящее творчество в разработке — это не написать код, который никто не поймёт. Это найти простое решение для сложной задачи. Спроектировать систему так, чтобы через год её можно было развивать, а не переписывать. Сделать продукт, который решает реальную проблему. Про профессиональную привычку искать такие простые решения я подробнее писал в посте про критическое мышление программиста.

Что я вынес: если код хочется показать друзьям, скорее всего, с ним что-то не так. Если код читается как учебник и не содержит ничего удивительного — это, как правило, хороший код.

Что выбрать самому: ремесло или творчество?

Если вы сейчас в начале пути и боитесь, что «скатитесь в ремесло», — не бойтесь. Это не тупик, это нормальная и здоровая траектория. Ремесло даёт то, чего творчество само по себе не даст: предсказуемость, устойчивость, возможность работать в команде без постоянной переделки за собой.

Если вы уже в середине карьеры и чувствуете, что «огонь пропал» — это может быть сигнал двух разных вещей. Либо вы просто перешли в фазу, где код становится инструментом, а центр тяжести переезжает на архитектуру и продукт — и это хорошо. Либо вам действительно тесно на текущем уровне, и пора брать большую ответственность. Эти две ситуации часто путают, хотя ответы на них разные.

И да — можно не выбирать. Творчество и ремесло в разработке — не взаимоисключающие полюса, а скорее два режима мышления, которые полезно уметь переключать. Главное — не путать их местами.

Часто задаваемые вопросы

Программирование — это творческая профессия?

Частично. Элементы творчества есть на всех уровнях, но основная масса рабочего кода — это ремесло: применение отработанных паттернов, следование договорённостям команды, методичное улучшение существующих систем. Творчеству остаётся меньше места, чем обычно представляют люди, не работавшие в индустрии.

Это означает, что разработка — скучная работа?

Нет. Ремесло — это не про скуку, а про устойчивое качество. Интерес в зрелой разработке переезжает с «красивого кода» на «красивую систему», с микро-решений на макро-решения. Для многих это оказывается более глубоким видом вовлечённости, чем первоначальный код-романтизм.

Что читать, чтобы понять идею «ремесла» в программировании?

Хорошая точка входа — Manifesto for Software Craftsmanship и книга «The Pragmatic Programmer» Энди Ханта и Дэйва Томаса. Для общего контекста — статья Software craftsmanship в Wikipedia.

Как понять, что моё «творчество» в коде превратилось в хаос?

Простые сигналы: коллеги регулярно спрашивают, почему что-то сделано так, а не иначе; тесты проходят только у вас; в коде много «умных» одноразовых решений, которые сложно повторить. Это, как правило, не креатив, а недодизайн, который приятно выглядит.

Можно ли остаться «джуном души» и всё равно расти?

Можно, но узко. «Джун души» — это тот, кто продолжает кайфовать от кода ради кода. Этот режим работает в пет-проектах и в исследовательской работе, и там он полезен. В продуктовой разработке без перехода к ремеслу расти в сторону сеньора и тимлида почти не получится.

Итог

С одной стороны, мне не хочется отвечать на вопрос «творчество или ремесло» однозначно. С другой — если честно, для меня это скорее ремесло. Ремесло с вкраплениями творчества на определённых этапах, но всё же ремесло.

И знаете что? Это нормально. Не каждая профессия должна быть про вдохновение и порывы. Иногда достаточно просто хорошо делать своё дело: пробовать, развиваться, приобретать навыки, думать о результате, а не о процессе.

Серебряной пули нет — универсального ответа на вопрос «творчество или ремесло» тоже. Но лично я давно перестал искать в коде красоту ради красоты. И стал больше ценить код, который просто работает. Стабильно, предсказуемо, без сюрпризов.

Может, в этом и есть своя философия кода — не в том, чтобы писать красиво, а в том, чтобы писать правильно.

Комментарии