<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Мартин Фаулер on Михаил Шогин</title><link>https://mshogin.ru/tags/%D0%BC%D0%B0%D1%80%D1%82%D0%B8%D0%BD-%D1%84%D0%B0%D1%83%D0%BB%D0%B5%D1%80/</link><description>Recent content in Мартин Фаулер on Михаил Шогин</description><generator>Hugo -- gohugo.io</generator><language>ru</language><copyright>Михаил Шогин</copyright><lastBuildDate>Fri, 13 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mshogin.ru/tags/%D0%BC%D0%B0%D1%80%D1%82%D0%B8%D0%BD-%D1%84%D0%B0%D1%83%D0%BB%D0%B5%D1%80/index.xml" rel="self" type="application/rss+xml"/><item><title>Фаулер про LLM и разработчиков: cognitive debt, supervisory programming и кто на самом деле под ударом</title><link>https://mshogin.ru/blog/fowler-llm-developers/</link><pubDate>Fri, 13 Feb 2026 00:00:00 +0000</pubDate><guid>https://mshogin.ru/blog/fowler-llm-developers/</guid><description>&lt;img src="https://mshogin.ru/cover.svg" alt="Featured image of post Фаулер про LLM и разработчиков: cognitive debt, supervisory programming и кто на самом деле под ударом" /&gt;&lt;p&gt;Мартин Фаулер опубликовал заметки с встречи senior-разработчиков, посвященной LLM. Не очередной хайп про &amp;ldquo;AI заменит всех&amp;rdquo; - а трезвый разбор от людей, которые пишут код десятилетиями.&lt;/p&gt;
&lt;p&gt;Несколько тезисов зацепили настолько, что захотелось разобрать их подробнее. С примерами из собственной практики.&lt;/p&gt;
&lt;h2 id="mid-level-под-ударом-а-не-джуны"&gt;Mid-level под ударом, а не джуны
&lt;/h2&gt;&lt;p&gt;Обычно все переживают за junior-разработчиков: их-то заменят первыми. Фаулер с группой пришли к обратному выводу.&lt;/p&gt;
&lt;p&gt;Джуны адаптивны. Они росли с LLM, умеют ими пользоваться, открыты к новому. Сеньоры понимают архитектуру, видят систему целиком, эффективно управляют агентами - примерно как управляют джунами.&lt;/p&gt;
&lt;p&gt;А mid-level? Они сформировались без LLM, но еще не набрали достаточно опыта, чтобы эффективно ими управлять. Застряли между двумя мирами.&lt;/p&gt;
&lt;p&gt;На практике я вижу это так: mid-level разработчик умеет писать код. Хорошо умеет. Но когда LLM генерирует код быстрее - &amp;ldquo;умение писать код&amp;rdquo; перестает быть конкурентным преимуществом. А понимание &amp;ldquo;зачем этот код нужен&amp;rdquo;, &amp;ldquo;как он вписывается в систему&amp;rdquo;, &amp;ldquo;какие trade-offs мы принимаем&amp;rdquo; - это уже территория сеньоров.&lt;/p&gt;
&lt;p&gt;Один из участников рассказал показательную историю: сеньоры в их компании были резко против LLM. Но когда их заставили поработать руками - треть моментально стала pro-LLM. Практический опыт важнее теоретических страхов. Как пошутили на встрече, некоторые негативные мнения о LLM &amp;ldquo;остались в январе&amp;rdquo;.&lt;/p&gt;
&lt;h3 id="что-делать-mid-level"&gt;Что делать mid-level
&lt;/h3&gt;&lt;p&gt;Если ты mid-level - у тебя есть окно. Не в том, чтобы учиться промптить. А в том, чтобы быстрее набирать архитектурное мышление: понимание систем, trade-offs, бизнес-контекста. То, что LLM пока делает плохо.&lt;/p&gt;
&lt;h2 id="cognitive-debt-опаснее-technical-debt"&gt;Cognitive debt опаснее technical debt
&lt;/h2&gt;&lt;p&gt;Это, на мой взгляд, самый ценный тезис. Фаулер ссылается на исследование Margaret-Anne Storey и проводит параллель с technical debt.&lt;/p&gt;
&lt;p&gt;Её кейс: студенческие команды строили продукт, генерируя код с помощью LLM. К 7-8 неделе одна команда уперлась в стену - любое изменение ломало что-то неожиданное. Сначала обвинили технический долг. Но реальная проблема была в другом: никто в команде не мог объяснить, почему были приняты те или иные решения. Shared understanding - общее понимание системы - фрагментировалось и исчезло.&lt;/p&gt;
&lt;p&gt;Фаулер разделяет это на два слоя:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cruft&lt;/strong&gt; (хлам в коде) -&amp;gt; в когнитивной сфере это &lt;strong&gt;ignorance&lt;/strong&gt; (невежество) - незнание кода и домена&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Debt&lt;/strong&gt; (долг как метафора стоимости) -&amp;gt; либо платишь &amp;ldquo;проценты&amp;rdquo; (каждое изменение дороже), либо &amp;ldquo;гасишь тело&amp;rdquo; (инвестируешь в понимание)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Это точное попадание в то, что я вижу при приемке проектов. Не раз сталкивался с ситуацией: код написан грамотно, тесты есть, линтеры проходят - но никто не может объяснить, почему выбрана такая декомпозиция сервисов. Или зачем нужен этот промежуточный слой. Документация говорит &amp;ldquo;что&amp;rdquo;, но не говорит &amp;ldquo;зачем&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;С LLM-агентами cognitive debt будет масштабироваться: код генерируется быстрее, чем команда успевает его осмыслить. Скорость создания кода перестает быть ограничителем. Ограничителем становится скорость понимания.&lt;/p&gt;
&lt;h3 id="как-с-этим-работать"&gt;Как с этим работать
&lt;/h3&gt;&lt;p&gt;Несколько практик, которые помогают:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;ADR (Architecture Decision Records)&lt;/strong&gt; - фиксируем не &amp;ldquo;что решили&amp;rdquo;, а &amp;ldquo;почему решили и какие варианты отвергли&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Коучинговые вопросы на ревью&lt;/strong&gt; - вместо &amp;ldquo;используй Strategy pattern&amp;rdquo; спрашивать &amp;ldquo;какие варианты ты рассмотрел? какие trade-offs?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Обязательный контекст в PR&lt;/strong&gt; - не просто diff, а &amp;ldquo;зачем&amp;rdquo; это изменение нужно&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Если LLM генерирует код - пусть генерирует и ADR к нему. Хотя бы черновик для ревью.&lt;/p&gt;
&lt;h2 id="devex-и-agent-experience---это-круг"&gt;DevEx и Agent Experience - это круг
&lt;/h2&gt;&lt;p&gt;Laura Tacho сказала фразу, которая заслуживает стать мемом:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Venn Diagram of Developer Experience and Agent Experience is a circle&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Всё, за что годами боролись в developer experience - гладкий тулинг, понятная документация, чистая модульность, осмысленные имена - оказывается, помогает и LLM-агентам. Хорошая модульность и descriptive naming так же полезны для трансформера, как и для &amp;ldquo;более мягких нейронных сетей&amp;rdquo; (мозгов).&lt;/p&gt;
&lt;p&gt;И горькая ирония: менеджмент готов инвестировать в &amp;ldquo;smooth path для LLM&amp;rdquo;, но не готов был делать это для людей. Экзекьютивам не жалко денег на роботов, но жалко на разработчиков.&lt;/p&gt;
&lt;p&gt;Из моего опыта: чистая архитектура с явными зависимостями, маленькими интерфейсами и четкими слоями - это ровно то, что позволяет LLM-агенту эффективно работать с кодобазой. Когда я настраивал Claude Code для работы со своими проектами, разница была заметна сразу: в проекте с чистой архитектурой агент находит нужный контекст за секунды. В проекте-монолите с неявными зависимостями - путается, галлюцинирует, предлагает изменения не в тех файлах.&lt;/p&gt;
&lt;p&gt;Вывод неутешительный и простой: если ваша кодобаза - хаос для людей, она будет хаосом и для агентов. Инвестиции в DevEx теперь имеют двойной ROI.&lt;/p&gt;
&lt;h2 id="supervisory-programming-и-менеджерское-выгорание"&gt;Supervisory programming и менеджерское выгорание
&lt;/h2&gt;&lt;p&gt;Камилла Фурнье заметила:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The part of &amp;ldquo;everyone becomes a manager&amp;rdquo; in AI that I didn&amp;rsquo;t really think about until now was the mental fatigue of context switching&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Тренд &amp;ldquo;один программист управляет несколькими агентами&amp;rdquo; несет с собой ровно ту же болезнь, от которой годами страдают менеджеры: усталость от переключения контекста. Держать в голове 5 параллельных задач, ревьюить результаты из разных контекстов, ловить ошибки в коде, который ты не писал - это менеджмент, а не программирование.&lt;/p&gt;
&lt;p&gt;Фаулер осторожно предполагает, что два человека + агенты могут быть эффективнее, чем один человек + много агентов. Парное программирование нового формата: два мозга ловят ошибки &amp;ldquo;джинна&amp;rdquo; лучше, чем один.&lt;/p&gt;
&lt;p&gt;Мне эта мысль близка. В коучинге есть концепция: сам себе коучем быть нельзя, нужен внешний наблюдатель. С кодом похоже - второй человек видит то, что ты пропустил. А когда агенты генерируют код быстрее, чем один человек может ревьюить - второй мозг не роскошь, а необходимость.&lt;/p&gt;
&lt;h3 id="workload-creep"&gt;Workload creep
&lt;/h3&gt;&lt;p&gt;Фаулер также цитирует исследование из Harvard Business Review: в компании на 200 человек после внедрения AI сотрудники стали работать быстрее, брать больше задач, работать больше часов - часто без просьбы. Звучит как мечта менеджера. Но за первоначальным всплеском приходит: cognitive fatigue, выгорание, ухудшение качества решений.&lt;/p&gt;
&lt;p&gt;Это классический паттерн. Новый инструмент дает эйфорию -&amp;gt; берешь больше -&amp;gt; не замечаешь, как нагрузка выросла -&amp;gt; burnout.&lt;/p&gt;
&lt;h2 id="размер-команд"&gt;Размер команд
&lt;/h2&gt;&lt;p&gt;Уменьшатся ли команды? Фаулер склоняется к &amp;ldquo;нет&amp;rdquo;. Two-pizza teams (5-8 человек) останутся примерно того же размера - но будут делать значительно больше. Есть что-то фундаментальное в размере команды, что балансирует выгоды сотрудничества с издержками координации. LLM не едят пиццу, но они и не добавляют в team dynamics.&lt;/p&gt;
&lt;h2 id="будущее-ide"&gt;Будущее IDE
&lt;/h2&gt;&lt;p&gt;Отдельная тема - будущее IDE. LLM не заменяют IDE, а встраиваются в них. Переименовать функцию через LLM - это как забивать гвоздь микроскопом. Но LLM может оркестрировать инструменты IDE: увидеть, что &amp;ldquo;person&amp;rdquo; нужно переименовать в &amp;ldquo;contact&amp;rdquo; во всех контекстах (функции, поля, документация, тесты), и использовать детерминистические рефакторинги IDE для каждого из них.&lt;/p&gt;
&lt;p&gt;Мне как пользователю Emacs это особенно резонирует. IDE - это мощный инструмент, но мало кто использует его на полную. LLM может стать тем слоем, который знает возможности IDE лучше пользователя и подсказывает, когда использовать LLM, когда - детерминистический рефакторинг, а когда - их комбинацию.&lt;/p&gt;
&lt;h2 id="итого"&gt;Итого
&lt;/h2&gt;&lt;p&gt;Главные мысли из текста Фаулера:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mid-level под ударом&lt;/strong&gt; - не джуны, как все думали. Окно для роста: быстрее набирать архитектурное мышление&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cognitive debt &amp;gt; technical debt&lt;/strong&gt; - с LLM код генерируется быстрее, чем осмысляется. Ограничитель теперь - понимание, а не написание&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DevEx = Agent Experience&lt;/strong&gt; - инвестиции в чистую архитектуру дают двойной ROI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Supervisory programming = менеджерское выгорание&lt;/strong&gt; - context switching утомляет. Пара людей + агенты может быть лучше одиночки + много агентов&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workload creep&lt;/strong&gt; - эйфория от AI -&amp;gt; перегрузка -&amp;gt; burnout. Классика&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Текст Фаулера ценен тем, что он не про хайп и не про страх. Он про трезвую оценку: что меняется, что остается, и какие новые проблемы приходят вместе с новыми возможностями.&lt;/p&gt;
&lt;p&gt;А ты замечаешь cognitive debt в своих проектах?&lt;/p&gt;</description></item></channel></rss>