Обязанности и достижения:
Проект:
Разработка и поддержка B2B-системы учёта и аналитики энергопотребления для корпоративных клиентов. Система отвечала за приём показаний, расчёт и выставление счетов, а также интеграции с внешними аналитическими и платёжными сервисами.
Архитектура — микросервисная, с постепенным выносом функционала из старого монолита.
Задачи:
Разработка микросервиса Billing Service — расчёт и формирование счетов за энергопотребление.
Реализация бизнес-логики тарификации и расчётов по данным из Kafka.
Интеграция с Kafka (приём показаний и публикация событий о сформированных счетах).
Работа с PostgreSQL (проектирование схемы, оптимизация запросов, миграции через Liquibase).
Написание REST-контрактов и DTO, документирование API через Swagger.
Рефакторинг старого кода при переносе из монолита в микросервис.
Написание unit и интеграционных тестов (JUnit5, Mockito, Testcontainers).
Анализ логов (ELK) и метрик (Grafana/Prometheus), устранение инцидентов на тестовых стендах.
Участие в код-ревью, планировании спринтов, оценке задач.
Результаты:
Разработал и внедрил Billing Service, обеспечив стабильную обработку тысяч событий в минуту через Kafka.
Повысил надёжность расчётов за счёт идемпотентной логики и оптимизации batch-записей в БД.
После релиза сервис успешно работает в продакшне, используется бухгалтерией и аналитикой компании.
Стек технологий:
Java 17, Spring (Boot, Web, Data JPA), PostgreSQL, Maven, Kafka, Docker, Rest API, Liquibase, JUnit, Mockito, GitLab, JSON, HTTP, CI/CD, ELK, Prometheus, Grafana, Jira/Confluence, Lombok.