21 ноября, 2024
6 ноября, 2024
31 марта, 2025
16 июня, 2025
В представлении людей программист — это существо, поглощённое строками кода от рассвета до заката. Но всё ли так просто? Оказывается, реальное чистое время, которое разработчик тратит именно на написание кода, — удивительно мало. Исследования, опросы крупных IT-компаний и взгляд изнутри рушат стереотипы. Некоторые даже удивляются, как при таком раскладе еще получается запускать сложные проекты и выпускать обновления вовремя.
Казалось бы, писать код — значит стучать по клавиатуре, создавать функции, исправлять баги и пробовать новые подходы. Но если спросить десяток разработчиков, что они вкладывают в понятие "писать код", ответы будут совершенно разными. Для кого-то это — и проектирование, и чтение документации, и обсуждение задач, и рефакторинг, а кто-то считает только моменты, когда курсор мигает в редакторе прямо в файле .js, .py или .cs.
В Google, Microsoft, JetBrains и других IT-гигантах проводили внутренние замеры: с помощью анализа git-коммитов, мониторинга действий за компьютером и даже добровольных self-report опросов. Причём цифры флуктуируют, но усреднённое "чистое" время программирования, когда пишется свежий код (а не читается чужой или правится баг), обычно укладывается в 1-3 часа из 8-часового дня.
Оставшиеся 5–7 часов? Документирование, ревью чужого кода, встречи (standup, ретроспектива, груминг задач), анализ требований, помощь коллегам, тестирование и многократное переключение контекста между задачами. Благодаря этим процессам и рождается эффективный разработчик, а чистый результат — стабильный, масштабируемый, поддерживаемый софт с минимумом сюрпризов на проде.
Разговоры про продуктивность программистов часто обрастают догадками и мифами. В 2023 году компания Stack Overflow опросила свыше 70 тысяч разработчиков по всему миру. Один из самых интересных вопросов — "Сколько времени ежедневно вы тратите на написание кода?" Цифры поразили даже самих рекрутеров. Только 33% респондентов ответили, что пишут код более четырех часов в день. Больше половины признались: "Чисто программированием занимаюсь не дольше двух часов".
Есть и технические способы измерить это время. Приложения RescueTime, WakaTime, Codealike могут отслеживать активность в редакторах кода, фиксируя, сколько именно минут человек проводит в реальном редактировании исходников (vs просмотр почты или участие в Zoom-митингах). Вот примерная статистика производительности при стандартном 8-часовом рабочем дне:
Вид активности | Среднее время в день |
---|---|
Чистое программирование | 1,5-2,5 часа |
Код-ревью и исправление багов | 1-1,5 часа |
Встречи и обсуждения | 1,5-2 часа |
Чтение документации и обучение | 0,5-1 часа |
Время на переключение между задачами, коммуникацию | 1 час |
Перерывы, кофе, отдых, рефлексия | 0,5-1 час |
На первый взгляд, кажется, что программисты постоянно отвлекаются. Но вся эта "немолочная" работа — обязательная часть процесса. Если убрать её, проекты превращаются в хаос, баги множатся, а время на исправление ошибок растет в геометрической прогрессии.
В мире нет профессий, где можно максимально концентрированно выполнять сложную мыслительную работу весь рабочий день без перерыва. Программирование особенно энергозатратно для мозга. За счёт постоянных мини-решений, поиска оптимальных решений, чтения чужих идей и адаптации приходится не только печатать, но и держать десятки деталей в голове. Уже через час-двa интенсивного программирования мозг начинает замедляться — буквы слипаются, появляются опечатки, сложнее схватить логику задачи.
Исследования МТИ (Massachusetts Institute of Technology) в 2022 году показали: пик продуктивности большинства разработчиков приходится на середину дня. Потом идёт спад, а новые идеи приходят либо утром, либо ближе к вечеру. Причём концентрация во многом зависит от качества сна, освещения, количества отвлекающих факторов (например, шум в опенспейсе), а также — банально — от желания работать с конкретной задачей.
Та же команда из МТИ замеряла ещё один примечательный факт: каждый переход от одной задачи к другой "съедает" в среднем 23 минуты продуктивного времени! То есть, если программиста часто "дёргают" чаты, письма, коллеги или срочные баги, чистое время на код выливается буквально в песок.
Нельзя не учесть и эмоциональную компоненту. Мало кому удаётся сидеть как робот, не отвлекаясь на мемы, свежую ленту Twitter’а или совет коллеги в Slack. Если постоянно запрещать себе краткие перерывы, мозг быстрее устаёт, и итоговое количество багов растёт.
Теперь к самому интересному: что делать, чтобы эффективного времени за написанием кода стало больше? Секретов нет, но опыт разработчиков из Петербурга, Москвы и не только подсказывает эти простые техники, которые реально работают:
Есть социальные хитрости. Программисты часто договариваются внутри команд: до 11 утра никто не мешает друг другу, все разбираются только с кодом. Все встречи и ревью — после обеда. Это здорово увеличивает продуктивное время.
Считается, что средний профессионал пишет примерно 10-30 строк рабочего кода за день. Даже если кажется, что это мало, на самом деле это — результат множества обсуждений, раздумий, тестирования и постоянного накопления знаний.
В Санкт-Петербурге многие компании стараются не замерять успех разработчика по количеству строк или времени за редактором, а судят по тому, насколько стабильно и качественно живёт продукт, насколько быстро и слаженно решаются нерядовые проблемы. Ведь конечный смысл работы — не в количестве кода, а в его влиянии на результат.
А если хочется узнать, что делать дальше, когда чувствуешь себя "лимоном после марафона" — просто сходи прогуляться по набережным Невы, отдохни и возвращайся к проекту с новыми силами. Код станет проще, а решений — больше.
Написать комментарий