Фёдор Борщёв

Лучше вообще без алёртов, чем с ложными

Ложные срабатывания — это бич большинства самодельных систем мониторинга, которые я встречал. Ложное срабатывание — это когда живым людям приходит алёрт, хотя система находится в работоспособном состоянии или хотя бы может вылечить сама себя.

Вот дежурите вы он-колл в выходные, с друзьями на шашлыках. Вам приходит сообщение — «сайт упал». Аларм! Бросаете все дела, залезаете на самую высокую берёзу и видите, что по графикам всё норм. Система решила, что сайт упал, потому что сервер один раз не ответил вашей пинговалке из заббикса. Будете ли вы и дальше доверять сообщениям такого мониторинга? Уже гораздо меньше. А если получите ещё пару СМС в тот же день — то и вообще перестанете. Если такие сообщения будут приходить каждый день — уведомления со временем превратятся в белый шум.

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

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

Дайте людям привыкнуть к тишине, а затем потихоньку вводите алёрты, в которых вы уверены на 100%.

Личные привычки: целиться в процесс, а не в результат

Меня пугают большие амбициозные цели. Я могу согласиться пару раз в неделю ходить в спортзал, но вряд ли смогу когда-нибудь «подтянуть мышечный каркас» или «стать здоровым/накачанным». Со второй целью, всякий раз, когда я пропущу спортзал (а такое рано или поздно случится даже если я — биоробот), я начну думать: «а накачаю ли я теперь мышцы? А не потерял ли я в результате?». Это тяжело.

Имея простую нестрашную цель «ходить в зал несколько раз в неделю», я пропускаю спортзал гораздо спокойнее — никто же не умрёт, если я на этой неделе схожу не три раза, а два или даже один раз?

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

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

Готов ли я этим заниматься всю жизнь?

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

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

Сейчас, каждый раз, когда нужно принять решение, я провожу простой мысленный эксперимент: «Готов ли я этим заниматься всю жизнь?».

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

— Готов ли я всю жизнь делать проект, который не принесёт денег или морального удовлетворения? Нет.

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

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

Код, который не работает

У меня недавно случилось озарение — я понял почему мне так знакомо чувство, которое возникает, когда я работаю с модулями nuxt.js. Вот взять модуль gtm, к примеру. Среди кучи других issues у него есть issue, которая так честно и называется — «модуль не работает». И что интересно — модуль и правда не работает.

Так вот, когда-то давно, лет 15 назад, у меня была Нива — это такие жигули-кроссовер. И меняли мне на ней как-то стартер. Там эта операция проводится довольно сложно — стартер расположен крайне неудобно, приходится даже разбирать выхлопную систему. Так вот, купил я стартер, поставили его мне, собрали всё, а машина не заводится: стартер не крутит. Полезли разбираться, и выяснили, что проблема в том, что я купил рязанский стартер (не уверен насчёт города, может белгородский, или тамбовский).

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

В итоге стартер я купил белорусский, машина завелась. Но этот вопрос меня ещё долго не отпускал — ведь у этого завода в Рязани есть директор, главный инженер, руководитель ОТК, и ещё куча людей. Зачем все они делают стартеры, которые не работают?

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