Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
Денис — Java-разработчик уровня Senior из Санкт-Петербурга. Специализируется на разработке в областях FinTech & Banking, Telecom и LifeStyle. Имеет опыт работы с широким спектром технологий, включая Apache, API, Atlassian, Design Patterns, Docker, Git, Gradle, Groovy, IntelliJ IDEA, Java, JDBC, Jira, JUnit, Kafka, Kotlin, Maven, Microservices, REST, Spring, Spring Boot, SQL, Unit testing, а также с Camunda 7, CI/CD, Kubernetes, JPA, Linux.
Принимал участие в разработке системы маркировки товаров (ГИС МТ), где занимался роутингом и обработкой документов, интеграцией с другими государственными системами и системами маркировки стран ЕАЭС, обработкой ОФД чеков. Реализовал процессор аннотаций для кодогенерации типовых классов на основе классов описаний, что позволило сократить количество кода в 3 раза.
Работал над системой лояльности, где занимался процессингом и интеграцией с системами партнёров, а затем перешёл на разработку бекенда админки для партнёров с использованием микросервисной архитектуры и реактивного стека.
В Т-Банке разрабатывал продукты «Турниры» и «PvP», прорабатывал архитектурные решения на основе бизнес-требований, реализовывал и тестировал бизнес-задачи, доставлял их до прода. Разработал фреймворк для компонентного тестирования, бота для отслеживания неконсистентности задач в Jira и инструментарий для работы с контрактами OpenAPI.
Проекты
(7 лет 9 месяцев)
Т-Банк
Роль
Software engineer
Обязанности
Занимался разработкой двух продуктов: Турниры и PvP. Прорабатывал архитектурные решения на основе бизнес требований, реализовывал бизнес задачи, помогал их тестировать, а так же доставлял их до прода
Помимо бизнес задач активно принимал участие в сайдофф активностях.
Достижения
1) Разработал фреймворк для компонентного тестирования, которым пользуется множество команд
2) Разработал бота для отслеживания неконсистентности задач в Jira. Для достижения НФТ реализовал парсер JQL подобного языка, чтобы пользователь мог использовать привычный ему JQL, который исполняется на стороне бота, а не на стороне Jira. Ботом пользуются большое количество команд из разных управлений внутри банка
3) Инструментарий для работы с контрактами OpenAPI. Мы активно используем contract-first подход, из-за чего у нас много контрактов, в которых часто повторяются одни и те же модели. Для минимализации риска того, что в одном контракте модель поменяли, а в другом забыли, я предложил и реализовал cli приложение, которое позволяет разделить контракт на кусочки, из кусочков собирать финальный контракт, а так же доставлять контракты до целевых сервисов и гарантировать консистентность контрактов между репозиториями
4) Реализовал модуль declarative-logging-symbol-processor в фреймворке Kora: https://github.com/Tinkoff/kora/tree/main/logging/declarative-logging/declarative-logging-symbol-processor
Разработка системы маркировки товаров (ГИС МТ)
Занимался разными задачами: роутингом документов, обработкой документов, интеграцией с другими гос. системами (например ЕГАИС) и с системами маркировки стран ЕАЭС, обработка ОФД чеков, а так же принимал активное участие в разработке внутренних решений для тестирования компонентов.
Достижения
Так для утилит тестирования написал процессор аннотаций для кодогенерации типовых классов на основе классов описаний, что в итоге позволило сократить количество кода в 3 раза, позволяет делать меньше ошибок в описании классов, а так же позволяет бесшовно внедрять новый функционал во все генерируемые классы. Для процессора аннотаций использовал KSP (аналог Java Annotation Processor для Kotlin). Так же интегрировал KSP с системой сборки Bazel (из коробки KSP работает только с Gradle)
Разработка системы лояльности под ключ
Первое время занимался основной частью системы - процессингом (обработка запросов с кассового ПО, интеграция с системами партнеров и т.д.)
В последствии перешел на новый проект - бекенд админки для партнеров. Там предстояло написать решение с нуля
Была выбрана микросервисная архитектура и реактивный стек
Стек специалиста на проекте
RabbitMQ, Docker, Elasticsearch, Jira, Kibana, Jackson, Data, JDBC, Oracle Database, WebFlux, Web, Spring, Microservice Architecture, actuator, Работа с интеграциями, Программное обеспечение, Maven/Gradle, Java 11-17, Spring Boot 2.3, githab