Найти в Дзене

Мой рабочий день программиста

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

Мой рабочий день начинается в 9:00, а заканчивается в 17:30. Это грубая оценка, так как плюс минус 5 минут всегда есть колебания. Важное замечание – мой работодатель, как и большинство других, ратуют за свободный график, как некое благо. Да, это удобно, но это имеет вполне конкретные недостатки, о которых ниже. И так – 8 часов рабочий день и 30 минут на обеденный перерыв. Почему всего 30? Для того чтобы пообедать мне нужно минут 15. Я предпочту уйти домой на 30 минут раньше и провести дома с семьей, чем из принципа искать, чем занять себя на это время лишь бы не работать. Например, около двух лет я проработал на заводе стоя за станком. Там обед был строго – 1 час. Все обедали минут за 15, а остальное время или спали или играли во что-нибудь. Я предпочту домой пораньше.

9:00 - 9:30. Начинаем рабочий день. Завариваем кофе, узнаем в дружеской беседе как дела у коллег прошли вечером. У тех коллег, которые уже на работе, половина из них еще не приехала, и подобный ритуал прерывания «на 5 минут поболтать» в течение дня повторится еще раза 3. Слишком долго? Ну может быть. Но дело в том, что я не трудоголик. Я программист средней руки. Я сколько бы я за жизнь не встречал своих коллег – трудоголиков, которые бросаются в работу, едва переступая порог офиса – единицы. Остальные – чай, кофе, поболтать, санитарные процедуры. Я, например, не работаю рядом с домом, так что дорога, малость, утомляет и требует времени отдышаться и втянуться в атмосферу.

9:30 - 11:00. Ну, вот и начинаем работу. Начинаем мы ее с разбора того что произошло в твое отсутствие вчера. Напомню, мы приезжаем в разное время и уезжаем в разное время. Хоть немного времени нужно потратить на то, чтобы понять - не произошло ли кардинальных изменений. И всё это на фоне того что люди приезжают на работу и БУДУТ отвлекать. Хотя бы для того чтобы поздороваться. Сразу хочется еще оговориться – мы никогда не выключаем компьютеры. Мы, наверное, вселенское зло, впустую тратящее электричество. Однако скажу за себя – если я буду его выключать, то включать и настраивать его для работы буду еще полчаса. Запуск компьютера + запуск целого пучка программного обеспечения, которое не легкое. Выгрузка изменений из системы управления версиями и т.д. и т.п. Даже открыть все вкладки браузера – потребует времени.

11:00 - 11:30. Ежедневный ритуал – митап/митинг/планерка. Называйте, как хотите. Группа собирается и последовательно отвечает на 3 вопроса:

1) Что я делал вчера?

2) Что я буду делать сегодня?

3) С какими проблемами я столкнулся?

Это часть гибких методологий, личное отношение к которым я уже описывал здесь и здесь. Это времяпрепровождение не из цикла хочу/не хочу. Это будет. К этому совещанию может подключиться любой сотрудник компании просто, чтобы понять - чем занимается группа. Мне, как руководителю, важно чтобы данный процесс не превратился в процесс ради процесса и не начал выглядеть как «Я работал вчера, буду работать сегодня» или «Вчера работал по багам, а сегодня по задачам». Слишком долго? Да, слишком долго. Потому что после него – лучшее время провести короткое совещание по архитектуре, не прерывая работу в течение остального дня.

11:30 - 13:00. Продолжаем работу. Надеемся, что после митинга не придется проделанную работу откатывать назад или переключаться на другую задачу. Мы же гибкие? Руководство может принести задачку с большим приоритетом, нежели текущие. Или вообще – оказывается, что задача больше не актуальна по тем или иным причинам.

13:00 – 13:30. Обед. Да, сейчас это действительно обед. А еще пару лет назад это была попытка поесть за 15 минут так что бы никто не нашел на кухне с вопросом «Слушай, у нас тут проблема».

13:30 – 15:30. Полноценная тихая работа. Ты сыт, ты доволен. Коллеги, скорее всего, тоже притихли, прильнув к своим задачам. Кажется это именно тот момент, когда рождается наш продукт.

15:30-16:00. Перерыв/Прогулка. Если кто не в курсе – то согласно действующему законодательству, я имею право не перерыв после двух часов работы за компьютером. Момент на самом деле сомнительный. Перерыв делают все, это их честное законное право, но кто-то разминается и пьет кофе, кто-то болтает на отвлеченные темы в зоне отдыха. А кто-то может убежать в магазин.

16:00 - 17:30. Финишная прямая. Работа идет уже на фоне мыслей в голове о том, что нужно сделать по дороге домой. Куда заехать, что купить, что сделать. Плюс это всё на фоне банальной усталости от рабочего дня и подступающего голода. Особенно интересны последние минут 20, когда частота поглядывания на часы обратно-пропорциональна важности и интересности задачи. Т.е. если это мелкий баг – скорее всего взгляд от часов не отлипает. Хотя это все конечно на совести сотрудника.

Ну что получилось? 6,5 часов. Ну, вроде неплохо. Выглядит как полноценный рабочий день. Да. Как сферический полноценный рабочий день в вакууме. Из этого времени надо вычесть нерегулярные совещания и встречи. Обсуждения архитектуры, которые могут возникнуть стихийно. 2 раза в неделю мы проводим демонстрации с отчетом о проделанной работе, что съест еще немного времени. Оставшуюся часть времени надо поделить на 3. Так как помимо самой разработки, надо посвятить время на тестирование написанного, и на написание unit/integration тестов. Много получилось в итоге? Думаю если будет часа 2-3, то это будет хорошо. Вот время, которое я видимо, посвящаю чисто разработке и исправлению ошибок. И это еще я не говорю про чтение технического задания, анализ причин ошибок, обсуждение с тестировщиком как тестировать мои задачи, мониторинг сервисов и еще много чего. Видимо нужно чем-то жертвовать для повышения объема выдаваемого продукта? Лично я жертвую личным тестированием, ограничиваясь написанием тестов. Однако практика показывает, что мои коллеги предпочитают наоборот – тестировать руками и не писать тесты. Правильно ли это? Время покажет. Посмотрим как «рыночек порешает».