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

Male avatar
Семён Н.
Россия, Москва
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 г.

Образование

Магистр
Название учебного заведения/курса
ИРИТ РТФ
Специальность
Прикладной анализ данных и методы видеоанализа
Аналогичные специалисты
Male avatar
Павел Ш.
Россия, Иваново
3 200 ₽/час
    Java разработчик
  • Lead
Опыт коммерческой разработки на большом количестве языков программирования. В том числе разработка микросервисов на Java, Golang, C#; вспомогательных приложений и утилит на Python. Есть опыт front-end разработки, хорошее знание HTML, CSS, JavaScript и TypeScript. Опыт разработки приложений на Angular и опыт разработки web-приложений с использованием OpenAPI на back-end и front-end. Опыт интеграции с ElasticSearch/OpenSearch для организации полнотекстового поиска. Опыт построения микросервисной архитектуры в том числе гетерогенных микросервисных систем, также имеется опыт постепенной декомпозиции монолитных сервисов и обновления системы до микросервисной архитектуры. Занимался разработкой архитектуры взаимодействия между сервисами с использованием ActiveMQ, Apache Kafka, gRPC. Опыт постановки задач по собранным техническим требованиям. Опыт разработки процессов сборки и развертывания приложений, настройки CI/CD. Опыт проектирования архитектуры информационной системы и моделей данных.
    Java
    GOlang
    JavaScript
    TypeScript
    .NET
    C#
    Angular
    Java EE
    Spring
    Spring Security
    Spring Boot
    Android SDK
    SQL
    PostgreSQL
    MongoDB
    Hibernate
    JUnit
    Proxmox VE
    Power BI
    MetaBase BI
    TeamCity
    ELK
    Kubernetes
    Graylog
    Prometheus
    Grafana
    Docker
    AWS
    Terraform
    OpenAPI
    Grpc
    Jenkins
    NiFi
    Apache Kafka
    ActiveMQ
    RabbitMQ
    YouTrack
    Jira
    Linux
Не нашли, кого искали?

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

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

Request Poster