з/п не указана
Москва
Более 6 лет
Команда Parsers занимается всем циклом обработки данных о ценах конкурентов - от задач на парсинг до финальных топиков в Kafka с правильными и полными схемами данных. Мы поддерживаем техническое качество пайплайна и помогаем команде Price Analytics эффективно использовать эти данные, для управления ценами, следования правилам работы с партнерами и поиска новых решений для расширения продукта.
Обязанности:
- Проектирование и сопровождение масштабируемых внутренних пайплайнов сбора данных, способных обрабатывать сотни тысяч запросов ежедневно;
- Поддержка и оптимизация основной архитектуры на базе Go (Golang), Kafka и PostgreSQL;
- Поддержание высоких стандартов качества кода с помощью ревью и RFC-процессов, обеспечение устойчивости системы и устойчивости к ошибкам;
- Сотрудничество с продуктовой командой для перевода требований к данным в технические спецификации для инфраструктуры скрапинга.
Требования:
- 5+ лет опыта работы в backend-разработке с упором на высоконагруженные распределённые системы;
- Подтверждённый опыт промышленной разработки микросервисов или пайплайнов обработки данных с использованием Go (Golang) и Apache Kafka;
- Глубокий опыт проектирования и оптимизации реляционных баз данных (PostgreSQL);
- Экспертное владение Go (Golang), включая конкурентное программирование (goroutines, channels) и управление памятью;
- Продвинутые знания Apache Kafka (стратегии партиционирования, группы потребителей, работа со смещениями);
- Отличные знания SQL и PostgreSQL (индексация, оптимизация запросов, транзакции);
- Уверенное владение Docker, Git и процессами CI/CD;
- Глубокое понимание паттернов проектирования распределённых систем и обеспечения согласованности данных
Будет большим плюсом:
- Понимание сетевых протоколов L3/L7 и опыт работы с прокси-серверами.
- Глубокое знание различий между HTTP/1.1 и HTTP/2, принципов работы TLS и управления HTTP-заголовками.
- Опыт работы с инструментами мониторинга, такими как Prometheus и Grafana.
- Опыт в области парсинга/скрапинга будет плюсом, но не обязателен при наличии сильных знаний в распределённых системах.