Используем cookie для работы сайта и статистики. «Хорошо» разрешит ещё и запись сессий.
Zyte
Бухарест, Румыния · Карачи13 дней назад
Грейд
Senior
Опыт работы
от 5 лет
Формат работы
Удалённо, Офис
Уровень английского
B2, выше среднего
Письмо на почту или сообщение рекрутеру в Telegram
В Zyte мы не просто собираем веб-данные — мы решаем сложные задачи, связанные с веб-данными, в больших масштабах. Мы — распределенная по всему миру команда, смелая, любознательная и преданная созданию инновационных способов предоставления чистых, надежных веб-данных из интернета. Данные — наша страсть: мы открываем доступ к данным открытого интернета, позволяя организациям — от стартапов до глобальных предприятий — использовать их для систем конкурентной разведки, аналитики и конвейеров ИИ. Культура, ориентированная на удаленную работу: работайте из любой точки мира. Имея более 260 сотрудников Zyte в 33 странах, наша сила заключается в разнообразных происхождении, взглядах и навыках. Инженерное совершенство: мы любим глубоко погружаться в сложные кодовые базы, оценивать новые технологии и раздвигать технические границы. Если вы преуспеваете в творческом решении проблем и надежной доставке решений производственного класса, вы прекрасно впишетесь. Устоявшаяся структура проектирования систем: мы систематически анализируем функциональные требования и требования к продукту наряду с архитектурными компромиссами, чтобы принимать обоснованные, устойчивые проектные решения. Реальные задачи распределенных систем: решайте редкие инженерные проблемы в области пользовательских сетей, высокопроизводительной потоковой передачи и крупномасштабной оркестровки в реальных эксплуатационных ограничениях. Сильная ответственность за продукт: работайте на прибыльной, лидирующей на рынке платформе с выделенным временем и ресурсами, предназначенными для архитектурных исследований и стратегической разработки функций. Почему эта роль? Zyte API получает доступ к интернету через ряд маршрутов: обычный HTTP, браузеры без интерфейса и, для самых сложных целей, Edge — наша собственная резидентная сеть реальных устройств. Edge — это уровень, который должен работать, когда все остальное потерпело неудачу. Сегодня Rust-клиент на резидентных ПК с Windows осуществляет длительное ожидание (long-polling) одного сервиса командного управления (CNC) через mTLS gRPC; CNC планирует запросы на клиентов, управляет прокси-шлюзом CONNECT, отвечает за гео-маршрутизацию, ограничения по сайтам и квоты пропускной способности. Он должен вырасти с тысяч узлов до десятков миллионов запросов в день при абсолютной надежности. Команда Edge Platform отвечает за плоскость управления и плоскость данных этого резидентного стека на Windows, Android и Linux. Следующий шаг — создание полноценного Fleet Manager: плоскость управления с адаптерами поставщиков (компьютеры-волонтеры, фермы мобильных IP-устройств, самостоятельно размещенные узлы), реконсилятор, управление развертыванием и экспорт метрик, расположенный рядом с CNC в качестве плоскости данных. Вы будете проектировать и эксплуатировать эту систему — занимаясь планированием, сетевыми подключениями, проксированием и обеспечением надежности, превращая резидентные устройства в инфраструктуру, на которую полагаются другие команды. Вы будете работать напрямую с руководителем команды, ведущим инженером и партнерскими инженерными командами Zyte. Масштабное влияние: создайте уровень резидентной сети, лежащий в основе крупномасштабных конвейеров данных для ведущих мировых предприятий. Автономия и гибкость: наслаждайтесь подлинной культурой, ориентированной на удаленную работу, с гибким графиком работы и высоким уровнем доверия в организации. Непрерывные инновации: решайте новые, сложные технические проблемы по мере быстрого развития ИИ и извлечения веб-данных. Глобальное сообщество: сотрудничайте со страстной, разнообразной командой инженеров распределенных систем и специалистов по данным со всего мира. Если вы Rust-инженер, который хочет превратить десятки тысяч резидентных устройств в надежную инфраструктуру, мы будем рады услышать от вас. Присоединяйтесь к нам в создании парка устройств для извлечения веб-данных в Zyte.
Масштабировать плоскость данных. Развивать CNC из сервиса с одной репликой в горизонтально масштабируемый планировщик запросов: выбор узлов с учетом географии, ограничений по сайтам, блокировок и квот на клиента, избегая обнаруживаемых закономерностей, для 50–100 млн запросов в день. Создать плоскость управления Fleet Manager. Разработать и внедрить систему инвентаризации, мониторинга работоспособности, конфигурации и развертывания программного обеспечения для парка устройств: адаптеры поставщиков, реконсилятор, контроллер развертывания и экспортер в BigQuery, чтобы можно было подключать второго поставщика устройств без специальных скриптов. Владеть путем проксирования. Эксплуатировать и улучшать прокси-шлюз CONNECT и управление сессиями на периферии, а также работать с командой API над репутацией IP-адресов, арендой прокси и планированием запросов, чтобы Edge беспрепятственно вписывался в плоскость проксирования платформы. Разрабатывать сетевую часть. mTLS gRPC между плоскостью управления и клиентами, семантика длительного ожидания и потоковой передачи по ненадежным резидентным каналам, поведение NAT и Carrier-Grade NAT, а также учет пропускной способности, корректный при конкуренции. Обеспечивать надежность. Определить SLO для доступности, успешности и задержки маршрута Edge; создать метрики по количеству клиентов, оттоку и пропускной способности, которые будут привлекать к ответственности нас и наших партнеров по поставкам; безопасно выполнять поэтапные развертывания (blue/green) CNC и клиентов. Разделять ответственность за производство. Участвовать в дежурствах команды, руководить анализом инцидентов после их завершения и преобразовывать полученные операционные уроки в улучшения платформы. Повышать планку. Писать RFD для планирования, управления парком устройств и отказоустойчивости; анализировать проекты всей команды; и применять принципы распределенных систем (согласованность, обратное давление, идемпотентность, радиус поражения) к молодой кодовой базе.
Кто вы 5+ лет опыта работы с Rust в производственной среде, включая разработку и эксплуатацию собственных сервисов. Распределенные системы: вы проектировали и управляли планировщиками, плоскостями управления или stateful-сервисами в больших масштабах и можете рассуждать о согласованности, разделах, обратном давлении и идемпотентности без доски. Глубокое понимание сетей: TCP, TLS и HTTP на уровне рукопожатия и пакетов, gRPC и долгоживущие соединения через NAT и ненадежные каналы, а также внешний вид клиента в сети. Экспертиза в прокси: вы создавали или эксплуатировали прямые (forward) прокси, прокси-шлюзы или инфраструктуру резидентных/ISP прокси и понимаете репутацию IP-адресов, постоянство сессий и состояние пула. Опыт эксплуатации и обеспечения надежности: SLO и бюджеты ошибок, самостоятельно построенная наблюдаемость, участие в руководстве инцидентами в производственной среде и комфорт при дежурствах. Кроссплатформенность: опыт работы с Rust на платформах Windows, Linux и Android, а также знание границ FFI, когда они необходимы плоскости данных. Асинхронная коммуникация: сильные навыки письменного общения в условиях глобально распределенной среды с приоритетом удаленной работы. Любознательный решатель проблем: вам нравится выяснять, почему система ведет себя определенным образом под нагрузкой, и устранять причину, а не симптом. Наш стек технологий Языки: Rust (tokio, tonic), C++ (Cronet) на границе клиента; Python и Java в интегрируемых сервисах. Протоколы: gRPC и protobuf через mTLS, проксирование HTTP CONNECT, сетевой стек Chromium и наш собственный HTTP-клиент без браузера. Инфраструктура: GCP и Kubernetes для плоскости управления, Terraform, поэтапные развертывания (blue/green); мультиоблачные решения (OCI, GCP) и центры обработки данных (Hetzner, Servers.com) для более широкой платформы. Данные и сообщения: Valkey, BigQuery, Confluent Kafka. Мониторинг и наблюдаемость: Prometheus, Grafana, Loki, OpenTelemetry.
Присоединившись к команде Zyte, вы: Станете частью самомотивированной, прогрессивной, мультикультурной команды Получите свободу и гибкость работать там, где вы достигаете наилучших результатов Будете посещать конференции и встречаться с членами команды со всего мира Будете работать с передовыми технологиями и инструментами open source
At Zyte, we don’t just collect web data—we solve complex web data challenges at scale. We are a globally distributed team that is bold, curious, and dedicated to building innovative ways to deliver clean, reliable web data from across the internet. Data is our passion: We unlock access to open web data, empowering organizations—from startups to global enterprises—to power competitive intelligence, analytics, and AI pipelines. Remote-first culture: Work from anywhere in the world. With over 260 Zytans across 33 countries, our strength comes from diverse backgrounds, perspectives, and skills. Engineering excellence: We love diving deep into complex code bases, evaluating emerging technologies, and pushing technical boundaries. If you thrive on creative problem-solving and reliably delivering production-grade solutions, you will fit right in. Established system design framework: We systematically analyze functional and product requirements alongside architectural trade-offs to make informed, sustainable design decisions. Real-world distributed systems challenges: Tackle rare engineering problems in custom networking, high-throughput streaming, and large-scale orchestration under real-world operational constraints. Strong product ownership: Work on a profitable, market-leading platform with dedicated time and resources allocated for architectural research and strategic feature engineering. Why This Role? Zyte API fetches the web through a ladder of routes: plain HTTP, headless browsers, and, for the hardest targets, Edge—our own residential network of real devices. Edge is the tier that must succeed when everything else has failed. Today, a Rust peer on residential Windows PCs long-polls a single command-and-control service (CNC) over mTLS gRPC; CNC schedules fetches onto peers, runs a CONNECT proxy gateway, owns geo-routing, per-site cooldowns, and bandwidth quotas. It must grow from thousands of nodes to tens of millions of requests a day with rock-solid reliability. The Edge Platform squad owns the control plane and data plane of this residential stack across Windows, Android, and Linux. The next step is building a proper Fleet Manager: a control plane with provider adapters (volunteer PCs, mobile-IP device farms, self-hosted nodes), a reconciler, rollout control, and metrics export sitting beside CNC as the data plane. You will design and operate that system—handling the scheduling, networking, proxying, and reliability work that turns residential devices into infrastructure other squads depend on. You will work directly with the Team Lead, a Principal Engineer, and partner engineering squads across Zyte. What You’ll Do Scale the data plane. Evolve CNC from a single-replica service into a horizontally scalable fetch scheduler: node selection that respects geo, site cooldowns, jail and per-peer quotas while avoiding detectable patterns, at 50–100M requests per day. Build the Fleet Manager control plane. Design and ship the inventory, health, configuration and software-rollout plane for the fleet: provider adapters, a reconciler, a rollout controller and an exporter to BigQuery, so a second device provider can be onboarded without bespoke scripts. Own the proxy path. Operate and improve the CONNECT proxy gateway and session handling on the edge, and work with the API squad on IP reputation, proxy leases and request scheduling so Edge slots cleanly into the platform’s proxy plane. Engineer the networking. mTLS gRPC between control plane and peers, long-poll and streaming semantics over unreliable residential links, NAT and carrier-grade NAT behaviour, and bandwidth accounting that is correct under contention. Make it reliable. Define SLOs for availability, success and latency of the Edge route; build the metrics on peer count, drop-off and bandwidth that hold us and our supply partners accountable; run blue/green rollouts of CNC and peers safely. Share production ownership. Take part in the squad’s on-call rotation, lead incident post-mortems and turn operational lessons into platform improvements. Raise the bar. Write RFDs for scheduling, fleet management and failover; review designs across the squad; and bring distributed-systems rigour (consistency, backpressure, idempotency, blast radius) to a young codebase. Requirements Who You Are 5+ years of production Rust experience, shipping and operating services you own end to end. Distributed systems: you have designed and run schedulers, control planes or stateful services at scale, and can reason about consistency, partitions, backpressure and idempotency without a whiteboard. Deep networking: TCP, TLS and HTTP at the handshake and packet level, gRPC and long-lived connections across NAT and lossy links, and what a client looks like on the wire. Proxy expertise: you have built or operated forward proxies, proxy gateways or residential/ISP proxy infrastructure, and understand IP reputation, session stickiness and pool health. Ops and reliability experience: SLOs and error budgets, observability you built yourself, production incidents you led, and comfort with being on call. Cross-platform awareness: comfortable with Rust running on Windows, Linux and Android targets, and with FFI boundaries when the data plane needs them. Async communication: strong written communication for a globally distributed, remote-first environment. Curious problem solver: you like finding out why a system behaves the way it does under load, and fixing the cause rather than the symptom. Our Tech Stack Languages: Rust (tokio, tonic), C++ (Cronet) at the peer boundary; Python and Java in the services we integrate with. Protocols: gRPC and protobuf over mTLS, HTTP CONNECT proxying, the Chromium network stack and our own browserless HTTP client. Infrastructure: GCP and Kubernetes for the control plane, Terraform, blue/green deployments; multi-cloud (OCI, GCP) and data centres (Hetzner, Servers.com) across the wider platform. Data & Messaging: Valkey, BigQuery, Confluent Kafka. Monitoring & Observability: Prometheus, Grafana, Loki, OpenTelemetry. Bonus Points Mobile or desktop Rust: experience shipping Rust on Android, Windows or macOS, or binding Rust to C/C++ via FFI. Fleet or device management: reconcilers, rollout controllers, IoT or volunteer-computing fleets. Anti-bot and fingerprinting: understanding of how TLS, HTTP and IP signals are used to classify traffic. Web scraping & crawling experience: familiarity with the technical challenges of large-scale web data extraction. Open source contributions: history of contributing to Rust, networking or distributed-systems open-source projects. Why Join Us? Impact at scale: Build the residential network tier behind web-scale data pipelines for top-tier global enterprises. Autonomy and flexibility: Enjoy a genuine remote-first culture with flexible working hours and high organizational trust. Continuous innovation: Solve emerging, complex technical challenges as AI and web data extraction rapidly evolve. Global community: Collaborate with a passionate, diverse team of distributed systems engineers and data specialists across the world. If you are a Rust engineer who wants to turn tens of thousands of residential devices into dependable infrastructure, we would love to hear from you. Join us in building the fleet behind web data extraction at Zyte. Benefits By joining the Zyte team, you will: Become part of a self-motivated, progressive, multi-cultural team Have the freedom and flexibility to work from where you do your best work Attend conferences and meet with team members from across the globe Work with cutting-edge open source technologies and tools
Сравним навыки, грейд, формат работы и зарплату
Чаще всего от 63 100 до 88 100
Rust для мобильных или настольных устройств: опыт работы с Rust на Android, Windows или macOS, или привязка Rust к C/C++ через FFI. Управление парком устройств или устройствами: реконсиляторы, контроллеры развертывания, парки устройств IoT или добровольных вычислений. Борьба с ботами и фингерпринтинг: понимание того, как TLS, HTTP и IP-сигналы используются для классификации трафика. Опыт веб-скрейпинга и краулинга: знакомство с техническими проблемами крупномасштабного извлечения веб-данных. Вклад в open source: история участия в проектах Rust, сетевых или распределенных систем с открытым исходным кодом.