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

Релиз

17 июля, 11:23 — Готовим релиз

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

Казалось бы, это моя вина: задача висит с утра пятницы. Почему я не мог зарелизить ее сразу, как только она прошла тестирование? Я когда-то задавался таким вопросом, но потом дядя SRE сказал:

Нам объяснили, что релизить по пятницам небезопасно: вряд ли кто-то горит желанием в случае чего в выходные разбираться с проблемами. Да и пользователи не оценят по достоинству накидывание новых фич на вентилятор прямо перед заслуженным отдыхом. Сегодня начало новой недели, все вышли работать со свежими силами, а значит, можно раскатать наш релиз. В случае чего целая неделя впереди. И тут вопрос номер два: почему задачу не зарелизить тестировщику, раз он последний с ней работал? Обычно релизы — это их прерогатива. А все дело в том, что нашего стажера-фронтендера нужно познакомить с процессом релиза и команда поручила мне на живом примере показать ему, как это у нас работает. А я только за.

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

17 июля, 12:12 — Куда я жмал?

Узнали от пользователей о баге на проде. Баг совершенно случайно появился после свежего релиза и, конечно, «никак с ним не связан».

Ой, да кому я вру… Именно поэтому релизами у нас занимаются тестировщики, а не фронтендеры. Они проверяют, что прод не взорвался после выпущенных изменений, а я этого не сделал. Итог:

И конечно, если тестить прод я по-хорошему должен, но не обязан, то бежать с подгоревшей жо… и чинить все, что поломано, — моя прямая обязанность. Так что бойся, баг: я тебя породил, я тебя и удалю!

17 июля, 12:31 — Хотфиксим

Поскорее бы Господь забрал мою бренную душу.

В целом все идет по плану. Включил себе ретровейв для фона и активно ищу ошибку в коде. Пользуюсь типично «профессиональными» средствами отладки: вставлю console.log сюда, console.log туда, ну и здесь он тоже не помешает. Перезапускаю проект и смотрю, какой жук попадется в расставленные мною ловушки…

17 июля, 13:24 — Как ни в чем не бывало

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

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

One-to-one

18 июля, 16:15 — 1-2-1

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

К сегодняшней встрече я подготовил несколько неудобных вопросов о новых процессах в команде, и у начальника не получится от них отвертеться ???? А еще, судя по страничке нашего 1:1, со стороны лида на повестке обсуждение новой для меня роли куратора стажера. Встреча обещает быть интересной…

18 июля, 17:02 — После 1-2-1

Снова хотел пожаловаться на жизнь, а получил +100500 персональных задач на вики. Прости, стажерчик, но часть команды — часть корабля, а я как раз учусь делегировать свои задачи. Хе-хе…

Лайны, доклады, митапы

20 июля, 14:37 — Считаю ворон платформенные встречки

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

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

Ага, как же. Со временем в расписании добавилось еще несколько регулярных встреч: разные доклады, встречи по производительности, внутренние митапы по JS и Angular — и так до бесконечности.

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

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

А вот и уведомление о том, что через 15 минут начнется встреча круглого стола…

20 июля, 15:00 — Круглый стол фронтендеров

Снова собрались ангулярщиками, чтобы поделиться темами для обсуждения. Началось с традиционного холивара по поводу того, какой фреймворк для тестирования лучше: Cypress или Playwright. После 20-минутных дебатов кто-то додумался сменить тему. Мы обсуждали способы работы со стейтом приложения, собирали статистику использования разных IDE и решили ввести практику random coffee среди всех желающих.

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

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

Обзор поставки

25 июля, 11:58 — Морально готовлюсь к обзору поставки

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

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

Сам процесс оценки задач для нас новый, поэтому сейчас мы набираем статистику типа «план/факт» по задачам за месяц и разбираем на встрече по обзору поставки, почему эти два показателя не совпадают. Или наоборот, как у разработчика получилось так точно оценить свою задачу.

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

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

25 июля, 13:00 — Обзор поставки

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

Lead Time — основа нашей встречи. По сути, это полное время доставки новых задач: от принятия командой обязательств и до завершения работ по ним
Lead Time — основа нашей встречи. По сути, это полное время доставки новых задач: от принятия командой обязательств и до завершения работ по ним
Пропускная способность — количество задач, выполненных за определенный период
Пропускная способность — количество задач, выполненных за определенный период
Спектральная диаграмма — диаграмма распределения количества выполненных задач по количеству дней, за которые они были выполнены
Спектральная диаграмма — диаграмма распределения количества выполненных задач по количеству дней, за которые они были выполнены
Время нахождения задач в статусах: сколько дней обычно проводит задача на том или ином этапе работы над ней (разработка, тестирование, подготовка к релизу и так далее)
Время нахождения задач в статусах: сколько дней обычно проводит задача на том или ином этапе работы над ней (разработка, тестирование, подготовка к релизу и так далее)

По последнему графику у тимлида возникло много вопросов к тестированию. Почему мы тестим чуть ли не половину от времени разработки? Почему задачи лежат так долго в Ready to Release, если на релиз требуется от силы час? Не хотелось бы оказаться на месте коллег и отвечать на вопросы, на которые пока никто не знает точного ответа!

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

Итог встречи можно подвести один, вполне положительный: я выжил и даже почти не заикался, отвечая, почему делал задачку в два раза дольше запланированного.

25 июля, 14:04 — Отдыхаю после обзора поставки

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

Индивидуальное развитие

27 июля, 17:27 — Время развиваться

Чем бы заняться под конец рабочего дня, раз новую задачу брать бессмысленно? Пройти новые курсы, почитать свежие статьи или послушать парочку докладов? А может, все сразу?

Круто, что я могу выбрать себе занятие не на один вечер благодаря абсолютно легальной возможности уделять минимум полчаса в день обучению. Развитие сотрудника — залог развития компании, поэтому трата части рабочего времени на прокачку своих скиллов у нас только приветствуется. Я стараюсь использовать эту возможность по максимуму и понемногу расширять свой кругозор в максимально разнообразных направлениях. Может, из полученных знаний вырастет тема для доклада на какой-нибудь конференции. А там уже не за горами богатство, слава и прочие атрибуты успешного разработчика!

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

28 июля, 15:44 — Митап здорового человека

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

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

Прогуглил мероприятие, и вроде оно даже звучит прикольно: там собрали лекторов по самым разным направлениям и дополнили музыкальной программой. Похоже, у меня будет возможность и что-то интересное из лекций про ML узнать (вот оно, всестороннее развитие), и The Hatters послушать, так что скучно точно не будет.

Словом, у меня появилась мотивация и дальше работать как часы хотя бы до сентября — а уже после ИТ-пикника можно будет продлить себе праздник и красиво уйти в закат в заслуженный двухнедельный отпуск.

Вместо заключения

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

А если вам тоже хочется чего-то нового, будем рады встретиться на ИТ-пикнике — там пообщаемся, поделимся знаниями, послушаем музыку и отдохнем.

Комментарии (0)