О себе
Коротко про опыт и про то, как я работаю
Опыт
Сервис расчёта маршрутов и диспетчеризации. Перевёл монолит на модульную архитектуру, вынес расчёт в отдельный сервис на Go. Среднее время ответа API сократилось с 340 до 45 мс, пиковая нагрузка выросла с 800 до 6000 запросов в секунду.
Процессинг и сверка операций. Написал сервис двойной записи на Go с идемпотентными операциями, закрыл проблему расхождений при повторных запросах от партнёров. Настроил резервное копирование и восстановление PostgreSQL, RTO сократился до 15 минут.
Python и PHP, каталоги и внутренние CRM для небольших компаний. Там же впервые занялся администрированием: боевые серверы, деплой, бэкапы, разбор инцидентов.
Как я работаю
- Начинаю с того, чтобы понять, какую задачу бизнеса решает сервис. Без этого легко построить красивую систему не для того.
- Пишу документацию по ходу, а не после. Runbook к сервису появляется раньше, чем сервис уходит в прод.
- Предпочитаю скучные проверенные решения модным. PostgreSQL и nginx переживут ещё не один фреймворк.
- Мониторинг настраиваю до релиза: если проблему никто не заметил, значит её не было — так не работает.
Почему сайт так называется
Домен blackh0le.xyz — с нулём вместо буквы «о», потому что
обычное blackhole.xyz давно занято. Но название получилось
точное: это мой личный архив. Сюда складывается всё, что хочу запомнить,
и обратно само не отдаётся — заметки, рабочие конфиги, чужие грабли,
на которые умудрился наступить сам.
Держу сайт на своём сервере и веду вручную, без конструкторов и CMS. Отсюда и темы: systemd, базы, миграции — то, с чем приходится жить каждый день, и что проще один раз записать, чем три раза вспоминать.
Вне работы
Выбираюсь на Волгу, когда получается уехать из города. Читаю про историю вычислительной техники — от перфокарт до первых unix-машин. Иногда паяю всякую ерунду на микроконтроллерах, до готовых устройств дело доходит редко.