Staff Software Engineer, Databases SRE
Grafana Labs — компания, стоящая за Grafana Cloud, полностью управляемой платформой наблюдаемости, которой доверяют более 10 000 организаций. Grafana Cloud работает на открытом исходном коде и открытых стандартах, обеспечивая совместимость с любым стеком, и привносит ИИ в наблюдаемость и наблюдаемость в ИИ. Среди клиентов — Anthropic, Bloomberg, NVIDIA, Microsoft и Salesforce. Компания полностью удалённая, сотрудники находятся в более чем 40 странах.
Роль: Grafana Cloud запускает Mimir, Loki, Tempo и Pyroscope как мультитенантные SaaS-базы данных в AWS, GCP и Azure по всему миру. Клиенты с наивысшим SLA зависят от них в работе своего бизнеса. Требуется Staff Software Engineer для обеспечения надёжности этих систем в масштабе. Роль сочетает разработку и эксплуатацию: написание кода, автоматизации и изменений продукта для повышения надёжности баз данных, включая изменения в кодовых базах Mimir, Loki и Tempo. Также предусмотрено дежурство для клиентов с наивысшим SLA и связанная операционная работа. Необходимо привносить продакшен-мышление в продуктовую инженерию и инженерную строгость в надёжность, задавать техническое направление в командах.
Задачи:
- Встраивать надёжность в продукт: писать продакшен-код в сервисах, инструментах и кодовых базах Mimir, Loki и Tempo, делая базы данных более устойчивыми, самовосстанавливающимися и масштабируемыми.
- Создавать автоматизацию и платформенные инструменты, устраняющие рутину и масштабирующие практики надёжности в регионах и облачных провайдерах.
- Ведущая роль в техническом проектировании: писать дизайн-документы, рецензировать дизайны и PR других, формировать дизайн функций с учётом масштабируемости и эксплуатационной пригодности с первого дня.
- Владеть фреймворком SLO: определять и развивать SLO для каждого тенанта и модели надёжности. Использовать выгорание SLO и уроки инцидентов для поиска и устранения причин сбоев в самих системах.
- Улучшать наблюдаемость и алертинг, чтобы проблемы находились до клиентов, а эскалации были действенными, а не шумными.
- Быть на дежурстве для клиентов с наивысшим SLA: выступать точкой технической эскалации для сложных клиентских сред. Руководить реагированием на инциденты, влияющие на клиентов, включая бридж-звонки при необходимости, и писать беспристрастные пост-инцидентные обзоры, ведущие к инженерным исправлениям.
- Выполнять операционную работу, связанную с дежурством: расследовать клиентские эскалации, отслеживать действия по инцидентам, настраивать ёмкость и конфигурацию, превращать повторяющиеся проблемы в постоянные исправления или автоматизацию.
- Умножать команду: наставлять инженеров, обучать практикам надёжности, которые команды перенимают на ранних этапах разработки, работать с инженерным руководством над дорожными картами и продуктовой стратегией.
- Особо ценятся интеллектуальное любопытство, прозрачность по умолчанию, высокая склонность к действию и доброта.
График дежурств:
- Дежурства в будни: 12-часовые смены с понедельника по пятницу, разделённые между Северной Америкой и Европой, покрывают местные рабочие часы.
- Выходные покрываются отдельной 24-часовой ротацией. Примерно раз в шесть-восемь недель выпадает дежурство на выходных.
Требования:
- 8+ лет опыта в разработке ПО, включая значительное время создания и владения распределёнными системами в продакшене.
- Сильные навыки продакшен-разработки, желательно хотя бы на одном объектно-ориентированном языке. Умение писать чистый, покрытый тестами код и вносить точечные изменения в большие open-source кодовые базы, написанные не вами.
- Глубокое понимание распределённых систем: производительность, масштабирование и режимы отказов. Способность рассуждать о том, как система сломается, до того как это произойдёт.
- Опыт эксплуатации мультитенантных систем в масштабе на Kubernetes в AWS, GCP или Azure с инструментами инфраструктуры как кода, такими как Terraform, Helm или Jsonnet.
- Практический опыт проектирования и внедрения SLO.
- Опыт дежурств на продакшен-системах. Умение спокойно и методично устранять неполадки.