Специалисты

Описание

Ключевые навыки
Programming Languages
- Java / Kotlin
Framework/Library
- Spring - Spring Boot- Spring Cloud- JPA, Hibernate
DBMS
- Oracle- PostgreSQL- MongoDB- Redis
Application/Web Servers
- Nginx- Apache Kafka- RabbitMQ- Apache Tomcat- ElasticSearch- LogStash- Kibana
Application Type
- REST- Grpc
Development Tools
- Git- Gradle- Maven
Other
- Agile- Jira- Docker- Kubernetes- Nexus- Unix

Образование
Прикладная математика (факультет Математики и компьютерных наук)
Адыгейский государственный университет, 2023г.

Опыт
Проект

NDA #1 (Финтех)

Описание

Роль: бэкенд разработчик Состав команды: 4 бэкенд разработчика, 3 фронтенд разработчика, 3 аналитика, 3 тестировщика, 1 тимлид, 1 руководитель проекта Описание проекта: Поддержка и развитие банковской системы по работе с юридическими лицами. В рамках системы клиента банка имеют широкий функционал по управлению финансами своих организаций (платежи, переводы, патенты, работа с налогами и тд). Проект выполнен в виде микросервисной архитектуры с синхронным и асинхронным взаимодействием через очереди сообщений. Сами сервисы реализовывались в рамках гексагональной архитектуры с отдельными слоями домена, бизнес-логики и АПИ контроллеров (межсервисных и внешних). Что было сделано: • Реализация микросервиса - справочники, обобщающим информацию о Клиенте (юр лице). • Миграция с БД Oracle на Postgres. • Оптимизация работы существующих сервисов путем рефакторинга API и запросов в базу. • Настройка сборок метрик на микросервисах из зоны ответственности команды.

Технологии

Kotlin / Spring Boot / Kafka / IBM MQ / Hibernate / Postgres / Nexus / Bitbucket / Hashicorp Vault / Kibana / Grafana / Sentry

Длительность

Октябрь 2023 – Март 2025 месяцев

Проект

NDA #2 (Производство)

Описание

Роль: бэкенд разработчик Состав команды: 5 бэкенд разработчиков, 2 фронтенд разработчика, 1 бизнес-аналитик, 3 системных аналитика, 2 тестировщика, 1 дизайнер, 1 девопс, 1 тимлид, 1 руководитель проекта Описание проекта: Цель проекта - усовершенствование системы сбора, хранения, обработки и визуализации данных о производственных процессах. В рамках проекта были реализованы: 1) новые инструменты для мониторинга и анализа, включая расчет дополнительных ключевых показателей 2) гистограммы, диаграммы, таблицы для визуализации данных 3) функционал для формирования отчетов с гибкой параметризацией и выгрузкой в различные форматы (PDF, Word, Excel). Также были исправлены ошибки и оптимизирован старый функционал. В результате пользователи получили более полную аналитику, необходимую для оптимизации процессов на производстве. Что было сделано: · Реализовала фильтрацию аналитических отчетов, группировку данных, а также автоматическое применение наложенных фильтров к гистограммам. · Реализовала асинхронную выгрузку отчетов в Excel с использованием пула потоков, промежуточным хранением файлов в Minio и отслеживанием статуса загрузки через Redis. · Настроила форматирование отчетов для выгрузки в Word, обеспечив соответствие требованиям печати. · Расширила функциональность аналитических таблиц, агрегирующих данные из PostgreSQL и ClickHouse, с изменением структуры данных через миграции. Реализовала фильтрацию, сортировку и множественный выбор для новых полей.

Технологии

Java / Spring / TestContainers / Mockito / Kafka / Clickhouse / PostgreSQL / Keycloak / NiFi / Liquibase / MinIO / Redis / Apache POI

Длительность

Май 2023 – Сентябрь 2023 месяца

Проект

NDA #3 (Производство)

Описание

Роль: бэкенд разработчик Состав команды: 9 бэкенд разработчиков, 5 фронтенд разработчиков, 4 бизнес-аналитика, 2 системных аналитика, 3 тестировщика, 1 старший консультант, 1 консультант, 1 дизайнер, 1 тимлид, 1 руководитель проекта Описание проекта: Проект нацелен на создание инструмента для управления персоналом и автоматизации задач предприятия. Инструментом могут пользоваться не только руководители, но и рабочие, для руководителей - управление персоналом, для рабочих - заведение задач (работ). Все это необходимо для оптимизации и автоматизации процессов управления и производства с помощью различных функций, заточенных под различные ситуации. В ходе работы реализованы модули РНП (Расстановка и назначение персонала) и УОР (Управление остановочными ремонтами), которые включают функционал графического отображения загруженности каждого работника и его рабочего места. Модуль РНП отвечает за балансировку нагрузки каждого исполнителя и назначение ему конкретных задач. Модуль УОР формирует графики ремонтов на основе различных внутренних единиц, устанавливает правила формирования ремонтов, маршруты согласования по иерархическому дереву руководителей и предоставляет различные шаблоны для создания объектов загрузки. Разбито монолитное приложение на микросервисы, где каждый модуль представлен отдельным микросервисом. Что было сделано: • Перевод парсинга сущности (которая приходит из ERP) из монолита в отдельный микросервис с рефакторингом сервисов и мапперов (из умного маппера делаем глупого, чтобы не вызывались внутри него сервисы/репозитории, по возможности отказываясь еще и от хелперов). • Оптимизация расчета баланса ремонтного времени - расчета работ на техническом месте. Изначально на стенде расчет занимал около 4 часов, удалось оптимизировать до 3 минут (в выборке участвовали почти все существующие записи - около 1.5 млн). Для оптимизации все BigDecimal были убраны и вместо них начали использоваться Float, т.к. на фронте число отображается с двумя знаками после запятой; на колонки, которые используются в выборке написан индекс; была использована многопоточка (техместо оборачивалось в поток). • Расчет одобренного и фактического БРВ (баланс ремонтного времени) - более узкая выборка работ на техместах, необходима для сравнения показателей времени работ на техместах, одобренное - одобренное начальством, фактическое - на данный момент, которое запросили работники (изначально была предложена джоба и создание двух таблиц, но из-за отсутствия необходимости получения всех записей перешли к точечному получения техмест из конкретного графика ремонтов без хранения результатов в таблицах). • Множественный выбор видов ремонтов с валидацией входных данных на селекционном экране линейки подрядчиков и многоуровневой сортировкой результатов - использовались кастомные репозитории, где использовался QueryDSL, для тестирования были реализованы все кейсы, которые могут быть.

Технологии

Java 17 / Spring Framework / SpringBoot / Spring Data / JPA / Hibernate / QueryDSL / Spring Security / RabbitMQ / Maven / PostgreSQL / JUnit5 / Liquibase / Apache poi

Длительность

Январь 2022 – Апрель 2023 месяца

Проект

NDA #4 (Производство)

Описание

Роль: бэкенд разработчик Состав команды: 3 бэкенд разработчика, 3 фронтенд разработчика, 1 аналитик, 1 тестировщик, 1 тимлид, 1 руководитель проекта Описание проекта: Доработки системы оперативного управления производством. Сбор, хранение и анализ данных о параметрах производства, а также их передача в смежные системы. Контроль за технологией, постоянный мониторинг качества продукции и режимов работы оборудования с целью стабилизации всех технологических параметров на оптимальном уровне. Что было сделано: API для осуществления контроля производства. Сервис отслеживания погодных условий и создания рекомендаций по температурному режиму. Создание шаблонов и автоматизация генерации отчетных документов. Миграция существующих сервисов с Python на Java.

Технологии

Java 11 / Spring / Hibernate / PostgreSQL / Apache Kafka / Schema Registry / OpenShift / Logstash / ElasticSearch / Prometheus / Grafana / Jaeger / Keycloak / Jasper Report

Длительность

Март 2021 – Декабрь 2021 месяц