Обо мне

10+ лет опыта full-stack разработки.

6+ лет опыта руководства Golang/InfoSec R&D командой.

Анализ, формулирование и оценка жизнеспособности бизнес гипотез и воплощение в реальную жизнь прототипов надежного ПО:

  • Многоуровневые low-latency микросервисы.
  • Оптимизация и батчинг RPC транспорта.
  • Тюнинг и создания с нуля специализированных KV-дисковых хранилищ данных для хранения миллиардов записей. Оптимизация маршалинга JSON/Protobuf.
  • Настоящие стресс-тесты для распределенных систем развернутых в разных ДЦ: разделение сети, рассинхронизация системного времени, потеря/изменения порядка пакетов между системами, иньекции отказов файловой системы.
  • Разработка систем переживающих каскадные отказы и всплески нагрузки.
  • Прикладная криптография: memory-hard хеши в клиентской авторизации и работа с ГОСТ-криптографией (КриптоПро).
  • Спроектировано 10+ HTTP API: идемпотентные методы для работы с финансами, с нормальным неймингом и поддержкой изменений в будущем.
  • CI-CD: pre-commit линтеры для команд разработки, роботы для сборки и тестирования, сборка и подписывание DEB/RPM и Docker образов на unstable/testing/stable окружения.
  • ИБ: разработанное с нуля ПО для агрегации событий инфраструктуры и отслеживания аномалий в безопасности. Аудит безопасности по OWASP и расследование инцидентов по утечкам данных, аудит Application Security и фаззинг-тестирование API и библиотек. Ежедневный CodeReview.
  • Мониторинг и распределенный трейсинг: prometheus, opentracing, mtail и свои решения.
  • Сборка нагруженных сервисов (>10krps) на чистой архитектуре без buzz-word элементов: linux + systemd + rpm/deb пакеты с самодостаточными сервисами на Golang с предсказуемой стратегией выкатки через Ansible.

Управление R&D деятельностью в роли играющего тренера в условиях непредсказуемости результата, в сжатые сроки и в ненормированном графике. Защита проектов на тендерных комитетах и в отделах ИБ у заказчиков ПО.

Минусы: требовательность к стейкхолдерам, нетерпимость к работе спустя рукава в угоду time-to-market, нетерпимость к корпоративному мошенничеству и обману, скептицизм к хайповым вендорным решениям.

Участие в профессиональных сообществах
Опыт работы
Центр Исследований и Разработок
Санкт-Петербург
Старший разработчик
Июнь 2014 — По настоящее время (6 лет и 4 месяца)

Играющий тренер: управление R&D командой и разработка ПО

— Сделали первый в России блокчейн-процессинг для QIWI и показали на конференции Банка России.

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

— Решили сложные задачи с главной финтех Ассоциацией Банка России для сертификации Мастерчейна: государственной блокчейн-платформы с сертификатом ФСБ.

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

— Спроектировали сервис безопасных бекапов на веб-хостинге и мониторинга виртуальных серверов.

— Создали плагин проверки на вирусы для WordPress с сервисом восстановления сайта после заражения.

— Спроектировали мобильное приложение для планирования и организации командировок для тревел-агентства с оборотом 3 миллиарда в год.

— Спроектировали мобильное приложение для безопасной печати и контроля секретных файлов на предприятиях с сотнями принтеров.

— Спроектировали методологию детекции мошеннического трафика с машинным обучением для европейской рекламной сети с сотнями миллионов запросов в месяц: экономия 8% выплат нечестным партнерам.

— Обучили нейросеть для фильтрации и автоматической модерации пользовательского контента: 7 из 10 изображений фильтруется до жалобы пользователя.

Стек технологий

  • Frontend: React, Angular, Vanilla JS.
  • Backend: Golang, Python, C++
  • DBs: MySQL, SQLite, MongoDB, LevelDB, BoltDB
  • DevOps: Ansible, Kubernetes, Gitlab, Google Cloud, Amazon Cloud, Yandex Cloud, CentOS, Debian, Ubuntu, Zabbix, SNMP, BGP, KVM/Xen, nginx, Zookeeper, etcd, consul, vault, Gradle, Redis, Prometheus, CircleCI, TravisCI
  • Misc: gRPC, Protobuf, Paxos/Raft, SonarQube, Artifactory, PVS-Studio, Tensorflow, CatBoost, pandas, numpy, Solidity, Expo.io 
Крупнейшая российская поисковая система и портал. Яндекс есть также в Казахстане, Беларуси и Турции.
Разработчик
Сентябрь 2013 — Май 2014 (9 месяцев)

Разработка и проектирование ПО для Службы Информационной Безопасности. 

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

Один из крупнейших онлайн-кинотеатров России.
DevOps разработчик
Октябрь 2011 — Май 2012 (8 месяцев)

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

— Вынес обработку статистики с нагруженного PHP-бекенда на python/tornado сервис пищущий статистику через handlersocket напрямую в базу, разгрузив бекенд проекта на 40% и создал запас на рост из ничего.

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

— Перебрал инфраструктуру из 30 серверов, настроил мониторинг и сбор логов.

— Провел аудит безопасности всего проекта и выявил критичные ошибки в веб-сервисе, как прямой доступ к файлу с паролем от MySQL и множество SQL-injection из-за самописного фреймворка. XSS тоже были в ассортименте.

Digital-агентство
Веб-разработчик
Октябрь 2010 — Август 2011 (11 месяцев)

На потоке в составе команды 10+ человек, участвовал в небольших доработках в проектах:
— Мегафон.Навигатор (JS)
— Админка портала Мегафон (PHP)
— Нагруженная страница с балансом для абонента при отключении мобильного интернета (node.js+nginx)
— Оживление лендингов для промо-компании Lipton, Дельта Охранные Системы (HTML/JS/CSS)
— Маркетинговые доработки для сайта Disney Игры (Java/SQL)

Увидел и встроился в структурированный конвеер заказной разработки с автоматическими тестовыми средами, codereview и дедлайнами.
Изучил Java на начальном уровне.
Научился быстро вникать в задачу и разбираться в фреймворках/legacy-коде без эмоций.
Один из проектов студии был на Ruby c сервисами на Erlang, то начал в хобби проектах использовать Erlang/OTP + RoR/Sinatra + RabbitMQ и очень вдохновился парадигмой функциональных языков.

PHPSVNPostgreSQLNginxJQuerySmartySQL
InVent
Новосибирск
Разработчик
Ноябрь 2008 — Ноябрь 2010 (2 года и 1 месяц)

— Разработал за 4 месяца обновляемую витрину-магазин фильмов как плагин WordPress для 1200 партнеров англоязычного медиа-портала. Поддерживал в ICQ десяток самых активных партнеров, где прямо отвечал за свои косяки.

— В составе команды дорабатывал платежную систему платных подписок: добавлял поддержку новых банков для приема карт и ответственно писал скрипты для подписки миллиона пользователей на 39,90$ в месяц.

— Дорабатывал сбор статистики по скачиваниям видео нашей CDN-сети из lighttpd в PHP-бекенд с аггрегацией для партнеров проекта. Имел прямой доступ на продакшен и производил реорганизацию MySQL структуры из таблицы в 10 миллионов записей в 6 отдельных таблиц.

— Дорабатывал функционал портала под задачи маркетинга и тонко настраивал поиск на базе SphinxSearch для autocomplete в поиске.

Прокачал навыки администрирования CentOS, понял как устроены CDN-сети (lighttpd, ipvs), научился отвечать за косяки в релизах для клиентов и закладывать возможность отладки там, куда доступа нет.
Понял как решать задачи динамического программирования, рекурсии и чуть теории вероятности.
Увидел как делать эффективные SQL запросы к MySQL с 10 JOIN и 20 WHERE на API со 100 rps без кешей.

Дополнительное образование
Лаборатория Завадского
 
Экологичные продажи - эффективная система экспертных продаж
Июль 2019—Июль 2019
Мегапрорыв
 
Контент-маркетинг и рассылки с Максимом Ильяховым
Апрель 2019—Апрель 2019
Финансовая грамотность для собственников и директоров
Май 2018—Май 2018
Одна из ведущих бизнес-школ России
Москва
Международные контракты и сделки. Правовые и налоговые аспекты
Ноябрь 2017—Ноябрь 2017
Построение юридической службы в холдинговых компаниях
Сентябрь 2017—Сентябрь 2017
Экономическая безопасность компании
Сентябрь 2017—Сентябрь 2017
Показать еще 1 курс
Образовательные курсы по дизайну, редактуре, отношениям с клиентами
Москва
Информационный стиль и редактура текста
Ноябрь 2012—Ноябрь 2012