mantyrmantyr

Oleg Shevelev

Team Lead GolangБэкенд разработчикФулстек разработчикВедущий (Lead)
Не ищу работу
Опыт работы: 11 лет и 5 месяцев
Регистрация: 15.04.2014
Последний визит: 1 день назад
Местоположение: Россия, Москва
Дополнительно: готов к удаленной работе
Профессиональные навыки: GolangPHPCSSОблачные вычисленияLinuxSQLHTMLDockerRedisGentoo
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Программирую на Golang, в планах сделать самый читаемый ресурс планеты.

Участие в профсообществах

Опыт работы

  • Лидирующий провайдер облачных услуг и сервисов по моделям IaaS и PaaS, а также решений для ML-разработки полного цикла.
    МоскваОт 100 до 1000 сотрудников
    Технический лидер
    Октябрь 2020 — По настоящее время (1 год и 11 месяцев)

    Облачная платформа, IAM, Managed Bare metal

    GolanggRPCSQLPostgreSQLCI/CDKubernetesООП
  • Мы помогаем людям объединяться для того, что для них действительно важно
    МоскваБолее 5000 сотрудников
    Ведущий программист
    Декабрь 2018 — Декабрь 2019 (1 год и 1 месяц)

    Проект Деньги@mail.ru

    - неформальный team lead (команда из двух человек)

    - много менеджерской работы: постановка задач, проектирование, документирование

    - golang

    - postgresql

    - rpm

    - gitlab

    - gitlab-ci

    - docker

    - gorm

    - gin

    - soap xml

    - gomock


    Спроектировал платёжный биллинг
    - массовые выплаты
    - входящие платежи/исходящие платежи
    - поддержка различных направлений
    - платёжные методы
    - провайдеры:
    -- ePayments
    -- Система Быстрых Платежей
    - асинхронное взаимодействие с Системой Быстрых Платежей
    - формирование кастомных чеков
    - в проектирование входило:
    -- формирование пула задач и meta-задача
    -- формирование схем в draw.io
    -- написание документации
    - в программирование входило:
    -- написание клиента к ePayments
    -- написание клиента к Системе Быстрых Платежей
    -- написание утилиты для синхронизации платежей
    -- написание каркаса сервиса со слоями: биллинг, провайдер, движок платежей, хранилище
    - в менеджерские задачи входило:
    -- формирование задач, распределение по команде, ревью кода

    Покрыл платёжный биллинг набором тестов:
    - приёмочные тесты
    - unit тесты
    - компонентные тесты

    Собрал демо-стенды для проектов платёжного биллинга и сервиса фискальных чеков
    - сборка rpm на CI
    - демо-режим для платёжного биллинга с описанием работы в документации для партнёров
    - миграции базы данных для развёртывания базы в docker

    Сформировал пул пакетов для golang разработки:
    - утилита для работы с базами данных
    - утилита для работы с мерчантами
    - пакеты для кеширования, логирования, мониторинга
    - пакет для кодирование протокола API2
    - покрыл тестами на CI
    - добавил сборку rpm на CI
    - документация к пакетам и утилитам

    Написал сервис для работы со SMEV 3.0 (Система межведомственного электронного взаимодействия)
    - нормализация SOAP запросов
    - XML подпись GOST шифрованием (openssl)
    - клиент для работы со SMEV
    - сервер для проксирования запросов

    Написал сервис для балансировки и фильтрации API2 запросов (проект закрыт)

    https://github.com/mantyr/xmlutils
    - форк encoding/xml
    - добавил возможность использования одной и той же структуры для чтения и генерации XML с префиксами
    - добавил обратную совместимость с encoding/xml

    https://github.com/mantyr/prefixtree
    - параметризированное префиксное дерево
    - для хранения произвольных данных

    https://github.com/mantyr/go-xmldom
    - форк
    - добавил поддержку namespace

  • Мультиплатформенный сервис с аудиторией более 60 млн уникальных пользователей в месяц
    МоскваОт 100 до 1000 сотрудников
    Разработчик группы python
    Декабрь 2017 — Октябрь 2018 (11 месяцев)

    Пишу на Golang, участвую в конференциях, планирую задачки, общаюсь с партнёрами, занимаюсь интеграциями, провожу ревью кода.

    Проекты:
    - биллинг для продажи подписки через партнёров
    - авторизация по номеру телефона без ввода sms

    Биллинг для продажи подписки через партнёров
    - спроектировал, поддерживал и развивал сервис
    - согласовал внешнее API с несколькими партнёрами
    - оформлял задачи
    - написал документацию
    - написал тесты
    - написал большую часть сервиса
    - прочитал доклад для продуктовых менеджеров
    стек:
    - golang
    - postgresql
    - grafana
    - kibana
    - cache - горячий кеш по партнёрам и тарифам
    - jsonschema - для валидации входных данных
    - sphinx-doc - для документации
    - gorm
    - адаптеры для партнёров soap/xml/json, а так же их сочетание
    функционал:
    - продажа подписки
    - автопродление подписки
    - отмена автопродления подписки
    - различные виды триалов
    - хранение истории покупок
    - настройка тарифов
    - настройка партнёров
    - генерация событий для отправки уведомлений
    масштабируемость:
    - несколько копий сервиса в разных ДЦ
    - кроны для корректировки: автодобиливание, уведомления и прочее

    Авторизация по номеру телефона без ввода sms
    - спроектировал
    - согласовал с партнёром (МТС)
    - оформил задачи
    - написал документацию
    - написал приёмочные тесты
    - научил систему авторизации работать с внешними удостоверяющими центрами
    - python
    - поддержка шифрования от оборудования DPI cisco/huawei

    Доклады: 

    Gometalinter наше всё. Олег Шевелев, Ivi.ru

    Доклады в разработке:

    - JSON Schema и другие схемы данных

    - Бесшовная миграция

    Меня можно позвать на Golang конференцию или митап, как просто послушать так и прочитать доклад на различные темы.

  • Передовые технологии управления городом и предприятием
    МоскваОт 10 до 100 сотрудников
    Программист
    Сентябрь 2017 — Ноябрь 2017 (3 месяца)

    Разрабатывал контакт-центра с ip-телефонией

    - написал прототип sip сервера на Golang

    - изучил rfc3261, rfc7118, rfc3665, rfc5763, rfc6347 и другие связанные с ip-телефонией

    - golang

    - ip телефония

    - sip

    - rtp

  • Сервис объявлений, которым каждый месяц пользуется треть населения России
    МоскваОт 1000 до 5000 сотрудников
    Разработчик серверной части
    Декабрь 2016 — Август 2017 (9 месяцев)

    В Architecture Unit:

    - golang - основной язык

    - микросервисы

    - kubernetes

    - helm

    - docker

    - minikube

    - postgres

    - redis

    - sharding

    - архитектурные решения

    - документация

    - teamcity

    - git

    - linters

    - testing

    - участие в конференциях

    - волонтёрство

    Написал библиотеку для умной redis репликации:

    - бесшовная миграция между двумя redis кластерами

    - синхронизировал порядка 500 гигабайт оперативной памяти

    https://github.com/avito-tech/smart-redis-replicat...

  • Компания, которая развивает самую популярную в России поисковую систему и десятки других сервисов
    НовосибирскБолее 5000 сотрудников
    Младший разработчик программного обеспечения
    Октябрь 2013 — Март 2014 (6 месяцев)
  • КиноПоиск.Ru
    Новосибирск
    Младший инженер-программист
    Декабрь 2012 — Март 2014 (1 год и 4 месяца)
  • МоскваОт 100 до 1000 сотрудников
    Программист / системный администратор
    Октябрь 2010 — Декабрь 2012 (2 года и 3 месяца)
  • CMCI
    Москва
    Программист
    Август 2009 — Май 2010 (10 месяцев)
  • Крупный интермодальный контейнерный оператор по доставке грузов по РФ и за ее пределами.
    МоскваОт 1000 до 5000 сотрудников
    Программист
    Ноябрь 2008 — Август 2009 (10 месяцев)
  • ООО Интернет Сервис (Internet Services, LLC) & Versane
    Новосибирск
    Программист
    Июнь 2007 — Декабрь 2008 (1 год и 7 месяцев)