Используем cookie для работы сайта и статистики. «Хорошо» разрешит ещё и запись сессий.
Percona
Рим, Италия4 месяца назад
Грейд
Senior
Формат работы
Удалённо
Уровень английского
B2, выше среднего
Письмо на почту или сообщение рекрутеру в Telegram
MongoDB Tools Team
Team: MongoDB Tools (Product and Engineering)
Location: Remote
Projects: percona/percona-clustersync-mongodb and percona/percona-backup-mongodb
Команда MongoDB Tools разрабатывает инструменты с открытым исходным кодом Percona для MongoDB. Два проекта находятся в центре нашей деятельности. Percona ClusterSync for MongoDB (PCSM) клонирует и непрерывно реплицирует данные между кластерами. Percona Backup for MongoDB (PBM) — это распределенное решение для резервного копирования и восстановления с минимальным влиянием на работу для реплика-сетов и шардированных кластеров. Оба написаны на Go, оба имеют лицензию Apache 2.0 и оба полностью разрабатываются в открытом доступе.
Эта роль в основном связана с PCSM, который является более молодым и быстро развивающимся проектом, поэтому вы будете реально влиять на его формирование. Вы также будете работать и над PBM. Два инструмента решают множество сложных задач: топология кластера, oplog и потоки изменений (change streams), согласованность между шардами и производительность в очень больших производственных кластерах. Опыт резервного копирования и восстановления здесь будет реальным преимуществом, а не просто галочкой в списке требований.
PCSM (основной фокус): клонирование начальных данных с последующей непрерывной репликацией изменений через MongoDB Change Streams, как для реплика-сетов, так и для шардированных кластеров. Проект еще до версии 1.0 и быстро развивается
PBM (второстепенный): согласованное резервное копирование и восстановление с возможностью восстановления на момент времени (point-in-time recovery) путем захвата oplog для поддержания согласованности между реплика-сетами и шардированными кластерами, с использованием S3-совместимого и файлового хранилища. Управляется процессами pbm-agent на каждом узле и CLI pbm. Проект зрелый и широко используется в производстве
Оба проекта размещены на GitHub, вклад вносится через pull requests и code review, а работа отслеживается в JIRA. Мы заботимся о том, чтобы open source оставался открытым, поэтому по умолчанию вся ваша работа здесь является публичной и остается таковой.
В Percona мы верим, что открытый мир — это лучший мир. Наша миссия — дать каждому возможность свободно внедрять инновации, предоставляя лучшее программное обеспечение с открытым исходным кодом, поддержку и услуги для баз данных. Мы улучшаем работу баз данных и приложений благодаря уникальному сочетанию опыта и программного обеспечения с открытым исходным кодом, созданного сообществом для вас. Наши технические команды являются экспертами в MySQL, MongoDB, PostgreSQL и MariaDB.
Мы предлагаем культуру совместной работы и высокой вовлеченности, где ваши идеи приветствуются, а ваш голос слышен.
Основной движок репликации: клонирование начальных коллекций с последующим непрерывным захватом изменений через MongoDB Change Streams, с корректной обработкой токенов возобновления (resume tokens), порядка и возобновляемости после сбоев
Корректность и отказоустойчивость в масштабе: чистое восстановление после сбоев сети, выборов primary, перезапусков без потери или дублирования изменений, и тщательное обдумывание гарантий доставки, которые мы можем честно обещать
Поддержка шардированных кластеров: репликация между шардами, работа с реальными условиями миграции чанков и активности балансировщика, и поддержание согласованности целевой системы
Фильтрация пространств имен (namespaces) и автоматическое управление индексами, а также граничные случаи, возникающие с DDL, TTL и различиями в индексах между источником и целью
Производительность и пропускная способность: распараллеливание клонирования, применение обратного давления (backpressure) и поддержание разумного использования памяти и соединений в больших кластерах с большим объемом изменений
CLI и HTTP API, которые управляют и наблюдают за синхронизацией, а также метрики и логирование, позволяющие оператору доверять происходящему
Согласованное резервное копирование, восстановление и восстановление на момент времени для реплика-сетов и шардированных кластеров с использованием физического или логического типа резервной копии
Хранилище резервных копий: надежная интеграция с основными облачными объектными хранилищами (S3, GCS, Azure Blob Storage...) и удаленными файловыми системами, а также обработка пропускной способности и сценариев сбоев, возникающих в масштабе
pbm-agent и pbm CLI, а также состояние управляющих коллекций в MongoDB, которое координирует их работу в кластере
Работа в открытом доступе: pull requests, code review, JIRA и форум сообщества
Качество релизов: тесты, упаковка, а также CI и сканирование безопасности, которые контролируют каждое изменение
Значительный опыт работы с Go в продакшене, с реальным владением параллельным программированием: goroutines, channels, context cancellation, worker pools и backpressure. Вы отлаживали condition race, которая проявлялась только под нагрузкой, и вы знаете, как вы ее нашли
Твердое понимание распределенных систем и согласованности данных. Вы можете четко говорить о механизмах at-least-once и exactly-once, идемпотентности, упорядочивании и о том, что требуется для обеспечения возобновляемости состояния процесса
Практические знания MongoDB: change streams, oplog, resume tokens, replica sets и sharding. Вам не обязательно иметь опыт создания репликации, но вы должны понимать, почему это сложно
Уверенность в создании и эксплуатации инструментов командной строки и HTTP API, а также их инструментировании метриками и структурированными логами
Привычка писать тесты, которые выявляют реальные проблемы, и комфорт в работе со смешанным набором инструментов
Опыт работы в открытом доступе: Git и рабочие процессы pull request, умение хорошо давать и принимать code review, а также четкое письменное общение с контрибьюторами, которых вы никогда не встречали лично
Предыдущая работа над внутренними компонентами баз данных, конвейерами CDC, ETL или инструментами миграции данных
Знакомство со стилем метрик и наблюдаемости Prometheus
Опыт работы с golangci-lint, сканированием уязвимостей (например, Trivy) и упаковкой deb и rpm
Опыт поддержки или участия в проекте с открытым исходным кодом с внешним сообществом
Опыт работы с шардированными кластерами MongoDB в больших масштабах, где поведение балансировщика и взаимодействие с резервным копированием перестают быть теоретическими
Percona гордится тем, что является полностью удаленной и глобально распределенной компанией — у нас есть коллеги более чем в 50 странах! Наши сотрудники получают щедрые льготы, включая гибкий рабочий график и различные программы оплачиваемого отпуска, все необходимое оборудование для вашего удаленного офиса, средства для развития карьеры (внешнее обучение, сертификация, конференции), постоянные пособия на связь и возможность участия в нашей программе опционов. У нас также есть льготы, поддерживающие здоровый баланс между работой и личной жизнью, такие как The Percona Adventure Team, Work-from-Anywhere, FlowDays, FryDays и общая гибкость. Мы также поддерживаем социальную ответственность через нашу волонтерскую программу PAVE и программу Women Transforming Technology.
MongoDB Tools Team
Team: MongoDB Tools (Product and Engineering)
Location: Remote
Projects: percona/percona-clustersync-mongodb and percona/percona-backup-mongodb
The MongoDB Tools Team builds Percona's open source operational tooling for MongoDB. Two projects sit at the center of what we do. Percona ClusterSync for MongoDB (PCSM) clones and continuously replicates data between clusters. Percona Backup for MongoDB (PBM) is a distributed, low-impact backup and restore solution for replica sets and sharded clusters. Both are written in Go, both are Apache 2.0 licensed, and both are built fully in the open.
This role sits primarily on PCSM, which is younger and moving fast, so you will have real influence over how it takes shape. You will also work across into PBM. The two tools share many hard problems: cluster topology, the oplog and change streams, consistency across shards, and performance in very large production clusters. Backup and restore experience is a real advantage here, not just a box to tick.
PCSM (primary focus): initial data cloning followed by continuous change replication over MongoDB Change Streams, for both replica sets and sharded clusters. Still pre-1.0 and evolving quickly.
PBM (secondary): consistent backup and restore with point-in-time recovery, using oplog capture to stay consistent across replica sets and sharded clusters, with S3-compatible and filesystem storage. Driven by pbm-agent processes on each node and a pbm CLI. Mature and widely deployed in production.
The core replication engine: initial collection cloning followed by continuous change capture over MongoDB Change Streams, with correct handling of resume tokens, ordering, and resumability after failures.
Correctness and fault tolerance at scale: recovering cleanly from network drops, primary elections, and restarts without losing or duplicating changes, and reasoning carefully about the delivery guarantees we can honestly promise.
Sharded cluster support: replicating across shards, dealing with the realities of chunk migrations and balancer activity, and keeping the target consistent.
Namespace filtering and automatic index management, plus the edge cases that show up with DDL, TTL, and index differences between source and target.
Performance and throughput: parallelizing the clone, applying backpressure, and keeping memory and connection use sane against large clusters with great change volume.
The CLI and HTTP API that drive and observe a sync, and the metrics and logging that let an operator trust what is happening.
Consistent backup, restore, and point-in-time recovery across replica sets and sharded clusters, using physical or logical type of the backup.
Backup storage: integrating reliably with main cloud object storage (S3, GCS, Azure Blob Storage...) and remote filesystems, and handling the throughput and failure modes that show up at scale.
The pbm-agent and pbm CLI, and the control-collection state in MongoDB that coordinates them across the cluster.
Working in the open: pull requests, code review, JIRA, and the community forum.
Release quality: tests, packaging, and the CI and security scanning that gate every change.
Strong Go experience in production, with real fluency in concurrency: goroutines, channels, context cancellation, worker pools, and backpressure. You have debugged a race condition that only showed up under load, and you know how you found it.
Solid grounding in distributed systems and data consistency. You can talk clearly about at-least-once versus exactly-once, idempotency, ordering, and what it takes to make a stateful process resumable.
Hands-on MongoDB knowledge: change streams, the oplog, resume tokens, replica sets, and sharding. You do not need to have built replication before, but you should understand why it is hard.
Comfort building and operating command-line tools and HTTP APIs, and instrumenting them with metrics and structured logs.
A habit of writing tests that catch real problems, and comfort working across a mixed toolchain.
Experience working in the open: Git and pull request workflows, giving and taking code review well, and communicating clearly in writing with contributors you have never met in person.
Prior work on database internals, CDC pipelines, ETL, or data migration tooling.
Familiarity with the Prometheus style of metrics and observability.
Experience with golangci-lint, vulnerability scanning (for example Trivy), and deb and rpm packaging.
Background maintaining or contributing to an open source project with an external community.
Exposure to MongoDB sharded clusters at large scale, where balancer behavior and backup interaction stop being theoretical.
Both projects live on GitHub, contributions go through pull requests and code review, and we track work in JIRA. We care about keeping open source open, so the default is that the work you do here is public and stays that way.
At Percona, we believe an open world is a better world. Our mission is to enable everyone to innovate freely, by providing the best open source database software, support, and services. We make databases and applications run better through a unique combination of expertise and open source software built with the community for you. Our technical teams are experts in MySQL, MongoDB, PostgreSQL, and MariaDB.
Percona is proud to be a remote-only and globally dispersed workforce – we have colleagues in more than 50 countries! We offer a collaborative, highly-engaged culture where your ideas are welcome and your voice is heard.
Our staff receives generous benefits including flexible work hours and various paid time off programs, all your equipment for your remote office, funds for career development (external training, certifications, conferences), ongoing connectivity allowances, and the opportunity to participate in our equity incentive plan. We also have benefits that support a healthy work/life balance such as The Percona Adventure Team, Work-from-Anywhere, FlowDays, FryDays, and overall flexibility. We also support being socially responsible through our PAVE volunteering program and Women Transforming Technology.
If you love the idea of working with a high-growth tech company that is one of the best in the business and known globally as a leader in the open-source database space, let’s talk!
Connect with us and stay up to date on our latest news and developments by following us on LinkedIn and Twitter. We look forward to connecting with you!
Сравним навыки, грейд, формат работы и зарплату
Чаще всего от 54 900 до 77 300