Сколько времени уходит на написание кода: реальная работа разработчика

PHP Город - Сколько времени уходит на написание кода: реальная работа разработчика

Свежие новости

Сколько времени уходит на написание кода: реальная работа разработчика

В представлении людей программист — это существо, поглощённое строками кода от рассвета до заката. Но всё ли так просто? Оказывается, реальное чистое время, которое разработчик тратит именно на написание кода, — удивительно мало. Исследования, опросы крупных 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 час

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

Почему не удаётся писать код 8 часов подряд

Почему не удаётся писать код 8 часов подряд

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

Исследования МТИ (Massachusetts Institute of Technology) в 2022 году показали: пик продуктивности большинства разработчиков приходится на середину дня. Потом идёт спад, а новые идеи приходят либо утром, либо ближе к вечеру. Причём концентрация во многом зависит от качества сна, освещения, количества отвлекающих факторов (например, шум в опенспейсе), а также — банально — от желания работать с конкретной задачей.

Та же команда из МТИ замеряла ещё один примечательный факт: каждый переход от одной задачи к другой "съедает" в среднем 23 минуты продуктивного времени! То есть, если программиста часто "дёргают" чаты, письма, коллеги или срочные баги, чистое время на код выливается буквально в песок.

Нельзя не учесть и эмоциональную компоненту. Мало кому удаётся сидеть как робот, не отвлекаясь на мемы, свежую ленту Twitter’а или совет коллеги в Slack. Если постоянно запрещать себе краткие перерывы, мозг быстрее устаёт, и итоговое количество багов растёт.

Как увеличить продуктивное время за кодом: личный опыт и рабочие трюки

Теперь к самому интересному: что делать, чтобы эффективного времени за написанием кода стало больше? Секретов нет, но опыт разработчиков из Петербурга, Москвы и не только подсказывает эти простые техники, которые реально работают:

  • Помогает ранжировать задачи по "энергозатратности" — сначала делать самое сложное, пока свежая голова.
  • Делить объёмные задачи на маленькие: так не страшно застрять, и каждое завершённое подзадание даёт прилив дофамина.
  • Работает техника Pomodoro: 25 минут без отвлечений, потом короткий перерыв. Так мозг не устаёт, а количество написанного кода возрастает.
  • Отдельное приложение для работы с задачами (например, Todoist, Jira или Asana) позволяет не держать всё в голове, а возвращаться к коду без лишней возни.
  • Выключить уведомления в мессенджерах, спрятать телефон — хотя бы на куски времени, чтобы уйти в "глубокую работу".
  • Регулярно уходить на свежий воздух или делать несколько упражнений для глаз. Проверено: если встать и пройтись хотя бы раз в час, возвращаешься к решению задач заметно бодрее.

Есть социальные хитрости. Программисты часто договариваются внутри команд: до 11 утра никто не мешает друг другу, все разбираются только с кодом. Все встречи и ревью — после обеда. Это здорово увеличивает продуктивное время.

Считается, что средний профессионал пишет примерно 10-30 строк рабочего кода за день. Даже если кажется, что это мало, на самом деле это — результат множества обсуждений, раздумий, тестирования и постоянного накопления знаний.

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

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

Написать комментарий