Я недавно стал тимлидом на одном из проектов нашей компании.

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

image

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

11:00 GMT+5


Мой рабочий день традиционно начинается в 11. Я живу по екатеринбургскому времени. Будучи рядовым разработчиком, я начинал работать с 9-10 утра, но когда стал тимлидом, подстроился под московских коллег. Множество вопросов в команде возникает под конец рабочего дня по московскому времени. Пришлось сдвинуть свое расписание под команду. Оказалось так даже удобнее: у моей подруги рабочий день теперь заканчивается в то же время.

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

image

В таком режиме хорошо решаются самые простые задачи, поэтому я отдаю это время формированию “картины дня”: проверяю почту, смотрю, что накопилось по изменениям, какие прилетели приглашения на встречи.

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

11:30


После получасовой “поездки” я перемещаюсь за удобное рабочее место с большим монитором. Пожалуй, это самое удобное место для меня в этом мире. Честно говоря, я сейчас вижу, как некоторые коллеги, неожиданно перейдя на удаленную работу из-за режима самоизоляции, сидят на кухне на обычных стульях. Я уже не представляю, как можно так долго работать. Перед выходом на удаленку в середине 2019 года я побеспокоился о своем комфорте заранее — купил удобные стол и стул. Кстати, стол может переключаться между двумя положениями. По нажатию одной кнопки он выезжает вверх и я могу немного поработать стоя.

image

12:45


Работа тимлида подразумевает много коммуникаций, но утром можно успеть сделать задачи, требующие глубокого погружения. А в 12:45 по местному времени начинается первый общий командный дейли-митинг. Цель митинга — обменяться статусами текущих задач. Нередко на эти встречи приходит бизнес, чтобы поговорить о ближайших планах.

Я заметил, что вынужденный всеобщий переход на удаленную работу на нашей команде сказался скорее положительно.

Во-первых, бизнес немного изменил процессы, возобновив регулярные созвоны. Раньше многие вопросы решались коллегами в офисе (в офлайне), а удаленная часть команды не могла на них присутствовать. Теперь же все происходит в онлайне. И я могу участвовать в их брейнстормах и обсуждениях. Доношу бизнесу взгляд команды. Это здорово и вдохновляет.

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

Конечно, есть отдельные люди, кому тяжело сориентироваться в новых условиях. У них упали темпы. Но большая часть команды у нас давно на удаленке, так что для них формально ничего не поменялось.

Обычно дейли-митинг укладывается минут в 15, после чего мы переключаемся обратно на работу.

14:00


В 14:00 по местному времени начинается уже внутрикомандное общение. Обсуждаем, кто и что сделал, с какими столкнулись проблемами. Здесь тоже мы вчера, как и всегда, уложились в 15 минут.

Оставшаяся часть дня — это решение поставленных задач и обсуждение один на один того, что нужно проработать совместными усилиями. Для этих внутренних коммуникаций мы используем Slack, в котором есть все необходимые функции. В него же приходят все уведомления. Изредка используется Календарь, куда приходят приглашения на созвоны от бизнеса. Став тимлидом, я постепенно перетягиваю общение с бизнесом на себя. Ранее на проекте было обычной практикой то, что сам бизнес коммуницировал напрямую с разработчиком, если видел, что какие-то задачи застревали. Сейчас мы планово уходим от этой практики. Такой подход полезнее и для бизнеса, и для самих разработчиков, так как их меньше отвлекают. Они могут сосредоточиться над решением задач.

16:00


Вчера у меня получилось устроить несколько сессий непрерывного кодинга по часу-полтора. Из-за обилия вопросов, которые приходится решать в роли тимлида, это получается не всегда. Будучи рядовым разработчиком, я делил вторую половину дня с помощью “помидорного” таймера, а в пятнадцатиминутные перерывы мог отойти — прилечь или наоборот сделать что-то активное. Но сейчас ко мне слишком часто возникают вопросы, в перерывах все равно приходится садиться обратно. Так что помидорные таймеры пока ушли в прошлое, как и спокойные отрезки времени более 1,5 часов.

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

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

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

19:30


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

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

В обратную сторону это тоже работает. У нас на проекте авралы случаются крайне редко. Поэтому иногда можно закончить рабочий день раньше (или отлучиться в середине дня), компенсировав это время в другой день. Достаточно написать команде, что я AFK, допустим, на 1 час. Все это видно будет потом по таймшит репорту, который каждый заполняет за себя сам — в этом мы доверяем друг другу.

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

Конкретное расписание во многом зависит от особенностей текущего релиза. Мы выкладываем результаты своей работы в продакшн примерно раз в две недели. Случается, что в релиз попадают крупные неделимые задачи и тогда этот срок увеличивается. Но в целом бизнес за то, чтобы выпускать релизы чаще.

В зависимости от частоты релизов, назначаются и все обязательные процедурные мероприятия.
Во-первых, раз в пару недель у нас проходит планирование одного из следующих релизов — мы обсуждаем задачи примерно на 3 релиза вперед. В отличие от ежедневных созвонов, планирование может растянуться до часа, отняв заметную часть рабочего времени. Не так давно мы перешли от переписывания проекта на новый фреймворк (мы переходили с Angular на React) к постепенному внедрению новых фич. И ближайшие несколько месяцев нам предстоит реализовать много интересного функционала, так что и на планированиях стало “горячо”.
Во-вторых, после каждого релиза проводится ретроспектива. Вне зависимости от того, как мы вышли в продакшн — хорошо или плохо — мы обсуждаем детали.

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

Все эти мероприятия полностью исключают ощущение однообразия в работе — каждая неделя строится по-своему, видна эволюция проекта, его перспективы. Хотя горизонт планирования у нас не так уж велик, я знаю, что впереди еще много интересного, и приступить к реализации этого можно будет уже завтра утром.

P.S. Мы публикуем наши статьи на нескольких площадках Рунета. Подписывайтесь на наши страницы в VK, FB, Instagram или Telegram-канал, чтобы узнавать обо всех наших публикациях и других новостях компании Maxilect.