Семён Н., Senior, Java разработчик

Семён Н.
Россия, Москва
3 410 ₽/час 545 600 ₽/мес.
    Java разработчик
  • Senior
Опыт работы:

Стаж: 5 лет 3 месяца

Языки:

Английский — B2

ПисьменныйРазговорный

О специалисте

Навыки
Windows
Linux
Java
Java EE 8
Java SE 11-21
Kotlin
Spring Framework
Spring Core
Spring Transactional
Spring Rest
Spring Data JPA
Spring Boot
Spring Security
Spring AOP
AspectJ
Spring modulith
Spring-Cloud
WebFlux
Collection API
JDBC
Java Core
Concurrency
Java NIO
Micronaut
Apache Maven
Gradle
Groovy
Cassandra
Redis
Liquibase
Elasticsearch
Atlassian Jira
Confluence
Eclipse
IntelliJ IDEA
OAuth
Keycloak
CI/CD
Kubernetes
ELK-стек
Grafana
Unit-тестирование
Spring Test
TestContainers
шаблоны проектирования
алгоритмы
ООП
oauth2
JWT
OWASP
CORS
CSRF
SSO
JVM
Kafka
RabbitMQ
ActiveMQ
HTTP/REST
WebSocket
Grpc
SOAP
AWS
Database:
MySQL
PostgreSQL
Instruments:
VS code
Applications:
Docker
Формат работы
Удалённо
Описание о специалисте

Я опытный Java-разработчик с пятилетним опытом успешной реализации сложных проектов в сфере финтеха и финансовой безопасности. Мой путь привел меня от написания небольших утилит до участия в создании больших распределенных систем, основанных на микросервисной архитектуре и использующих такие технологии, как Spring Boot, Micronaut, Kafka, Redis и PostgreSQL.

Примеры работ

Система мониторинга строительства
Описание задачи/проекта

Разработка программного решения для комплексного учета ключевых параметров строительных объектов.

Позиция на проекте
Старший Java разработчик
Размер команды
Лид backend, 3 backend-разработчика, 3 frontend-разработчика, 2 QA, системный аналитик, менеджер проекта, дизайнер, DevOps
Ответственность
  1. Разработка и поддержка функционала для сбора и анализа данных, характеризующих состояние и особенности конструкций зданий.
  2. Исправление ошибок в коде, обеспечение стабильной работы системы.
  3. Улучшение производительности путем оптимизации SQL-запросов и структуры базы данных.
  4. Интеграция с внутренними системами посредством REST API и обмена сообщениями через Kafka.
  5. Рефакторинг legacy-кода: переработка устаревшего кода, повышение читаемости и поддерживаемости решений.
  6. Создание модульных и интеграционных тестов.
  7. Code review: проверка качества кода коллег.
  8. Взаимодействие с бизнес-аналитиками для четкого понимания требований и предоставления обратной связи.
  9. Переписывание sql запросов на jOOQ
Технологии и инструменты
Git, Java 17, Kafka, Liquibase, PostgreSQL, Spring Boot
Период работы/продолжительность
Май 2024 г. - Сентябрь 2025 г.
Система по противодействию мошенничеству
Описание задачи/проекта

Комплекс автоматизированных инструментов, направленных на выявление и предотвращение попыток финансовых махинаций и злоупотреблений.

Позиция на проекте
Java разработчик
Размер команды
1 лид backend, руководитель проекта, 12 аналитиков, 22 backend разработчика, 7 frontend разработчиков, 6 QA
Ответственность
  1. Разрабатывал систему микросервисной архитектуры для эффективной борьбы с мошенническими действиями на Java/Spring и Kotlin/Micronaut.
  2. Обеспечивал полное покрытие компонентов функциональными и интеграционными тестами для повышения надежности и качества продукта.
  3. Проводил ревью чужого кода, выявляя потенциальные проблемы и предлагая улучшения архитектуры и производительности.
  4. Организовывал взаимодействие между сервисами с использованием асинхронных сообщений через Apache Kafka и синхронных запросов через REST API.
  5. Настраивал мониторинг логирования приложений и хранимых данных в Elasticsearch для быстрого выявления аномалий и предупреждения рисков.
  6. Использовал инструменты тестирования (Postman, JMeter), обеспечивая стабильность и производительность сервисов перед релизами.
  7. Проектировал высоконагруженную схему хранения данных в реляционной СУБД PostgreSQL и NoSQL-решении Cassandra, оптимизировал запросы, снижая нагрузку на инфраструктуру.
  8. Участвовал в принятии архитектурных решений совместно с командой, оценивая риски и выгоды различных подходов.
  9. Поддерживал бесперебойность работы системы, осуществляя постоянный мониторинг показателей здоровья сервисов и исправление возникающих багов.
Технологии и инструменты
Cassandra, CI/CD, Docker, Elasticsearch, Java, JMeter, Kotlin, Kubernetes, Micronaut, PostgreSQL, Postman, REST API, Spring
Период работы/продолжительность
Апрель 2023 г. - Май 2024 г.
Телекоммуникационная компания — разработка шины данных
Описание задачи/проекта

Разработка шины данных, предназначенной для объединения разнородных информационных систем компании и обеспечения эффективного обмена данными между ними.

Позиция на проекте
Java разработчик
Размер команды
Руководитель проекта, 3 Java-разработчика, DevOps, архитектор ПО, 2 QA, бизнес-аналитик, специалист по инфраструктуре
Ответственность
  1. Поддерживал монолитное приложение на Java, обеспечивающее роль централизованной шины данных для передачи информации между различными системами компании.
  2. Спроектировал архитектуру интеграции с внешними источниками данных, реализовав гибкую и масштабируемую систему обмена информацией.
  3. Разработал функционал обработки данных, реализовал интеграцию с Camunda.
  4. Реализовал парсер XML документов для извлечения необходимых данных и преобразования их в объекты DOM модели, используя библиотеку JAXP.
  5. Обеспечил обработку входящих запросов формата SOAP, создав соответствующий endpoint и обработчики сообщений.
  6. Организовал обмен данными между сервисами посредством REST, сериализуя и десериализуя данные в формат JSON с использованием библиотеки Jackson.
  7. Настроил механизм маршалинга/демаршалинга объектов в XML и обратно, применив технологию JAXB для упрощения конвертации POJO классов в XML представления и обратно.
  8. Добавил возможность автоматической генерации XSD схем на основе существующих Java-классов с применением аннотаций JAXB (@XmlRootElement, @XmlAttribute).
  9. Интегрировал решение с внешними системами через API на основе WSDL контрактов, генерируя клиентские прокси-классы с помощью wsimport утилиты.
  10. Оптимизировал производительность обработки больших объемов XML-данных путем внедрения стримингового подхода с использованием StAX (Streaming API for XML).
  11. Регулярно проводил код-ревью коллег, предоставляя конструктивную обратную связь и рекомендации по улучшению структуры и производительности кода.
  12. Создавал модульные и интеграционные тесты, покрывающие ключевые бизнес-функции приложения, обеспечивая высокое качество разработки.
  13. Оказывал техническую поддержку команде девопсов, помогая успешно доставлять код до производственной среды, устраняя возможные технические препятствия и повышая надежность процессов деплоймента.
Технологии и инструменты
Camunda, ESB, Jackson, Java, JAXB, JSON, REST, SOAP, XML, JAXP, StAX
Период работы/продолжительность
Декабрь 2021 г. - Апрель 2023 г.
Финансовая технология (Финтех, под NDA)
Описание задачи/проекта

Повышение эффективности и надежности финтех-сервисов за счёт внедрения автоматизации и поддержки существующих решений.

Позиция на проекте
Java разработчик
Размер команды
Лиды backend и frontend, 15 backend-разработчиков, 7 frontend-разработчиков, 8 QA, 6 аналитиков, руководитель проекта
Ответственность
  1. Реализовывал новые функциональные возможности и поддерживал существующий код платформы на Java/Spring.
  2. Проводил декомпозицию монолитного приложения на отдельные микросервисы, выделяя независимые компоненты и минимизируя зависимости между ними.
  3. Проектировал интерфейсы взаимодействия между микросервисами, используя асинхронные и синхронные подходы (RESTful API, RPC, очереди сообщений).
  4. Рефакторил существующие модули, снижая сложность и улучшая покрытие тестами перед миграцией в микросервисную архитектуру.
  5. Улучшил отказоустойчивость сервисов путём реализации паттернов Circuit Breaker, Retry, Bulkhead и Timeout с использованием библиотек Hystrix, Resilience4j.
  6. Отвечал за мониторинг и управление жизненным циклом новых микросервисов с помощью Prometheus, Grafana, ELK Stack.
  7. Упростил процесс развертывания и обновления сервисов благодаря CI/CD конвейерам Jenkins/GitLab CI.
  8. Обеспечивал надежное хранение данных и консистентность транзакций между микросервисами с помощью распределенных транзакций (Saga Pattern, Eventual Consistency).
  9. Разработал схему работы с очередями сообщений (ActiveMQ, RabbitMQ) для асинхронного взаимодействия между компонентами.
  10. Занимался разработкой и поддержкой схемы данных в PostgreSQL с применением миграции баз данных через Liquibase.
  11. Повышал качество программного обеспечения путем покрытия всех ключевых модулей модульными и интеграционными тестами.
  12. Устранял баги и улучшал существующую функциональность в режиме оперативного реагирования.
  13. Провёл множество сессий code-review, предоставив конструктивные замечания и предложив решения для оптимизации кода.
  14. Активно участвовал в формировании архитектуры и технического проектирования продуктов.
Технологии и инструменты
ActiveMQ, Docker, ELK Stack, Grafana, Hystrix, Java, Kubernetes, Liquibase, PostgreSQL, Prometheus, RabbitMQ, Spring, Resilience4j, Jenkins/GitLab CI
Период работы/продолжительность
Февраль 2020 г. - Декабрь 2021 г.

Образование

Магистр
Название учебного заведения/курса
ИРИТ РТФ
Специальность
Прикладной анализ данных и методы видеоанализа
Аналогичные специалисты
Не нашли, кого искали?

Оставьте заявку и, наша команда в кратчайшие сроки подберёт необходимого специалиста за вас!

Помните, что заключение договора и оплата услуг происходит после того, как вы выбрали специалиста