← В ленту
Умею фиксить невоспроизводимые тестировщиками баги, восстанавливать сервера после других людей (при наличии ssh root). В свободное от работы время делаю pet-проекты на Java/Kotlin/Go.

Портфолио

Arrival

- Некоторые общие задачи с PostgreSQL, Spring Boot и Kafka. - Я создал доставку телеметрии (географических координат) через подписки GraphQL в мобильное приложение.

Банк «Открытие»

- Интеграция с партнёрами и вендорами, поддержка и рефакторинг микросервисной архитектуры. - Удалил тонны вендорского кода, прорефакторил Spring Security часть, покрыл её тестами. - "Схлопнул" 5 микросервисов в 1 для упрощения отладки и тестирования. - Удалил привязку к вендорскому решению (реверс-инжиниринг с помощью tcpdump). - Внедрил тесты с базой с помощью testcontainers. - Настроил GC в docker registry. - Привел к общему виду механизм обработки исключений (@ExceptionHandler). - Поднял мастер-ноду дженкинса, перенес на нее таски со старой. - Поднял gitea для Spring Cloud Config. - Удалил gitea. - Внедрил Spring Cloud Gateway. - Настроил nexus. - Поддерживал кластер kubernetes. - Лидил 3 продуктовые команды разработки и онбордил новых сотрудников.

Альфа Банк

- Исправил код работы с Hazelcast, удалил ImageMagick, отказался от Kafka, удалил самописную реализацию CQRS, отрефакторил базу - разделил монотаблицу с запутанными структурами высокой степени вложенности (попытка сделать mongo на jsonb) на несколько таблиц в соответствии с бизнес сущностями. - Оптимизировал SQL запросы (рефакторил базу для создания более подходящей под большие объёмы схемы). - Написал сериализатор Spring Statemachine,сохраняющий состояние в таблицу как jsonb (дефолтный сохраняет через Kryo - затрудняет обновления версий). - Организовывал процесс деплоя вышеперечисленных доработок в прод - координировал 2 команды сопровождения и команду нагрузочного тестирования.

Скиллы

Java
Java Spring Framework
Liquibase
Freemarker
Git
WebRTC
Helmsman
Terraform
Ansible
k8s
Helm
DevOps
Vuetify
Webpack
Vue.js
Frontend
Micrometer
OpenTelemetry
OpenCensus
Jaeger
Open Metrics
Spring Cloud Sleuth
ELK
Grafana
Prometheus
Feign
Consul
Microservices
OKD
Openshift
Kubernetes
Docker Compose
Docker
Qemu
Microsoft Virtual PC 2007
Oracle VM VirtualBox
VMware Workstation
supervisord
bash
journald
systemd
Linux
Rocky Linux
Alpine Linux
Debian
CentOS
Fedora
Python
Groovy
Golang
DDD
Design Patterns
TDD
Github Actions
Gitlab CI
Travis
Jenkins
OpenSearch
Elasticsearch
PrimeFaces
JSF
JsonPath
Jackson
JAXB
XStream
Gradle
Maven
Jmeter
Testcontainers
Spring Test
Mockito
Rest Assured
TestNG
JUnit
Keycloak
Glassfish
Wildfly
Netflix DSG framework
Spring GraphQL
Ktor
Undertow
Jetty
Tomcat
ksqlDB
Kafka
ActiveMQ
Apache Qpid
RabbitMQ
Hazelcast
Redis
DoltDB
PostgreSQL
MongoDB
H2
MySQL
Hibernate
JDBC
JPA
JMS
GraalVM
Spring Session
Spring Security
Spring Testing
Spring Rabbit
Spring Data R2DBC
Spring Data Mongo
Spring Data JPA
Spring Data JDBC
Spring Boot
Go
Kotlin

Опыт работы

Старший бэкенд-разработчик
с 02.2022 - По настоящий момент |Arrival
PostgreSQL, Java Spring Framework, Spring Boot, GraphQL, Apache Kafka, Git, Kotlin
- Некоторые общие задачи с PostgreSQL, Spring Boot и Kafka. - Я создал доставку телеметрии (географических координат) через подписки GraphQL в мобильное приложение.
Ведущий разработчик
10.2020 - 02.2022 |Альфа Банк
Kotlin, Java, PostgreSQL, Kubernetes, Spring Boot, Docker, Hibernate, Junit, MongoDB
- Исправил код работы с Hazelcast, удалил ImageMagick, отказался от Kafka, удалил самописную реализацию CQRS, отрефакторил базу - разделил монотаблицу с запутанными структурами высокой степени вложенности (попытка сделать mongo на jsonb) на несколько таблиц в соответствии с бизнес сущностями. - Оптимизировал SQL запросы (рефакторил базу для создания более подходящей под большие объёмы схемы). - Написал сериализатор Spring Statemachine,сохраняющий состояние в таблицу как jsonb (дефолтный сохраняет через Kryo - затрудняет обновления версий). - Организовывал процесс деплоя вышеперечисленных доработок в прод - координировал 2 команды сопровождения и команду нагрузочного тестирования.
Старший разработчик
11.2019 - 10.2020 |BCS FinTech
MongoDB, Kubernetes, Java, Spring Boot, Apache Kafka, RabbitMQ, Junit
- Обновил MongoDB 3->4 на проде, внедрил (интеграционные) автотесты(JUnit 5, Spring Boot, Spring Test, Freemarker), вывел из эксплуатации 1 микросервис. - Сделал версионирование позиций, подобно MVCC в PostgreSQL.
Эксперт
08.2017 - 11.2019 |Банк «Открытие»
Jenkins, Java, Spring Boot, RabbitMQ, Hibernate, PostgreSQL, Bash, Junit
- Интеграция с партнёрами и вендорами, поддержка и рефакторинг микросервисной архитектуры. - Удалил тонны вендорского кода, прорефакторил Spring Security часть, покрыл её тестами. - "Схлопнул" 5 микросервисов в 1 для упрощения отладки и тестирования. - Удалил привязку к вендорскому решению (реверс-инжиниринг с помощью tcpdump). - Внедрил тесты с базой с помощью testcontainers. - Настроил GC в docker registry. - Привел к общему виду механизм обработки исключений (@ExceptionHandler). - Поднял мастер-ноду дженкинса, перенес на нее таски со старой. - Поднял gitea для Spring Cloud Config. - Удалил gitea. - Внедрил Spring Cloud Gateway. - Настроил nexus. - Поддерживал кластер kubernetes. - Лидил 3 продуктовые команды разработки и онбордил новых сотрудников.
Инженер-программист
04.2015 - 08.2017 |Altarix
Jenkins, Java, MongoDB, PostgreSQL, Python, Spring Boot, Junit
- Написание компонентов высоконагруженной платформы (отправка пушей, рассылка почты, методы работы с профилем пользователя). - Настроил Jenkins, сделал docker-compose сборки проекта, состоящего из 10 модулей, привёл в порядок gradle-скрипты, объединил эти модули в один репозиторий, js админка собирается gradle-таской gradle-node-plugin; - Внедрил интеграционные автотесты на связке Groovy + Rest Assured, установил это на Jenkins.
Программист
08.2014 - 04.2015 |ИнфоТеКС
VMware, Java
- Внедрение работы с виртуальными машинами VMware Workstation через ant-vix-tasks в тестовый фреймворк ... и последующий отказ от тасков в пользу vmrun; - Расширение функциональности тестового фреймворка для новых сценариев.

Образование

Вычислительные машины и системы
2010 - 2015
Российский технологический университет МИРЭА

Языки

АнглийскийВыше среднего