Golang Backend Developer / Go разработчик (Senior) — Россия, Москва
Зарплата не указана
ОткликнутьсяКомпания: ••••••••
Локация: Россия, Москва
Формат: Удалённая работа
Занятость: Полная занятость
Грейд: Senior
Мы – QCD Jb, федеральная компания с подразделениями в 7 субъектах РФ. Мы занимаемся полным циклом разработки программных продуктов, направленных на развитие и повышение эффективности бизнеса группы компаний «BGQMSGe9uU». Наши ИТ-решения, отвечают современным реалиям как в ИТ-архитектуре, так и в телеком-бизнесе. Используя современные технологии, подходы к разработке и архитектуре мы достигаем максимально эффективного результата.
QCD Jb приглашает Senior Golang разработчика для работы над проектом «GitFlame»
hnPxMBKT — платформа для хостинга кода и CI/CD уровня GitLab (импортозамещение). Мы ищем специалиста, который будет работать на стыке backend-разработки, распределённого хранения Git и миграции данных между платформами.
Основной профиль: CI/CD и интеграции (фокус на new-cicd, очереди, внешние системы).
Чем предстоит заниматься:
• Описывать архитектуру и компоненты GitFlame (диаграммы C4: контекст, контейнеры, компоненты), потоки данных и последовательности;
• Вести модель данных (ER-диаграммы по доменам: пользователи и вход, организации и роли, репозитории, issues и PR, CI/CD, пакеты, интеграции), описывая назначение таблиц и полей;
• Готовить карты миграции: определять, что переносится через API, что требует скрипта-преобразователя или серверного кода, а что теряется или уходит в архив;
• Составлять таблицы соответствий: маппинг кастомных ролей и прав на стандартные уровни доступа, видимость, статусы и типы разделов;
• Писать спецификации REST и gRPC API, контракты событий Kafka и RabbitMQ, а также требования к вебхукам;
• Формулировать требования к функциям, которых нет у целевой платформы, и оценивать необходимые доработки;
• Согласовывать архитектурные и миграционные решения с командами смежных продуктов, DevOps и владельцами данных;
• Проверять данные на проде SQL-запросами: анализировать объёмы, аномалии, «мёртвые» таблицы и происхождение данных;
• Участвовать в формировании требований к отказоустойчивости и DR: определять RPO и RTO, прорабатывать сценарии отказа.
Что мы ожидаем от вас:
• Опыт коммерческой разработки на Go от 5 лет (горутины и каналы, context, профилирование, работа с памятью);
• Уверенное владение PostgreSQL (проектирование схем, индексы, транзакции, миграции, разбор планов запросов);
• Глубокое понимание Git изнутри (объекты, refs, packfiles, hooks, протоколы HTTP и SSH);
• Опыт работы с gRPC и Protobuf, проектирование REST API;
• Опыт работы с брокерами сообщений (Kafka или RabbitMQ) и понимание паттерна outbox;
• Владение Docker и базовым Kubernetes, уверенное знание Linux;
• Понимание принципов аутентификации и авторизации (OAuth2/OIDC, токены, RBAC).
Будет плюсом:
• Опыт разработки или эксплуатации GitLab, Gitea/Forgejo, Gitaly и Praefect, а также контрибьюты в эти проекты;
• Опыт проведения миграций больших объёмов данных между системами без простоя;
• Знание ClickHouse и S3-совместимых хранилищ (MinIO);
• Знание Ruby и Rails на уровне чтения кода (для работы с GitLab-совместимыми продуктами);
• Опыт работы с CI-системами изнутри (GitLab CI, Jenkins, Tekton, Drone, Woodpecker);
• Понимание принципов работы распределённых систем (консенсус, репликация, отказоустойчивость, DR);
• Опыт работы с HashiCorp Vault и Keycloak.
Что мы предлагаем:
• Удаленная работа, либо гибридный график работы в комфортном офисе в Москва - БЦ Академик (Проспект Вернадского, 41) или в других городах, где есть офис hPX5TFmNNT UJ - если нужен офис :);
• Полностью "белая" заработная плата: оклад + квартальная премия;
• «Кафетерий льгот» с возможностью выбора категорий (ДМС или компенсация медицинских услуг по чекам, компенсация затрат на спорт, на изучение иностранного языка, проезд, дополнительные выплаты ко дню рождения, онлайн-обучение и др.), компенсация мобильной связи;
• Гибкое начало рабочего дня, подстраивай его под свою жизнь и работу с командой;
• Дружеская атмосфера и профессиональная команда, готовая делиться опытом;
• Возможность раскрытия своего собственного потенциала (ты можешь проходить оплачиваемые компанией тренинги, обучения и посещать конференции).