DNS и почта
BIND с DNSSEC для собственных зон. Свой почтовый сервер: DKIM, DMARC, SPF, MTA-STS, TLSA-записи для DANE, публикация PGP-ключа через OPENPGPKEY.
Москва · удалённо
Backend-разработчик на Java и Kotlin. 9 лет пишу серверную часть — финтех, розница, диалоговые системы. Последние годы — главный программист в Спортмастере.
Строю микросервисы, которые должны работать под нагрузкой и не разваливаться от интеграций. В Спортмастере это «Спортивный помощник» — цифровой ассистент, занявший первое место на российском рынке в рейтинге NAUMEN за 2025 год. До этого — банковские системы в Diasoft: обработка операций с ценными бумагами, качество данных, миграция монолита в микросервисы.
Мне интересна та часть работы, где надо разобраться, почему медленно, и сделать быстро. Обход циклических графов, который занимал больше пяти минут, после переработки алгоритма стал отвечать за секунды. Отдельно люблю доводить до конца то, что обычно откладывают: нагрузочное тестирование, мониторинг качества кода, проверку зависимостей на уязвимости.
Java-разработчиков с моим стажем много. Что действительно отличает — я сам держу всё, чем пользуюсь: DNS с DNSSEC, почтовый сервер с DKIM, DMARC, MTA-STS и DANE, кластер Kubernetes, домашний NAS на FreeBSD, роутер на OpenBSD с раздельной маршрутизацией трафика. Это не хобби в вакууме: когда сам поднимал сервис, разговор с эксплуатацией идёт совсем иначе — и на код это влияет раньше, чем на деплой.
BIND с DNSSEC для собственных зон. Свой почтовый сервер: DKIM, DMARC, SPF, MTA-STS, TLSA-записи для DANE, публикация PGP-ключа через OPENPGPKEY.
NAS на FreeBSD с ZFS. Immich для фотоархива в bhyve-виртуалке, Frigate для видеонаблюдения, S3-совместимое хранилище на MinIO.
Роутер на OpenBSD: исходящий трафик разложен по таблицам маршрутизации — WireGuard, AmneziaWG и VLESS в разных rtable, переключение без перенастройки клиентов.
mail@mikhailov.net