Привет! Меня зовут Газимагомед, я разработчик в PaaS-направлении Авито. Я прочитал книгу Ваутера Грунефелда «Креативный программист» и в этой статье рассказываю о своих впечатлениях. В тексте я сделал сжатый разбор всех глав книги, изучил семь рекомендуемых автором качеств креативного программиста и провел параллели с собственным опытом.

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

Что внутри статьи:

Об авторе

Для кого эта книга

7 необходимых ингредиентов

Наличие технических знаний

Коммуникативный навык

Умение работать в условиях ограничений

Критическое мышление

Любознательность

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

Творческие методики

Итог

Об авторе

Ваутер Грунефелд — инженер-программист, исследователь в области Computer Science и профессиональный хлебопек. Ваутер был разработчиком корпоративного ПО на протяжении 11 лет, вдохновлявшим и обучавшим других. После нескольких лет работы он занялся преподаванием, коучингом и интеграцией новых сотрудников. Наблюдая за неудачами многих программных проектов, он задался вопросом: что значит быть хорошим разработчиком? Поиски решения этого вопроса привели к тому, что в 2018 году он оставил работу в IT-индустрии и вновь влился в научное сообщество. С тех пор Ваутер проводит исследования нетехнических навыков в мире разработки ПО.

Для кого эта книга

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

Семь необходимых ингредиентов

По мнению автора креативный программист — это «жгучая смесь», состоящая из семи ингредиентов:

  • наличие технических знаний;

  • коммуникативный навык;

  • умение работать в условиях ограничений;

  • критическое мышление;

  • любознательность;

  • поддержание творческого состояния ума;

  • творческие методики.

Эти семь ингредиентов — как специи в блюде: каждый в отдельности важен, но только вместе они создают тот самый вкус, который делает программирование творчеством, а не рутиной.

Наличие технических знаний

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

Лично меня эта глава вдохновила на создание аккаунта в Obsidian и перенос заметок из разных источников в одно место. Более того, это первая книга, которую я законспектировал полностью.

Автор описывает процесс усвоения знаний как движение по нескольким ступеням:

  1. Потребление информации

  2. Пропуск информации через фильтр интересов

  3. Синтезирование собственных мыслей

  4. Занесение этих мыслей в личную базу знаний

  5. Применение знаний на практике

Согласен ли я с автором насчёт ведения заметок? Скорее да, чем нет. Безусловно, есть люди, которым достаточно один раз прочитать книгу или прослушать курс лекций, чтобы затем успешно применять полученные знания. Я не из их числа. Мне часто бывает сложно вспомнить, как работал алгоритм X в условиях Y или какой инструмент лучше использовать в той или иной ситуации. 

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

Коммуникативный навык

В этой главе автор делает акцент на важности окружения. Вы можете задаться вопросом: «А как это связано с креативностью?» — и это вполне резонно. Но ответ прост: нередко именно окружение становится источником вдохновения и генератором идей.

Тут еще больше контента

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

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

Умение работать в условиях ограничений

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

Однако в главе речь идёт о другом. Автор говорит об ограничениях, продиктованных внешними условиями: ограничениями, которые человек накладывает на себя сознательно, или которые возникают из-за технических и ресурсных рамок.

Один из ярких примеров последних — история из книги:

В 1984 году стандартную на тот момент графику CGA сменила EGA — восьмибитная видеокарта с памятью всего 64 Кбайт. Она могла отображать лишь 16 фиксированных цветов. И всё же художник Марк Феррари из LucasArts добился визуального прорыва в The Secret of Monkey Island: он использовал технику сглаживания (dithering), чередуя пиксели разных цветов в шахматном порядке, чтобы создать иллюзию богатой палитры. Эффект усиливался особенностями ЭЛТ-мониторов, смешивавших соседние пиксели. Позже та же техника была применена в Loom, а затем — и в VGA-версии Monkey Island, уже с полноценной палитрой из 256 цветов. Но именно ограниченность EGA подтолкнула художников к настоящему изобретательству.

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

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

Это как в Minecraft: сначала играешь в режиме выживания, где каждый блок даётся с боем, а потом переходишь в творческий режим. И только тогда по-настоящему начинаешь ценить свободу.

Критическое мышление

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

Возможно, вы слышали о профессоре Барбаре Оакли, которая описывает два ключевых режима мышления. Первый — «рассеянный»: когда мозг отключается от задачи, блуждает, уходит в ассоциации. В этом состоянии часто рождаются самые нестандартные идеи. Знакомо чувство, когда вы просто гуляете, не думая ни о чём конкретном — и вдруг вам в голову приходит неожиданное, но элегантное решение, как оптимизировать компонент в кодовой базе? Мне — очень знакомо.

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

Но особенно мне запомнился один момент, который прямо перекликается с моей разработческой практикой. Это — предвзятость подтверждения. Представим ситуацию: между сервисами A и B настроена коммуникация. Мне хорошо знаком сервис A, но о внутренней логике сервиса B я почти ничего не знаю. Вдруг приходит алерт: сервис A не может достучаться до B. Через какое-то время проблема исчезает сама собой. Мне лень копаться в причинах, и я начинаю строить догадки. А потом — верю в одну из них как в истину. И всё: вопрос «закрыт», хотя по сути я просто выбрал наиболее удобную версию.

Кликни здесь и узнаешь

Эта привычка — принимать гипотезу за доказанный факт — опасна. Она тормозит рост и мешает понять суть проблемы. Поэтому важный вывод, который я для себя сделал и который подчёркивает автор: если вы не уверены на 100%, подвергайте сомнению свои выводы. И не ленитесь уделить время исследованию, даже если на первый взгляд «всё и так понятно».

Любознательность

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

Всё сообщество разработчиков снова и снова становится свидетелем появления удивительных проектов, и почти всегда их история начинается одинаково — с простого вопроса: «А что, если…?». «А может ли инструмент X работать с технологией Y?» или «А почему никто ещё не попробовал сделать вот так?». Именно такие моменты запускают цепочку открытий.

Мне особенно запомнился вот этот отрывок из книги:

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

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

В этой главе также поднимается важная тема — мультипотенциал. Это люди, которым тесно в рамках одной профессии, которые чувствуют внутреннюю потребность развиваться сразу в нескольких направлениях. Им бывает непросто уживаться в современном обществе, где по-прежнему высоко ценится узкая специализация. Но именно такие люди чаще всего становятся проводниками перемен — они умеют соединять, сопоставлять и переосмыслять.

Мне особенно откликнулась мысль автора о многомерном развитии. Независимо от профессии — будь ты программист, юрист или аналитик — важно не зацикливаться на одном треке. Любознательность питается разнообразием, а креативность рождается на пересечении разных знаний, подходов и взглядов.

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

Когда вы в последний раз по-настоящему погружались в поток? В то состояние, когда код будто пишет себя сам, а время перестает существовать. Это одно из тех редких ощущений, за которое мы и влюбляемся в программирование — чувство полной вовлеченности, когда каждое действие кажется осмысленным и точным.

Но в современном мире войти в поток становится все труднее. Наше внимание стало самым дефицитным ресурсом, за который развязана настоящая война. Стоит только начать работу, как приходит сообщение в мессенджере, мигает уведомление из Discord, где друзья зовут на игру, или всплывает напоминание о новой встрече. Даже сама работа, казалось бы, призванная приносить результат, иногда превращается в череду отвлечений — постоянные звонки, нескончаемые чаты, бесконечный контекст-свитчинг.

Даже если удается отгородиться от внешнего шума, встает другой вопрос: как настроить мозг на нужную волну? Как включить ту самую глубину мышления, при которой рождаются идеи и приходят решения?

Здесь может помочь простая прогулка — не ради цели, а ради процесса. Это переключает нас в режим рассеянного мышления, о котором я писал выше — именно в таком состоянии мозг расслабляется, а идеи начинают возникать естественно. Иногда самый важный кусочек головоломки всплывает именно в такие моменты. Не стоит забывать и о банальной, но важной вещи — организации рабочего пространства. Рабочее место, где ничто не раздражает глаз и всё находится под рукой, становится не просто удобной, а поддерживающей средой для потока. 

Творческие методики

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

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

Мне очень понравился пример, приведённый в книге:

Каждые семь лет графический дизайнер Штефан Загмайстер покидает свою студию и уходит в отпуск длиной в год. Во время этого длительного перерыва он как губка впитывает впечатления: новые культуры, города, природу. Всё это становится источником вдохновения для будущих проектов. Некоторые места, в которых он бывал, «спонтанно вызывали удивительное вдохновение».

Вряд ли мой работодатель одобрит отпуск на год, да и финансовая подушка для такого подвига нужна немаленькая. Но сам принцип — взять паузу, чтобы наполниться чем-то новым — кажется мне крайне ценным.

Из разговора о перерывах автор переходит к теме инструментов креативного программиста. Хотя речь идет об инструментах, я бы скорее назвал их привычками. Энди Хант в своей книге The Pragmatic Programmer советует изучать по одному языку программирования в год. В университете я активно следовал этой рекомендации, иногда изучая даже несколько языков одновременно. Это было увлекательно, будто я путешествую по разным «странам» в мире IT.

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

Итог

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

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

Конечно, нельзя гарантировать, что после прочтения этой книги ты уверенно становишься креативным программистом, но по крайней мере, это помогает выстроить путь к достижению цели. К примеру, благодаря этой книге я начал вести заметки в Obsidian. Я и до этого знал об этом продукте, но книга лишь укрепила во мне мысль о необходимости вести заметки обо всем, что я где-либо видел или слышал (в рамках разумного, конечно же). 

Завершить я хочу вдохновляющим отрывком из книги

Если я и хочу, чтобы вы вынесли что-либо из этой книги, так это гибкое представление о творчестве как о навыке, которому можно обучиться и которым можно овладеть, как программированием на Elixir или Scala, как свободным владением командной строкой в Unix и как знанием шаблонов проектирования ПО масштаба предприятия. Творческим человеком может быть каждый. Творческие способности — это не то, с чем рождаются или к чему нужно иметь особый талант. Творчество не является магией, присущей только Рембрандтам, Кандинским, Ван Гогам, Мадоннам, Майклам Джексонам, Линусам Торвальдсам или Стивам Джобсам. 

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

Жми сюда!

Если появилось желание прочитать книгу целиком — купить «Креативный программист» можно в издательстве «Питер» на их сайте или на OZON. Есть у меня и промокод — если введёте «Креативный» при заказе этой и любой книги на сайте издательства, то получите скидку в 25%.

Спасибо за уделенное статье время! Надеюсь, вам было интересно, а то, что я рассказал в статье, поможем вам развиваться и совершенствоваться в профессии.

А вы считаете себя креативным программистом? Есть ли у вас перечисленные выше качества? Расскажите об этом в комментариях!

До новых встреч!

Комментарии (6)


  1. RodionGork
    26.05.2025 06:57

    Любопытно, а Вы эту книгу купили или в библиотеке на работе взяли?

    Просто интересно знать найдутся ли покупатели на такую "водянистую" литературу, извиняюсь :)

    Креативность это во-многом черта характера и писать книги о том как нужно развивать в себе любознательность - ну это такое... странная идея. Просто есть программисты которые в нерабочее время пишут код "чтобы отдохнуть" и лабают собственные проекты, забрасывают их, делают новые и т.п... Другим это чуждо - они работают программистами просто потому что когда-то узнали что в IT хорошо платят и смогли "войти в IT" - но в свободное время у них совершенно другие приоритеты.


    1. threadedstream Автор
      26.05.2025 06:57

      книгу эту я не покупал и в библиотеке не брал, читал в яндекс книгах. Она иллюстрирует возможность посмотреть на креативность немного под другим углом. У каждой работы есть свои противники и сторонники. Я не скажу, что был согласен с автором на протяжении всей книги. Да, там были моменты, которые казались несколько банальными, ну или же идеи, с которыми я не был согласен, но в целом, сама идея того, что креативность многогранна мне симпатизирует.
      P.S
      Насчет покупки книги - тут уже на вкус и цвет. Кого-то эта книга заинтересует, ну а кто-то посмотрит на нее и забудет через 5 секунд. Впрочем, как и со всеми другими книгами.


    1. Pardych
      26.05.2025 06:57

      Вы очень молоды. Писать код чтобы отдохнуть и в айти за деньгами это современные легенды. Я люблю свою работу и я ей учился в 90-е не за деньги. Но упаси господь ее делать для отдыха.


  1. aelaa
    26.05.2025 06:57

    Два качества: быть креативным и быть программистом


  1. muhachev
    26.05.2025 06:57

    Судя по содержанию - книга ни о чём.

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

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

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

    И даже эта идея, что креативность многогранна - банальщина, которая не оправдывает неразборчивость автора статьи. Вместо того, чтобы сделать честный критический разбор, раз уж был несогласен в чём-то, пропиарил зло.


  1. popug
    26.05.2025 06:57

    интересный подход к программированию, не удивительно, что "некоторым" такой подход не нравится, ведь нужно работать только для получения бабок и работать ради работы, подойти к работе с другой точки зрения ни-ни)) и даже книга тут ни при чем)