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

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

И это не ощущения «кажется, я сегодня ничего не написал», а данные исследований.

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

Исследование Microsoft: реальная и идеальная рабочая неделя разработчика 

В 2024 году Microsoft Research опубликовала исследование Time Warp: The Gap Between Developers’ Ideal vs Actual Workweeks. В нём приняли участие почти 500 разработчиков. Их попросили описать две версии рабочей недели: реальную и идеальную. 

В среднем, по данным Microsoft:

  • на написание кода уходит около 10–15% времени;

  • примерно столько же занимает отладка и исправление ошибок;

  • коммуникации и встречи съедают больше времени, чем программирование;

  • остальное — это code review, документация, поддержка, согласования, настройки, помощь коллегам.

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

  • программирование должно занимать в два раза больше времени;

  • архитектура и проектирование — заметную часть недели;

  • встречи — реже и короче;

  • рутина — по возможности автоматизирована;

  • больше времени на глубокую, сосредоточенную работу без отвлечений.

На графике все это выглядит следующим образом:

Главный инсайт Microsoft

В Microsoft Research обнаружили прямую связь: чем сильнее разрыв между идеальной и реальной неделей, тем ниже удовлетворённость и ощущение собственной продуктивности.

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

Что говорят другие исследования

Последнее исследование Microsoft не единственное, где описываются подобные наблюдения.

В исследовании Today was a Good Day (Meyer et al.) наблюдали за ощущениями разработчиков через интервью и дневники. Оно показало, что хороший день по их мнению — это тот, где удалось поработать, не разрываясь между задачами. Плохой день, наоборот, почти всегда состоит из встреч, срочных вопросов, неожиданных просьб и постоянных переключений контекста. Код в такие дни тоже пишется — просто фрагментами и без ощущения прогресса.

Отчет IDC смотрит на ту же проблему с индустриальной точки зрения. Аналитики изучали, на что разработчики тратят рабочее время в компаниях разного масштаба. В отчете сделали вывод, что программирование редко занимает больше 20% недели. Основную часть времени съедают поддержка существующих систем, тестирование, работа с инфраструктурой, документация и операционные задачи.

SonarSource в исследовании How Much Time Do Developers Spend Actually Writing Code? добавляют важную деталь. Большая часть инженерной работы — не создание нового функционала, а работа с уже существующим кодом: рефакторинг, исправление багов, улучшение качества, борьба с техническим долгом. Это сложная, интеллектуальная работа, но она редко воспринимается как «настоящая разработка».

Cortex в своём отчёте о продуктивности делает акцент на скрытые потери. Ожидания ответов и другие блокеры, переключения контекста отнимают до 15 часов в неделю. Это почти два рабочих дня, которые формально есть, но фактически исчезают.

Почему миф «разработчик = кодер» опасен

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

Но в реальности современная разработка — это сложная система взаимодействий. Код — её ядро, но не единственный элемент. 

«Разработчика отличает не только умение писать код, но и инженерное мышление. Даже простая задача вроде добавления кнопки требует множества решений: как её реализовать, как она будет использоваться и каким окажется её жизненный цикл в продукте. Человек, который просто пишет код, сделает кнопку. Инженер задаст десятки вопросов — о смысле, инструментах, последствиях и контексте.

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

Что разработчики готовы отдать автоматизации и AI

Исследование Microsoft и другие отчёты показывают: разработчики вовсе не боятся, что AI-инструменты их заменят. Но они не ��отят, чтобы он делал за них интересную часть работы.

Зато с радостью готовы делегировать:

  • документацию;

  • шаблонный код;

  • тесты и проверки;

  • анализ логов;

  • настройку окружений;

  • рутинные DevOps-задачи.

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

Итог

Иногда, чтобы сделать день разработчика лучше, достаточно убрать один лишний митинг – или делегировать рутинные задачи (например, написание документации) ИИ. 

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

P.S. А из чего состоит ваш рабочий день и каким бы хотели видеть его в идеальном мире?