cherkashin.dev – Telegram
cherkashin.dev
2.08K subscribers
188 photos
13 videos
244 links
Александр Черкашин. Бойскаут, Борец с перфекционизмом.

Для связи 👉 @cherkalexander

Фулстек разработчик в decisions.com. Работаю со стеком TypeScript, React, C#

Пишу о программировании и не только.


Блог: https://cherkashin.dev
Download Telegram
​​💳 Карта UnionPay в 2022

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

Основные моменты:
- Карта не именная, поэтому можно сделать за один день
- Обслуживание 3000 в год
- Двойная конвертация - Лиры ⇒ Юани ⇒ Рубли. Поэтому курс может быть немного хуже официального. Но гораздо выгоднее чем покупать доллары и рубли в Российских банках. Например, если курс лиры - 3.2, то у вам посчитается примерно по курсу 3.4-3.5 рубля за лиру
- Комиссия за снятие в банкоматах - 2%, минимум 100 рублей
- Если вы пытаетесь использовать карту за границей и она не работает, проверьте, возможно данный банк не поддерживает карты UnionPay. Так в Черногории нет ни одного банка, который бы работал с данной платёжной системой, а в Азербайджане с UnionPay работает всего один банк.
- При снятии наличных в банкомате может отображаться неверная сумма, списанная в рублях. После того как операция будет подтверждена, в приложении отобразится корректная сумма. Это наглядно можно увидеть на картинке.

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

Сербия:
- Всё почти также хорошо, как и в Турции. Большинство банков работает с UnionPay. Но не все, я не смог снять наличку в местном Райффайзен банке.
- В магазинах обычно установлено два терминала. Если оплата на первом не проходит — уточняют “UnionPay?” и просят оплатить на втором терминале. Кассир в Заре сказала, что сейчас многие русские используют UnionPay.
- Лучше иметь с собой наличные, в некоторых магазинах и кафе не получится оплатить через UnionPay.

Ещё о UnionPay:
- Гайд в свободный мир - UnionPay
- Опросник по работе карт UnionPay выпущенных банками РФ (СНГ)
👍3
📖 Пятничное чтиво - Turmoil in Twitter

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

Несколько моментов из статьи:

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

Статье уже 3 недели. Если вы знаете продолжение истории было бы круто, если бы вы рассказали в комментариях. Ссылки на источники приветствуются 👍.

#fridayreading
👍3
VS Code Yandex Music Extension ❤️ MacOS и Linux

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

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

Решение
Теперь Electron устанавливается в рантайме именно для вашей операционной системы при установке плагина YandexMusic с помощью пакета @electron/get.

#vscode #yandexmusic #extension #macos #linux
🔥5
📖 Матрица компетенций

Сегодня порекомендую пару докладов о составлении матриц компетенций и о том, какие проблемы они решают:
1️⃣ Универсальная карта компетенций
2️⃣ Матрица компетенций как инструмент тимлида

Некоторые основные моменты из докладов.

Зачем нужна матрица скиллов?
Чтобы понимать
- Компетенции текущих членов команды
- Каких компетенций не хватает команде, каких людей необходимо нанимать
- Ускорить онбординг новичков
- Оценить пробелы в знаниях, наметить план обучения, индивидуальные траектории роста
- Сделать понятным/прозрачным Performance Review
- Где может возникнуть Bus Factor. Вовремя понять где могут возникнуть проблемы при увольнении сотрудника.
- Насколько зарплата соответствует набору задач, которые решает разработчик

🏁 Как начать?
- Определить задачи, над которыми вы работаете, и какие знания необходимы для их выполнения: подходы, инструменты, навыки
- Определить текущие навыки каждого члена команды
- Самооценка с последующей проверкой ведущим разработчиком/тимлидом
- Устроить опрос среди всех сотрудников и оценить каждого сотрудника
- Для каждого навыка определить чёткие критерии оценки
- Создать отдельную страницу/документ по каждому навыку со всеми известными материалами/ссылками, чтобы разработчик мог быстро изучить навык
- Один из способов оценки навыков:
- 0 - не знаю, не умею, не понимаю
- 1 - немного знаю/могу делать простейшие задачи
- 2 - достаточно много знаю/ могу делать большинство задач
- 3 - знаю всё, могу сделать любую задачу, учу других

🔄 Knowledge sharing
Если разработчик чего-то не знает, это не его проблема, не его вина (ну почти). Это проблема компании и тимлида. Как заниматься распространением знаний в компании?
- Написать документацию
- Провести внутренние обучающие сессии/доклады (knowledge sharing session)
- Купить обучающий курс для команды

#teamlead #skills #knowledgesharing
👍2🔥1
🚀 Деплой NodeJs приложений

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

Ещё по теме:
- 3 free Heroku alternatives to deploy a Node.js app
- Using Express.js with Vercel

А каким бесплатным хостингом пользуетесь вы

#deploy #nodejs
🔥2
​​☠️ Временная Мёртвая Зона

Временная мёртвая зона (ВМЗ) — участок от начала блока кода, до строки, где переменная объявлена и инициализирована. Понятие ВМЗ применяется только к переменным определённым с помощью let и const.

- Строки 2-5 — временная мёртвая зона. Область видимости переменной there началась (из-за “поднятия” переменных в JS), но она всё еще не объявлена, поэтому при доступе к переменной произойдёт ошибка - ReferenceError
- Строка 7 — конец временной мёртвой зоны

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

Подробнее можно почитать на MDN.

#javanoscript
🔥3
​​📖 Как браузер рендерит веб-страницу

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

Чтобы быстро разобраться в основах можно почитать следующие 3 статьи:
- Дока - Как браузер рисует страницы
- Reflow, Repaint, Composite — что это и как это работает?
- Понимание критического пути рендеринга

Затем, чтобы погрузиться в детали — можно прочитать статью:
- How the browser renders a web page? — DOM, CSSOM, and Rendering

А какие статьи помогли вам разобраться в теме?

#fridayreading #javanoscript #browser #css #html #performance #rendering
🔥4
​​Yandex Music Client for JavaScript

За последние пару дней новогодних праздников я, наконец-то, сделал то, что собирался сделать пару лет - сгенерировал JavaScript-клиент для Яндекс.Музыки на основе OpenAPI-схемы.
Что это значит? Берётся OpenAPI-схема и скармливается генератору, на основе которой генерируется библиотека на определённом языке программирования, которая может использоваться для отправки запросов на сервер.

👉 Описание OpenAPI-схемы на GitHub
👉 Для генерации клиента используется openapi-typenoscript-codegen
👉 JavaScript-клиент Яндекс.Музыки на npm - yandex-music-client
👉 Теперь VSCode-плагин для Яндекс.Музыки использует пакет yandex-music-client

Установка
npm i yandex-music-client

Пример использования
import { getToken } from 'yandex-music-client/token';
import { YandexMusicClient } from 'yandex-music-client/YandexMusicClient'

const token = await getToken('your email', 'your password');

const client = new YandexMusicClient({
BASE: "https://api.music.yandex.net:443",
HEADERS: {
'Authorization': `OAuth ${config.token}`
},
});

client.landing.getNewReleases();


#javanoscript #yandexmusic #openapi
👍6
Задачи на собеседовании JavaScript разработчика

1. Напишите функция вычисления последовательности фибоначи

function fib(n) {
// TODO: implement
}

fib(5); // [0, 1, 1, 2, 3]
fib(7); // [0, 1, 1, 2, 3, 5, 8]
fib(11);// [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

2. Напишите функцию, которая будет проверять на “глубокое” равенство 2 входящих параметра

function deepEqual(a, b) {
// TODO: implement
}

const source = {a: 1, b: {c: 1}}

const test1 = {a: 1, b: {c: 1}}
const test2 = {a: 1, b: {c: 2}}
const test3 = {a: 1, c: {b: 1}}
const test4 = {a: 1, c: 2}
const test5 = {c: 2, a: 1}
const test6 = {a: 1, b: {c: {d: 5}}}

console.log(deepEqual(source, test1)) // -> true
console.log(deepEqual(source, test2)) // -> false
console.log(deepEqual(source, test3)) // -> false
console.log(deepEqual(source, test4)) // -> false
console.log(deepEqual(source, test5)) // -> false
console.log(deepEqual(source, test6)) // -> false

3. Напишите функцию, которая принимает два аргумента:
- Массив из ЦЕЛЫХ ПОЛОЖИТЕЛЬНЫХ ЧИСЕЛ и сумму в виде целого числа.
- Функция должна вернуть все ПОДПОСЛЕДОВАТЕЛЬНОСТИ чисел массива из аргумента, сумма которых равна числу, которое приходит вторым аргументом.
- Если решения нет, вернуть пустой массив.

function findSum(array, targetSum) {
//TODO: implement
}

array = [1, 5, 4, 1, 11, 1, 10, 9, 1, 9, 6, 4, 10]
targetSum = 10

findSum(array, targetSum)
// [ [ 1, 5, 4 ], [ 5, 4, 1 ], [ 10 ], [ 9, 1 ], [ 1, 9 ], [ 6, 4 ], [ 10 ]]


#interview #coding #interview_questions
🔥3
Система онбординга комфорт-класса

Цель хорошего онбординга — получить максимум производительности от сотрудника в короткий срок. Это не значит, что из сотрудника нужно выжать всё до последней капли, онбординг должен проходить максимально комфортно с минимумом стресса.

⁉️ Почему онбординг — это очень важный процесс?
- Онбординг — это первое с чем сталкивается новый сотрудник, поэтому его оценка компании напрямую зависит от онбординга.
- При плохом онбординге сотрудник долго выходит на желаемую производительность. В то время как при хорошем онбординге, сотрудник мог бы принести больше пользы за те же деньги.
- При плохом онбординге, старшие разработчики вынуждены постоянно отвлекаться и вкладываться в развитие нового сотрудника, вместо решения задач.
- Ну и в конце концов, просто морально сложно, когда тебе приходится разбираться во всём самому, когда тебе ничего не рассказали, не показали, не объяснили. Это очень демотивирует, и компания рискует потерять сотрудника на самом старте.

👍 Хороший онбординг выгоден всем
- Сотрудник быстрее приносит реальную пользу компании, тратит меньше времени, сил и нервов
- Бизнес тратит меньше денег на выход специалиста на нужную производительность
- Работники меньше тратят времени на онбординг и занимаются решением бизнес задач

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

🕵️‍♂️ Кто проводит онбординг
- Онбординг на уровне компании должен проводиться HR-отделом
- Локальный онбординг в команду, необязательно проводится тимлидом, но именно тимлид должен настроить этот процесс. Сам онбординг он может делегировать кому-нибудь из команды.

📖 Что должно быть в онбординге
Скорее всего в каждой команде набор инструкций будет разным, например:
- Основные процессы в команде
- Когда у вас проходят стендапы, в каком формате
- По каким дням демо, как его проводить
- Код ревью
- Планирование технического долга
- Проекты
- Настройка и запуск проекта
- Технологии
- Архитектура
- Гайдлайны
- Как общаться с заказчиками
- Ожидания от разработчика

https://www.youtube.com/watch?v=7zrRzELnr8U&ab_channel=ManagementChannel

#fridayreading #processes
​​Проект "Феникс"

На новогодних праздниках я наконец-то прочитал Проект “Феникс”. Рекомендую к прочтению, если в вашей компании всё происходит хаотично, вечные авралы и сотни незавершенных фич, которые переносятся из релиза в релиз. В книге раскрываются следующие моменты:

- Для чего необходим таск трекер и какие проблемы он решает — все изменения должны отслеживаться, чтобы можно было понять, какие изменения приводят к сбою.
- Не нужно помечать все задачи как “срочные”, иначе не будет понятно над чем именно необходимо работать.
- Необходимо увеличивать производительность в узких местах — система работает настолько быстро, насколько работает самое медленное её звено. Если у вас есть сотрудник, на котором многое завязано, необходимо как можно сильнее разгрузить его и обучить других сотрудников.
- Если у вас постоянные авралы — возможно вам необходимо поставить часть ваших проектов "на паузу" и сосредоточиться на наиболее критических, которые наиболее важны. Если в вашем продукте слишком много багов — необходимо сосредоточиться на его стабилизации.
- Возможно даже стоит запустить новые проекты, которые помогут заранее выявить проблемы, до того как они будет замечена пользователями, например, внедрить систему мониторинга. Это поможет снижать объем “незапланированной работы”.
- Необходимо выплачивать свой “технический дол”, иначе в дальнейшем придётся тратить слишком много времени на выплату процентов в виде незапланированной работы.
- Не стоит загружать сотрудников на 100% при планировании, ведь по ходу работы будут появляться новые задачи — “незапланированная работа”, и у сотрудника не будет времени их решить. “Время ожидания — это "процент занятого времени”, разделённый на “процент свободного”".
- Если ваша команда перегружена нужно уметь говорить “нет” новой работе.
- Если вы человек, который устанавливает правила — вам следует самому играть по этим правилам, иначе никто этого делать не будет.
- Как CI/CD может ускорить разработку, почему важно релизиться как можно чаще. Например, чтобы быстро выкатывать баг фиксы.

https://www.litres.ru/book/proekt-feniks-roman-o-tom-kak-devops-menyaet-biznes-k-luchshemu-11083697/

#fridayreading #book
👍4
​​Индикаторы прогресса в Notion

Наконец-то дошли руки добавить прогресс бар в свои проекты в Notion. Шаблон тоже обновил. Если хотите так же - вам сюда.

#notion
🔥31
💭✍️ Мышление письмом

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

Зачем?
- По закону Миллера мы не можем держать в голове более 7-ми элементов
- Задача нашего мозга — генерация идей, а не запоминание. Лучше записывать идеи и обдумывать их пока они не ускользнули от вас

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

Статья также расскажет, как данный подход:
- Может улучшить психологическое состояние
- Используется в Amazon
- Используется для исследовательских задач

https://habr.com/ru/post/526336/

#fridayreading
🔥3
​​Технотекст 2022: шорт-листы по номинациям

Вчера Хабр опубликовал список лучших статей отправленных на Технотекс. Рекомендую посмотреть — там довольно много интересного. К сожалению, моя статья в список не попала(

https://habr.com/ru/company/habr/blog/715670/

#fridayreading #habr
​​⚙️ Автоматизация Code Review — DangerJs

Некоторое время назад, я осознал, что бОльшую часть времени во время Code Review, я трачу совсем не на то, чтобы проверить, что задача выполнена корректно. БОльшая часть времени уходит, чтобы убедиться, что разработчики следуют правилам, стандартам и договорённостям.

Многие проблемы можно решить с помощью линтеров:
- Eslint для JS
- StyleCop для C#

Многие, но к сожалению не все, и в этом случае можно попробовать использовать Danger.
Danger — это такой линтер, который позволяет нам описывать наши правила с помощью JS, Ruby, Swift, Python или Kotlin. Я использую DangerJS.

Примеры
- Проверка опечаток в *.md файлах
- Проверка использования `test.skip`
- Проверка npm пакеты на наличие уязвимостей
- Генерация размера JS-бандла
Больше примеров можно посмотреть здесь, а список уже реализованных правил в виде плагинов можно посмотреть здесь.

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

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

Ещё по теме:
- Getting started with DangerJs
- Integrate Danger JS in 5 Minutes
- Automate common pull request feedback with Danger.js and Github Actions

#codereview #tools
👍1🔥1
​​📖 Как платформа управления знаниями упрощает онбординг — TEAMLY

Недавно решил разобраться как правильно проводить онбординг в компании и написал об этом пару постов:
1️⃣ Система онбординга комфорт-класса
2️⃣ Матрица компетенций

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

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

Всё это вылилось в статью Как платформа управления знаниями упрощает онбординг — TEAMLY.

Статья расскажет:
- как проходили мои онбординги
- зачем нужен качественный онбординг и кому он выгоден
- как правильно провести онбординг
- как TEAMLY может помочь в проведении онбординга

#fridayreading #processes #onboarding
🔥2
​​🎨 Excalidraw — сервис для рисования диаграмм

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

#tools #documentation #digrams
👍6
​​🎨 Первый дизайн в Figma

Нарисовал небольшую обложку для расширения Я.Музыки. Всё оказалось гораздо проще, чем я думал.
Ссылки, которые использовал при создании дизайна:

1️⃣ Gradients in Figma
2️⃣ Guide to components in Figma

#design #figma #yandexmusic #vscode
👍4🔥1
​​📄 Офлайн-режим в Google Docs и Notion

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

Честно говоря, я был в восторге. Когда появилась сеть я открыл нужный мне документ и активировал офлайн режим (File ⇒ Make available offline). После этого вы можете просто работать над своим документом, и как только появится интернет все изменения будут сохранены в облаке, а до тех пор все изменения будут храниться локально. Офлайн-режим также доступен в Google Sheets и Google Slides.

Команда Notion также работает над офлайн-режимом. Он работает примерно так же как и в гугл документах - необходимо просто открыть страницу и не закрывать её, после этого вы можете свободно работать над документом, как только появится интернет — все изменения будут сохранены.

#notion #googledocs #documentation
👍4🔥2
📖 Мигрируем БД в продакшене без даунтайма

Основной совет, который даётся в статье — нужно разбивать деплой новой фичи на 2 и более части, чтобы соблюсти обратную совместимость. Это очень важно, если для выкатки новой фичи необходимо изменить схему базы данных.

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

Например, если требуется удалить поле из БД, нужно выполнять деплой в 2 захода:
1. Удаляем весь код, работающий с этим столбцом — деплоим
2. Удаляем столбец и снова — деплоим

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

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

https://habr.com/ru/post/664028/

#fridayreading #architecture
1
​​📖 Не трогайте разработчиков. Отстаньте. Просто не беспокойте

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

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

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

Особенности процесса
- Кажется что производительность команды снизится, но на самом деле этого не должно произойти — ведь остальные будут сосредоточены на решении задач и будут более продуктивны
- Дежурят только желающие, никого не заставляют
- Для обучения можно назначать двух дежурных, один — опытный, второй — новичок. Опытный ничего не делает руками, кроме ЧП ситуаций, так происходит обучение новичка.
- Может быть несколько дежурных: кто-то отвечает за релизы, кто-то за поддержку
- У дежурного не должно быть релизных задач, если у него появляется свободное время:
- Он дописывает документацию
- Работает над техническим долгом
- Автоматизирует бизнес процессы
- Фиксит баги

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

https://habr.com/ru/company/gazprombank/blog/678000/

#fridayreading #processes
🔥31