Обязанности:
High load сервис транзитного трекинга почтовых отправлений.Интегрируем логистические данные по 20+ странам (США, Китай, РФ, Европа, Азия) через 150+ источников: национальные почтовые сервисы, логистические API, кустарные трекеры. Проект живой и требует внимания к стабильности. Мы работаем на результат, но необходимо понимать: если сервис сбора данных «падает» ночью или в выходные, это требует вашей оперативной реакции. Ключевая задача:Построение отказоустойчивой распределенной системы сбора данных, где каждый источник — это отдельный вызов: reverse engineering API, headless-браузеры, капчи, WAF (Cloudflare, PerimeterX, Akamai), сложная fingerprint-защита. Мы не просто пишем парсеры. Мы управляем сложной системой, где: Node.js — ядро парсинга (Puppeteer / Playwright, адаптеры под прокси, кастомные инстансы браузеров) PHP 7.4+ (Symfony/API Platform) — API-слой, веб-интерфейсы, управление задачами Golang — микросервисы для ротации прокси, очередей, метрик Swift / Kotlin — нативные мобильные клиенты с встроенными механизмами сбора (iOS/Android) Grafana + Prometheus / VictoriaMetrics — мониторинг здоровья парсинговых воркеров, latency, error budget GitHub Actions — CI/CD, автотесты парсеров, деплой конфигураций Linux — самостоятельное администрирование окружения (systemd, Docker, сетевые настройки) Чем предстоит заниматься :1. Разработка и поддержка парсеров на Node.js Писать и рефакторить парсеры с использованием Puppeteer / Playwright в режимах headless / headful Управлять пулом браузерных инстансов (launch args, isolation, resource limits) Реализовывать fallback-сценарии: API → браузер → мокапы 2. Reverse engineering и эмуляция пользователя Анализировать защищенные сайты: разбирать network-трафик (Chrome DevTools Protocol), восстанавливать алгоритмы формирования запросов Эмулировать поведение реального браузера: тайминги, движения мыши, скроллы, события ввода Работать с CDP напрямую для тонкой настройки инструментария 3. Fingerprint & Proxy-инфраструктура Настраивать кастомные fingerprint-подстановки: WebGL, Canvas, AudioContext, fonts, navigator, WebRTC Работать с прокси-агрегаторами (ротация по сессиям, sticky sessions, IPv4/IPv6, residential / datacenter) Обрабатывать CAPTCHA (reCAPTCHA v2/v3, hCaptcha) через сервисы распознавания или кастомные решения 4. Мониторинг и надежность Разрабатывать Grafana-дашборды под метрики: RPS парсинга, успешность/ошибки по источникам, latency, использование памяти/CPU браузерами Настраивать алерты (аварийное падение воркеров, аномальный рост ошибок, отсутствие данных по ключевым трекерам) Участвовать в on-call: оперативно чинить падения парсинговой инфраструктуры вне рабочего времени 5. Архитектура и код Проектировать модульную систему парсинга с возможностью быстрого добавления новых источников Писать код с учетом ООП (инкапсуляция логики парсинга, переиспользуемые адаптеры) Участвовать в код-ревью, поддерживать CI/CD (GitHub Actions) Требования : Уверенное владение Puppeteer / Playwright, включая работу с CDPSession, перехват запросов, эмуляцию устройств Понимание event loop, управление памятью (heap snapshots, детекция утечек в долгоживущих процессах) Опыт написания парсеров, работающих с динамическим контентом (SPA, WebSockets, iframe) Знание методов сбора fingerprint: WebGL, Canvas, AudioContext, fonts, WebRTC, navigator properties Опыт обхода детекции headless-режимов (пропуск navigator.webdriver, подмена chrome.runtime) Понимание устройства прокси-цепочек, авторизации, работа с прокси-сервисами (Bright Data, SOAX, Proxy6 и т.д.) Настройка Grafana с нуля: создание дашбордов, настройка алертов, работа с PromQL Понимание SLO / SLA применительно к парсингу: что значит "падение сервиса сбора" Базовые технологии, ООП и архитектура Linux (администрирование, network, systemd) Git (ветвление, rebase, code review) CI/CD: GitHub Actions (сборка, тесты, деплой) Понимание SOLID, паттернов проектирования (стратегия, адаптер, фабрика) Опыт работы с большими кодовыми базами и legacy-кодом Будет преимуществом: Опыт с PHP 7.4+ (Symfony, Doctrine) — необходимо для доработок API и веб-интерфейсов Golang — микросервисы для прокси-менеджмента, очередей (NATS, RabbitMQ) Мобильная разработка (Swift / Kotlin) — интеграция встроенных парсеров в нативные приложения Работа с нейросетями: OCR (Tesseract, EasyOCR), решения для распознавания капч, классификация изображений Опыт работы с большим количеством одновременных браузерных сессий (>100 контекстов) Навыки работы с Docker / Docker Compose, оркестрация парсинговых воркеров Условия: График гибкий с пересечением по времени для оперативной связи в рабочее время, но с обязательством оперативного реагирования на инциденты в любое время суток (on-call). Формат работы: офис (Воронеж), удаленка, или гибрид — на твой выбор. Оплачиваемый отпуск и больничные. ДМС с расширенным пакетом (стоматология, стационар, скорая помощь). Зарплата: фикс, обсуждается по итогам собеседования, зависит от скиллов и готовности к условиям графика). Стек и свобода: вы сами выбираете подходы к обходу защиты, инструменты для фингерпринтинга, архитектуру новых парсеров. Интересные задачи: не "парсинг по инструкции", а реальный reverse engineering, работа с CDP, WAF, распределенными системами. Компенсация обучения на курсах, конференциях и покупки профессиональной литературы. Современный офис в центре города. Комфортная кухня-лаунж зона: Xbox, настольный футбол, кальян, бесплатные снеки и напитки. Отзывчивый HR, который поможет с любыми вопросами. Как мы будем взаимодействовать: Знакомство с вашим опытом в парсинге и Node.js. Обсуждение кейсов: как вы решали проблемы с блокировками, как настраивали мониторинг. Возможное небольшое тестовое задание (или код-ревью ваших прошлых наработок) для оценки глубины понимания браузерных технологий. Откликайтесь, если готовы погружаться в детали работы браузеров и прокси, а также не боитесь ответственности за стабильность сервиса 24/7.Похожие вакансии
Python разработчик/Fullstack-разработчик в сервис Аналитики маркетплейсов
От 70 000 до 100 000 руб.
Воронеж
Григорьев Вячеслав Романович