Александр Наволоцкий - Java-developer
Навыки
- Agile
- AOP Базы данных: SQL (MySQL
- Boot
- Data
- Docker
- Github Другое: REST
- Github Система сборки: Gradle
- GitLab
- H2 VCS: Git
- Hibernate
- JWT
- Kafka
- Maven Coworking: Miro
- Mockito
- Mongo) Тестирование: JUnit
- MVC
- NOSQL(Redis
- Postgres)
- Postman
- SOAP
- XML
- Языки: Java (11-21) Spring Framework: Core
Опыт работы
Bono
Java-developer - 08.2021/01.2024Решения «под ключ» — анализ бизнес-модели клиента, подготовка ТЗ, реализация, тестирование, документация и пост-эксплуатация.
Проекты:
— Сервис видеоконференций. Пилотный проект предполагающий территориально распределённую систему для конференцсвязи в формате видео звонков. Проект предполагал возможность создания неограниченного создания комнат-видеоконференций за счёт микросервисной архитектуры и обработки медиапотоков на уровне *nix-ядра.
Реализация базируется на Spring Cloud и проекте rtpengine в качестве backend и webrtc/js в качестве клиентской части.
Sprint Cloud — Config и Service Discovery через Eureka, Stream c Redis, spring boot/java 17, а так же javax.sip для работы с SIP-сигнализацией.
github.com/sipwise/rtpengine собранный с модулем xt_RTPENGINE позволяющим обрабатывать медиапатоки на уровне ядра.
Нативный webrtc в качестве клиентской части.— motoil-nn.ru. CRM с интеграцией 1С/webrtc-телефонии/sms-уведомления. Распределённая система ролей, личные кабинеты, расчёт зарплаты, бонусная система, склад, аудит, модерируемый сайт, сборка каталога моторных масел с привязкой к марка/модель/модификация авто/мото/водной и т.п. техники.
Реализован на Java EE. Сервер приложений Glassfish, позднее Payara. JPA — EclipseLink, БД PostgreSQL. GUI — JSF/Primecafes с UiKit и BootStrap. Maven для сборки. Jenkins для деплоя. Selenium в docker для базовых тестов web. CentOS под хосттинг.
Разработка велась более двух лет, проект функционирует по сей день.— alloka.ru. Коллтрекинг/аналитика телефонных звонков. Обслуживание/настройка asterisk/kamailio. Интеграция в уже существующую систему решений по телефонных звонков таких как: преобразование голоса в текст (google/yandex api speach to text stream с предварительной обработкой файла для выявления голоса и пауз), обратный звонок (API для дозвона сотруднику и последующей связи его с клиентом, к примеру если вызов пропущен или оставлена заявка на сайте), API для исходящих вызовов, API статистики успешности звонков для мониторинга.
Основной стек spring boot/java 17/PostgreSQL/MySQl/Maven— 112-24.ru. Проект для связи автомобилистов по номерам авто. Реализована част отвечающая за приём/обработку голосовых заявок с распознаванием голоса и смс-заявок в формате номер-авто текст. Asterisk в качестве системы обработки звонков, java + spring + google/yandex api для обработки голосового потока. Java cloudhopper для приёма/отправки смс посредством протокола smpp.
— sonet.group — корпоративная телефония с IVR и очередями; веб-интерфейс управления построен на Spring Boot / Thymeleaf.
— paymagnet.com. Изначально австрийский проект на Java EE/JSF/Prime Faces. Поддержка доработка
— chmknn.ru Миграция с аналоговой связи на VoIP: Asterisk, запись разговоров, web-GUI; spring boot/spring mvc/thymeleaf/js+css.
— avgustinavdome.ru — мобильная платформа для поиска линейного персонала: микросервисы Spring Boot с аутентификацией JWT + Firebase, взаимодействие по Kafka, очереди задач Redis и Quartz-триггеры; реализован собственный push-центр FCM.
Технический стек: Java, Spring Boot, Spring Cloud, Java EE / Jakarta, SIP (javax.sip), WebRTC, rtpengine, Asterisk, Kamailio, PostgreSQL, Oracle, MySQL, Redis, Kafka, RabbitMQ, WebSocket, REST, GraphQL, Docker, Kubernetes, Jenkins, Helm, Terraform, Ansible, Linux.
Бит
Инжинер-программист - 01.2024/11.2024Место работы
Бит
Сфера деятельности компании
Java-разработчикНачало работы
2024
Окончание
2024Работаю сейчас
Расскажите о ваших обязанностях
Проект ЖилФонд:
Задачи:·Руковожу разработкой и поддержкой системы микросервисов, ответственных за формирование и отправку данных в систему ГИС ЖКХ. Это улучшило производительность проекта и обеспечило более эффективное взаимодействие с внешними системами.
·Отвечаю за логирование и обработку недоставленных сообщений с использованием Kafka и Elasticsearch. Это позволяет оперативно реагировать на возможные проблемы и обеспечить надежность системы.
·Проектирую синхронное и асинхронное взаимодействие между несколькими микросервисами, что обеспечивает гибкость и масштабируемость проекта.
·Организовываю выкатку продукта на продакшн-сервер для заказчика, включая подробное руководство по установке и настройке системы на стороне клиента.
·Поддерживаю интеграцию с внешними системами через вызов хранимых процедур БД и синхронизацию данных, обеспечивая надежность и целостность информации.Достижения:
·Внедрил Elasticsearch в систему проекта, улучшив поиск и аналитику данных.
·Успешно обновил проект на Java 21(с java 8) и Hibernate 5.4, повысив производительность и безопасность приложения.
·Начал процесс разделения монолита на микросервисы, выделив 6 независимых компонентов для улучшения масштабируемости проекта.
·Самостоятельно изучал проект без документации, создавая подробные описания модулей с инфографикой и схемами, облегчая взаимодействие в команде.
·Обучил нового сотрудника проекта и успешно интегрировал его в команду, способствуя эффективности работы и расширению проекта.Стек:
Java 21, Kafka, Hibernate, PostgreSQL, Spring (Core, Boot), Docker, REST API, Git, Maven/Gradle, Vaadin, Elasticsearch.
Проект Автономная Дистпетчерская Служба:
Задачи:
·Занимался проектированием схемы базы данных, в том числе оптимизацией структуры для повышения производительности и эффективности.
·Разработал модуль для диспетчерской службы на базе Asterisk, обеспечивающий эффективное управление вызовами и обработку информации.
·Руководил полным циклом разработки проекта, начиная с сбора требований и составления сценариев использования, и заканчивая запуском и поддержкой в производстве.
·Реализовал JWT авторизацию для обеспечения безопасного доступа к системе.
·Осуществлял контроль над разработкой Backend-части проекта, уделяя особое внимание качеству кода и соблюдению стандартов разработки.Достижения:
·Эффективно интегрировал различные компоненты системы, обеспечивая их взаимодействие без потери производительности.
·Проявлял активность в применении передовых практик и подходов в разработке, следя за инновациями в отрасли и внедряя их в проект для улучшения результатов.Стек:
Java 21, Kafka, Hibernate, PostgreSQL, Spring (Core, Boot), Docker, REST API, Git, Maven/Gradle, Elasticsearch, Asterisk, Linux
Обязанности для вашей профессииРазработка и обслуживание серверной части приложения
Внедрение и поддержка CI/CD процессов в направлении или компании
Написание программного кодаМирамедикс
Java-программист - 12.2024/05.2025Особенности: увольнение связано с закрытием ключевого(единственного) проекта и запуском ликвидации компании.
Задачи
Создание BFF (Backend For Frontend) для микросервисной системы на Spring WebFlux, что упростило интеграцию сервисов и повысило производительность пользовательских интерфейсов.Миграция ключевого сервиса команды с монолитной архитектуры на реактивный стек (Spring WebFlux, Kafka, самописный dsl) с применением принципов DDD и гексагональной архитектуры.
Разработка собственного DSL для единообразной реализации бизнес-логики и упрощения взаимодействия между микросервисами. Успешно внедрен в 3 микросервиса.
Создание нового высоконагруженного микросервиса с «topic-to-topic» взаимодействием через Kafka, что повысило пропускную способность и надёжность системы.
Поднятие уровня тестового покрытия по сервисам до ~80% и внедрение контроля качества кода на уровне CI.
Достижения
Сократил среднее время отклика в BFF-приложении на ~15% благодаря переводу на реактивный подход.Успешно рефакторил крупный сервис на основе принципов DDD и гексагональной архитектуры, упростив поддержку и дальнейшую интеграцию новых модулей.
Создал и внедрил DSL-фреймворк, сократив время разработки микросервисов за счёт унификации бизнес-логики.
Обеспечил стабильную обработку больших объёмов данных при интенсивном обмене сообщениями (до нескольких тысяч в минуту), повысив отказоустойчивость и масштабируемость системы.
Стек технологий:
Java 17, Spring WebFlux, Spring Boot, Spring Data, Spring Cloud, AOP, Kafka, Docker, CI (GitLab CI/Jenkins), Maven/Gradle, Git, PostgreSQL, Hibernate/JPA, Elasticsearch, Agile (Scrum), DDD, гексагональная архитектура, liquidbase
Образование
ДВС
ЯГТУ2018-2021Неоконченное высшее
Обо мне
Внимателен к своему коду и коду коллег. Не допускаю отсутсвие документации, логов и
тестов своих изменений. Контроллирую выпущенные релизы. Есть опыт в проектировании микросервисной архитектуры. Большую часть времени разрабатывал без подробного тз и детальных инструкций. Умею быстро погружаться в предметную область, что позволяет мне общаться на одном языке как с коллегами по цеху, так и с бизнес-заказчиками.