Senior Java Developer — External Systems & Reverse Engineering
Senior Java backend engineer who reverse-engineers third-party web apps and APIs (requests, tokens, cookies, anti-bot like Cloudflare/CAPTCHA) to keep data extraction running, using Spring Boot/WebFlux, Playwright/Selenium, proxies, RabbitMQ, Redis, MySQL, and Kubernetes, with AI agents assisting development.
- Compensation
- Not disclosed
- Location
- Москва
- Work setup
- Remote
- Seniority
- Senior
- Employment
- Contract
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- 5+ years of commercial backend development with independent ownership of production services
- Deep Java Core/JVM knowledge: JMM, happens-before, visibility, atomicity, locks, concurrent collections, thread pools, multithreading diagnostics
- Confident Spring Boot; experience with WebFlux, Project Reactor and WebClient or comparable non-blocking I/O
- Understanding of backpressure, blocking code, concurrency, queues and memory consumption
- Hands-on reverse engineering of web systems; understanding of HTTP/1.1–2, WebSocket, TLS, DNS, cookies, redirects and connections
- Understanding of Cloudflare/anti-bot and experience with browser automation/headless mode
- Working Python or JavaScript/TypeScript: reading, modifying, debugging and safely integrating tools
- Experience with MySQL/SQL, transactions, indexes, migrations, message brokers, redelivery and idempotency
- Docker and Kubernetes, including restarts, scaling, pod termination and resource shortages
- Confident work with AI agents (Codex, Claude Code): task framing, context management, diff review and result validation
Nice to have
- Playwright on Node.js, Python
- Experience working with CAPTCHA
- Reactor Netty, connection pools, DNS/TLS and proxy routing
- HLS/M3U8 and streaming processing of large files
- Building own starters/SDKs
- Incident investigation via logs, metrics and traces
Full description
Мы в поискеSenior Java Developer — External Systems & Reverse Engineering
Обязанности:
- Исследовать web-приложения и third-party API, HAR и клиентский JavaScript; восстанавливать запросы, токены, cookies, подписи и redirect-цепочки.
- Развивать получение данных из HTML, JSON/HTTP API и WebSocket, переживая изменения форматов и поведения клиентов.
- Использовать Playwright, Selenium и headless-браузеры, когда HTTP-клиента недостаточно.
- Работать с Cloudflare, JavaScript challenge и CAPTCHA, а также с Python/JS/TS-инструментами автоматизации.
- Проектировать работу через SOCKS5 и HTTP(S)-proxy: аутентификация, rotation, health-check и session affinity.
- Контролировать нагрузку и отказоустойчивость: rate limiting, bounded concurrency, backpressure, очереди, timeouts, backoff, circuit breaker и graceful degradation.
- Проектировать идемпотентные процессы на RabbitMQ, Redis, MySQL и S3/MinIO.
- Добавлять contract/integration-тесты, fixtures, метрики, структурированные логи и алерты дрейфа протокола.
- Сопровождать сервисы в K8s: rollout, probes, requests/limits, graceful shutdown и масштабирование.
- Участвовать в code review, релизах и разборе production-инцидентов.
Требования:
- От 5 лет коммерческой backend-разработки и самостоятельная ответственность за production-сервисы.
- Глубокое знание Java Core/JVM: JMM, happens-before, visibility, atomicity, locks, concurrent collections, thread pools и диагностика многопоточности.
- Уверенный Spring Boot; опыт WebFlux, Project Reactor и WebClient либо сопоставимого неблокирующего I/O.
- Понимание backpressure, blocking-кода, параллелизма, очередей и потребления памяти.
- Практический reverse engineering web-систем и понимание HTTP/1.1–2, WebSocket, TLS, DNS, cookies, redirects и соединений.
- Понимание Cloudflare/anti-bot и опыт browser automation/headless-режима.
- Рабочий Python или JavaScript/TypeScript: чтение, изменение, отладка и безопасная интеграция инструментов.
- Опыт MySQL/SQL, транзакций, индексов, миграций, брокеров сообщений, повторной доставки и идемпотентности.
- Docker и Kubernetes, включая рестарты, масштабирование, завершение pod и нехватку ресурсов.
- Уверенная работа с AI-агентами (Codex, Claude Code): постановка задач, управление контекстом, review diff и проверка результата.
Стек:
Java 21, Spring Boot 3.4, WebFlux, Reactor, WebClient, RSocket, Maven; MySQL, MyBatis, R2DBC, Liquibase, Redis, ShedLock, RabbitMQ, S3/MinIO; Jsoup, JSONPath, WebSocket, M3U8/HLS, proxy, Playwright/Selenium, Python, JS/TS; Docker, Kubernetes, Jib, Micrometer, Prometheus, Grafana, OpenTelemetry; JUnit 5, Mockito, Reactor Test, Testcontainers и integration/architecture tests.