Программирование: творчество или ремесло?
Почему у программиста с опытом меняется восприятие кода: разбираю, где заканчивается творчество и начинается ремесло — и почему это не обеднение, а взросление.
Обновлено: 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.
Как понять, что моё «творчество» в коде превратилось в хаос?
Простые сигналы: коллеги регулярно спрашивают, почему что-то сделано так, а не иначе; тесты проходят только у вас; в коде много «умных» одноразовых решений, которые сложно повторить. Это, как правило, не креатив, а недодизайн, который приятно выглядит.
Можно ли остаться «джуном души» и всё равно расти?
Можно, но узко. «Джун души» — это тот, кто продолжает кайфовать от кода ради кода. Этот режим работает в пет-проектах и в исследовательской работе, и там он полезен. В продуктовой разработке без перехода к ремеслу расти в сторону сеньора и тимлида почти не получится.
Итог
С одной стороны, мне не хочется отвечать на вопрос «творчество или ремесло» однозначно. С другой — если честно, для меня это скорее ремесло. Ремесло с вкраплениями творчества на определённых этапах, но всё же ремесло.
И знаете что? Это нормально. Не каждая профессия должна быть про вдохновение и порывы. Иногда достаточно просто хорошо делать своё дело: пробовать, развиваться, приобретать навыки, думать о результате, а не о процессе.
Серебряной пули нет — универсального ответа на вопрос «творчество или ремесло» тоже. Но лично я давно перестал искать в коде красоту ради красоты. И стал больше ценить код, который просто работает. Стабильно, предсказуемо, без сюрпризов.
Может, в этом и есть своя философия кода — не в том, чтобы писать красиво, а в том, чтобы писать правильно.