Ищем разработчика, для которого PostgreSQL — не просто «набросать запрос», а ключевой инструмент: проектирование и оптимизация схем, настройка, производительность, репликация, бэкапы. При этом в продакшене мы пишем сервисы на Go, а для скриптов, миграций и вспомогательных инструментов используем Python. Если вам нравится копаться в планах запросов и в то же время писать надёжный backend‑код — будем рады познакомиться.
Чем предстоит заниматься:
- Проектировать и развивать схемы БД PostgreSQL под высоконагруженные и/или критичные к консистентности сервисы.
- Писать и сопровождать backend‑сервисы на Go, эффективно работающие с PostgreSQL (pgx/database/sql, пул соединений, транзакции, контекстные тайм‑ауты).
- Писать SQL‑запросы, процедуры/функции (PL/pgSQL), проводить оптимизацию (EXPLAIN/ANALYZE, индексы, partitioning).
- Разрабатывать и выполнять миграции схем (инструменты на Go или Python; миграционные фреймворки приветствуются).
- Настраивать и контролировать репликацию, резервное копирование и восстановление; участвовать в планировании отказоустойчивости.
- Профилировать производительность (pg_stat_statements, auto_explain, метрики) и тюнить параметры PostgreSQL.
- Сотрудничать с командой разработки, DevOps и аналитиками; консультировать коллег по эффективному использованию PostgreSQL.
- Участвовать в код‑ревью, улучшении стандартов, автоматизации (CI/CD).
Требования:
- Опыт коммерческой разработки на Go ~1,5–2+ года: написание сервисов, тестирование, профилирование, работа с контекстами и конкуренцией.
- Базовый/умеренный опыт на Python для утилит, скриптов, ETL или миграций.
- Глубокие знания PostgreSQL (уровень DB Developer / начинающий DBA): проектирование схем; нормализация/денормализация; индексы (btree, hash, GIN/GiST, BRIN); оптимизация запросов; план выполнения; транзакции и уровни изоляции; блокировки; partitioning; репликация (physical/logical); backup/restore (pg_dump, pg_basebackup, WAL); безопасность (роли, гранты, RLS); расширения; мониторинг и тюнинг конфигурации.
- Уверенный SQL (DDL/DML, CTE, window‑функции).
- Понимание принципов надёжности и согласованности данных.
Желательно (будет плюсом):
- Практика работы в Linux‑средах (shell, systemd, networking basics).
- Docker / контейнеризация; опыт с docker‑compose или Kubernetes.
- Настройка CI/CD (GitLab CI, GitHub Actions, Argo CD и др.) для сборок, тестов, миграций.
- Опыт работы с высоконагруженными системами, шардингом, pgBouncer, Patroni и т.п.
- Опыт работы с timescaledb, clickhouse.
- Знание инструментов наблюдаемости: Prometheus, Grafana, ELK/Opensearch.
- Опыт написания тестов для БД (fixture‑данные, миграции, интеграционные тесты).
- Английский на уровне чтения техдоков и обсуждения в issue/PR.
Что мы предлагаем:
- Влияние на архитектуру данных и производительность ключевых сервисов.
- Работа с современным стеком (Go + PostgreSQL latest stable; инфраструктура в контейнерах/облаке).
- Прекрасная команда, современный офис A+ класса. Печеньки :)
- Гибкий график, удалёнка или офис по желанию.
- Профессиональный рост: бюджет на обучение, конференции, сертификации.