Обо мне

2007 H4264S-HP-UX System amd Network Troubleshooting
УЦ Hewlett Packard г. Москва, курсы

2007 H5875S-HP-UX System and network administration for experienced UNIX system administrators УЦ Hewlett Packard г. Москва, курсы

2006 Oracle 10g: Real Cluster Application УКЦ ФОРС г. Москва, курсы

2006 Oracle 9i: Implement Streams УКЦ ФОРС г. Москва, курсы  

2005 Oracle 9i: Performance Tuning УКЦ ФОРС г. Москва, курсы

2005 Oracle 10g: Build J2EE Applications УКЦ ФОРС г. Москва, курсы

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
UBANK - мобильный кошелек и бесплатная банковская карта. Почти в каждом Android-смартфоне страны!
Москва
Java server side developer
Январь 2018 — По настоящее время (2 года и 9 месяцев)

Я Тимлид команды бэкэнд java разработчиков карты Халва.

Наш путь -  микро сервисная архитектура.
Исповедуем - реактивное программирование. Адепты реактивного манифеста

Бэкэнд для Халвы мы написали с нуля.  За несколько лет пройдя путь от одного сервиса до четырнадцати, и еще двадцать в планах впереди.  Принимая одни идеи, отвергая другие мы выстраиваем собственный архитектурный стиль, попутно решили множество проблемы, которые неизбежно встают пред командами, которые выбрали в своем проекте микро сервисную реактивность: Профилирование нагрузки, сбор статистик, легирование, управление память, и т.п.
Все наши сервисы публикуем в Kubernetes


В нашей практике мы используем:

Java 11
Spring-boot 2
Reactive Netty
Spring WebFlux
Project reactor
Spring Eurika Neflix
Spring cloud ribbon
Spring cloud config
Spring boot starter
Redis
PostgreSQL
Docker
Kubernetes
TramCity
bash
Linux

Моя роль:
- Набор команды для проекта.
- Проектирование архитектуры
- Планирование спринта
- Распределение ролей в команде
- Доставка и планирование  релиза.
- Конвертация бизнес задач  в задачи для разработчика.
- Профилирование.

Мои достижения.
 - С нуля набрать команду.
 - Эффективно влить в проект, распределить роли между членами командами. Хоть у нас и микро сервисная архитектура, и единый стек.  Но из практики, зачастую, кто-то пишет тонну кода, активно рефакторит, улучшает/изменяет архитектуру внутри кода. А кто то сконцентрирован на фичах, причем из конкретной области.  Другие выстраивают девопс на стыке разарботки.  И т.п.
 - Внедрение реактивной  микро сервисной архитекторы. И поддержка в этого архитектурного слоя.
-  Успешное, по этапное «распиливание» монолитного проекта
-  Идеи, практики , в разработки.







JavaPostgreSQLNettyDockerUnixSQLGradle
Крупнейшая телекоммуникационная и ведущая ИТ-компания
Ведущий Java разработчик
Август 2016 — Январь 2018 (1 год и 6 месяцев)

1) Доработка и оптимизация существующего существующего программного обеспечения. В мои обязанности входит исследование чужого программного кода , на предмет устранения ошибок/утечек а также его доработка до необходимого функционала. 2) Разработка промежуточного слоя. Сюда относятся разрабатываемые мной веб приложения и веб службы. В качестве протокола общения, в зависимости от задачи используются либо SOAP или REST подходы. Задачи веб служб:.Разработанная мной служба должна выступать многопоточным обработчиком очереди. Брокерами выступают либо Rabbitmq. Необходимо быстро прочитать очередь, обогатить данными из Mysql базы данных (Как правило это NDB кластер) или Oracle, или обратиться к внутренней подсистеме (ядру) и передать дальше в другую очередь/подсистему/FTP.Разработанная мной служба является интерфейсом (часто это SOAP) доступа к данным. Например, источником данных может выступать внутренняя подсистема или база данных.Разработанная мной “служба” служит эксплуатационной утилитой. Это веб приложение с графическим, фронтендом на javascript/ajax и бэкенд java Spring MVCТехнологии и подходы которые используются мной в разработки наиболее активно:Java EE /Core(SE)/ XML/ Java Bean/SOAP/REST Java DAOJSP - отображение javascript - отображение Hibernate ORM /JPA (как слой доступа к базе данных в службах)Maven - основной сборщикNetBeans (intellij idea)Rabbitmq - брокеры сообщений Tomcat - основной контейнер для проектов. Spring Framework (/Spring MVC /Spring boot и т.д.)- основной фреймворк проектаLiquibase - миграции БД ( проекты нередко включали часть подготовки схемы в БД)GIT контроль версий.JUnit/Mockito/интеграционное тестированиеТехнологии которые были затронуты но не применялись:Apache Spark фреймворк , рассматривается как распределенная система обработки данных различных типов.Apache Storm - распределенная система обработки большого потока данных от различных источников. Оба этих фреймворка(или каркаса, так как интерфейс разработчика включает разные языки Java/Scala/Python) рассматривается как замена существующей модели с обособленными веб-службами , на единую архитектуру (в случае в Storm это топологии, в случае Spark это RDD)

В МегаФоне мы создаем будущее, доступное каждому, используя современные стеки технологий и анализ больших данных.
Старший инжеренр по поддержке систем бизнес аналитики и отчетности. Департамент ИТ
Январь 2014 — Август 2015 (1 год и 8 месяцев)

Анализ бизнес-требований бизнес заказчиков. Выявление проблем в локальных информационных системах или бизнес процессов. Анализ возможности интеграции внешних информационных платформ с единым корпоративным хранилищем данных. (Oracle BILLING)Результатом моей работы.Результатом моей работы является , доработка существующей системы , либо интеграция , либо разработка нового приложения/модуляЧто делал:1) Анализ доработки/интеграции2) Создание пакетов, функций, процедур , PLSQL реализующих бизнес логику приложения или хранилища отчётности. (Слой бизнес логики и агрегация данных)3) Реализация слоя представления , и доступ к данным.Web сиервисы, Tomcat JSP , SOAP/REST , публикация Oracle Web Logic

Ведущий специалист. Департамент ИТ
Март 2003 — Август 2010 (7 лет и 6 месяцев)

Участвовал в создании и развитии (архитектура и разработка) информационной системы RNM (Radio Network Manager) для департамента планирования и оптимизации радиосети.ИС хранила, учитывала, все сетевые элементы радиосети , а так же являлась инструментам планирования радиосети.Я участвовал в развитии проекта от маленькой БД на Access до миграции на распределённую БД Oracle в нескольких филиалах с несколькими репликами.Технологии которые были применены:Oracle в качестве БДPLSQL - хранимые процедуры , логика обработкиAccess в качестве толстого клиента (интеграция с офисом)Apache Cacoon на Тomcat 4 - в качестве фреймворка для web интерфейса(позже просто Tomcat в качестве контейнера для отдельных сервлетов)

ЗАО ЭЛКОМ
Москва
Руководитель, развитие ИТ инфраструктуры и разработка
Август 2010 — Январь 2014 (3 года и 6 месяцев)

1) Hardawre & hosting & DNSВыбор аппаратного обеспечение, обслуживание. Создание сетевой инфраструкторы и поддержка доменной зоны2) Моделирование данныхМоделирование данных под условия бизнес-логики 3) Разработка бизнес-логики, использование различных framewrok's технологий4) реализация API Понимание и построение кратких и понятных интерфейсов /api для доступа к данным5) Бизнес аналитикаПонимание что нужно бизнес-заказчику, понимание как заказчик будет пользоваться ПО, какие проблемы перед ним могут возникнуть. Решение их.Реальная задача стояла в выборе аппаратного обеспечения, серверов, дата-центра. 6) Создание инфраструктуру для предприятия домены, хосты , службы почты и веб.7) Создание слоя внутренних сервисов и внутренних служб предприятия в том числе с использованием технологий Java EE (Tomcat web службы)создано несколько автономных web служб jetty в качестве http и jetty для API (JSON , XML)Одни службы производили парсинг (SAX) XML и складывали в хранилище , другие уже производили частичную обработку и аналитику того что уже загружено.В качестве фреймворка был использован Java springСборщик MavenКонтроль версий GIT8) Создание внешних (frontend) web приложением с использованием PHP, Laravel 5 фреймоврка , частично Yii, Angular и jquery9) Создание хранилищ данных (data warehouse) Oracle , mysql в том числе реальный опыт использования nosql MongoDB

Высшее образование
Российский государственный социальный университет
Москва
Факультет: Информационных технологий
Апрель 1999—Май 2004 (5 лет и 1 месяц)