Senior Java-arendaja

    Lepitav
    Usbekistan
    Taškent
    Täistööaeg
    Kaug töö
    Töökogemus
    4 aastat 7 kuud
    Viimane töökoht

    Кросстехнолоджис

    Java-разработчик
    1 aasta 9 kuud

    Minust

    Minust

    Спроектировал и внедрил механизм поиска по 27 млн документов в Elasticsearch с предварительным сопоставлением и инкрементальным rematch. Разрабатывал сервисы с нуля, отвечал за техническую подготовку релизов, проверку сервисов после выкладки и откаты.

    Техническая база: понимаю устройство JVM и байткода, Java Memory Model (JMM), различия Heap и Stack, принципы работы GC и причины Stop-the-World пауз. Знаком с принципами конкурентного доступа к данным и репликации.

    Использовал Kafka для обмена сообщениями между микросервисами и реализации уведомлений на платформе мониторинга информационной безопасности.

    В свободное время экспериментирую с Linux и электроникой на ESP32 и Arduino. Интересуюсь новыми технологиями, играю на гитаре и пианино, пою и играю в шахматы.

    Kogemus Affiliate'is

    Andmed puuduvad

    Töökogemus
    4 aastat 7 kuud

    Veebruar 2025 - kuni praeguseni
    (1 aasta 9 kuud)
    Кросстехнолоджис
    Java-разработчик
    Разработка микросервисной платформы мониторинга информационной безопасности: утечки данных, фрод, фишинговые сайты, новости и медиаданные. Ключевые проекты и результаты: • Спроектировал и внедрил оптимизацию поиска по 27 млн документов в Elasticsearch. Сравнил варианты индексирования, затем перенес сопоставление документов с шаблонами и регулярными выражениями на этап загрузки данных. Реализовал сохранение принадлежности к компаниям и инкрементальный rematch только для новых и измененных правил. • По наблюдениям в продакшене, сократил время поиска с 80–100 секунд и более до 10 секунд в обычных запросах и до 20 секунд в редких сложных случаях. Время зависит от запроса и данных; значения приблизительные. • Разрабатывал модули новостей ИБ, медиа, транзакций и мониторинга недостоверных контактных данных. Работа над новостями ИБ и медиа затрагивала по четыре сервиса. • Разрабатывал модуль поддержки из трех сервисов: один создал полностью с нуля, два дорабатывал в рамках реализации функциональности. • Отвечал за техническую подготовку и проверку релизов: состав изменений, актуальность веток, разрешение конфликтов, миграции БД и переменные GitLab CI/CD. Проверял запуск и работу сервисов в Kubernetes после выкладки, выполнял smoke-тесты в продакшене и откаты при необходимости. • Повысил покрытие тестами с 65% до 91% в двух крупных сервисах. Использовал JUnit, моки, embedded-компоненты и Testcontainers. • Руководил работой одного junior-разработчика: проводил code review, подбирал учебные материалы, готовил собственные объяснения и наглядные примеры, подробно разбирал алгоритмы и задачи. Основные задачи: • Разработка микросервисов на Java 21/25 и Spring Boot, REST API и интеграций с внешними системами и внутренними сервисами. • Работа с PostgreSQL, Kafka, Elasticsearch и S3. • Code review, ревью задач, участие в обсуждении архитектурных решений и улучшении релизных процессов. • Разбор продакшен-инцидентов, устранение корневых причин, улучшение логирования и поддерживаемости кода. • Разработка механизма парсинга дат с поддержкой разных форматов и некорректных входных данных для сокращения ошибок обработки. • Использовал Spring Profiles для разделения конфигураций тестов и разных стендов. Стек: Java 21/25, Spring Boot (Data, Security, Cloud, Web), PostgreSQL, Kafka, Elasticsearch, Kibana, S3, Liquibase, Docker, Kubernetes, GitLab CI/CD, Swagger, Kotlin, Python, Google Guava, JUnit, Testcontainers.
    Aprill 2022 - Veebruar 2025
    (2 aastat 11 kuud)
    Soft Jet
    Java-разработчик
    Разработка backend в формате аутстафф: финтех-проекты и складские системы крупной e-commerce платформы. Заказчики под NDA. Ключевой проект — система управления складскими операциями. Команда отвечала за движение товара внутри склада: сборку, раскладку, сортировку, инвентаризацию и работу терминалов сбора данных. Ключевые проекты и результаты: • Разработал и поддерживал крупный сервис инвентаризации для пересчета содержимого складских ячеек. Сотрудники отдельной команды сканировали товары в каждой ячейке, а сервис сверял фактическое расположение с данными системы и выявлял расхождения. • Реализовал обработку товаров, обнаруженных вне ожидаемой ячейки: сервис корректировал их расположение в учетной системе, перестраивал маршруты сборщиков и обновлял связанные процессы. Это позволяло находить потерянные и зависшие в учете товары во время инвентаризации. • Дорабатывал алгоритм маршрутизации сборки заказов с учетом расположения товаров и порядка обхода склада. • Участвовал в разработке динамического адресного хранения: выборе ячеек для размещения товаров, учете свободных мест и обработке перемещений между ячейками. Другие задачи: • Разработка функциональности резервирования товаров. • Разработка микросервисов на Java и Spring Boot, REST API и интеграций с внутренними и внешними системами. • Работа с PostgreSQL: SQL-запросы, схемы БД и миграции. • Code review, рефакторинг, участие в релизах и поддержке продакшена. • Разработка backend в других проектах финтех-направления: обработка транзакций, интеграции и хранение клиентских данных. Стек: Java 11/17, Spring Boot (Data, Web, Security, Cloud), PostgreSQL, Kafka, Redis, Docker, GitLab CI/CD, REST API, Gradle, Swagger, Liquibase.

    Oskused

    Liquibase
    Spring Boot
    Apache Kafka
    Hibernate
    Spring Data
    Elasticsearch
    Kibana
    Spring Web
    Spring Security
    Микросервисная архитектура
    Spring Cloud
    S3
    GitLab CI/CD
    REST API
    SQL
    Java
    Docker
    Kubernetes
    PostgreSQL
    Gradle

    Keeleoskus

    Kesktase Inglise
    Emakeel Vene

    Tööaeg

    Tööaeg
    Täistööaeg
    Töö formaat
    Kaug töö
    Tööaeg
    Paindlik, Vahetustega, 5/2
    Kolimine
    Võimalik
    Tööreisid
    Tööreisid on võimalikud