Backend-разработчик, граф знаний (Rust)
Локация: Удалённо, Канада; Удалённо, США
Департамент: Инжиниринг данных
GitLab — это интеллектуальная платформа оркестрации для DevSecOps. GitLab позволяет организациям повысить продуктивность разработчиков, улучшить операционную эффективность, снизить риски безопасности и соответствия требованиям, а также ускорить цифровую трансформацию. Более 50 миллионов зарегистрированных пользователей и более 50% компаний из списка Fortune 100 доверяют GitLab выпускать более качественное, безопасное программное обеспечение быстрее.
Обзор роли
В качестве Backend-разработчика среднего уровня в команде графа знаний GitLab вы будете помогать создавать и поддерживать сервис графовых данных, который обеспечивает работу агентов GitLab Duo, аналитики и функций архитектурного уровня для GitLab.com, Dedicated и Self-Managed развертываний. Вы присоединитесь к небольшой команде, работающей в первую очередь на Rust, которая ценит чёткую ответственность, продуманный дизайн систем и строгий подход к данным и надёжности.
Сервис графа знаний — это бэкенд на Rust, который строит проперти-граф из данных жизненного цикла разработки ПО (SDLC) и кода GitLab. Он использует ClickHouse, NATS JetStream и Data Insights Platform. Он предоставляет безопасные графовые запросы и инструменты MCP, используемые AI-агентами и продуктовыми функциями. В этой роли вы будете реализовывать функции и улучшения в чётко определённых областях, изучать общую архитектуру и вносить вклад в надёжность, наблюдаемость и операционную готовность.
Что вы будете делать
- Реализовывать и дорабатывать бэкенд-функции в сервисе графа знаний на основе Rust, включая изменения в движке запросов, потоках индексирования SDLC и кода, а также конечных точках API (включая конечные точки MCP) под руководством старших и ведущих инженеров.
- Помогать поддерживать интеграции между графом знаний и остальной частью платформы GitLab, работая в областях, связанных с GitLab Rails, Data Insights Platform (Siphon, NATS, ClickHouse) и GitLab Duo Agent Platform.
- Участвовать в обсуждениях дизайна систем, предлагая варианты, задавая вопросы и документируя решения, с акцентом на надёжность, масштабируемость и поддерживаемость для аналитических графовых нагрузок.
- Повышать операционную зрелость сервиса за счёт добавления или улучшения метрик, логирования, инструкций, алертов и небольших задач по обеспечению готовности, а также участвуя в ротации дежурств в соответствии с вашим уровнем и опытом.
- Асинхронно сотрудничать с коллегами из продуктового, аналитического, инфраструктурного, security- и AI-подразделений, чтобы уточнять требования, согласовывать объём работ и безопасно выпускать функции для клиентов, обеспечивая устойчивую работу команды.
- Ответственно использовать рабочие процессы разработки с применением ИИ (например, используя агентов на основе графа знаний и внутренние инструменты Duo), делиться с командой успешными практиками, сохраняя при этом сильный акцент на качестве и корректности кода.
- Участвовать в код-ревью, сессиях обмена знаниями и парном программировании, чтобы как учиться у других, так и помогать поддерживать единые стандарты по всей кодовой базе.
- При необходимости работать со всем стеком технологий, включая случайную работу с Ruby для интеграции с Rails и путей авторизации, или небольшие фронтенд-изменения, связанные с функциями графа знаний.
Что вы принесёте с собой
- Профессиональный опыт создания и поддержки бэкенд-систем в продакшене, с пониманием надёжности, поддерживаемости и принципов сопровождения сервисов с течением времени (реакция на инциденты, последующие действия и т.д.).
- Владение как минимум одним современным бэкенд-языком и сильный интерес к Rust, с предыдущим опытом работы с Rust или очевидными доказательствами того, что вы сможете быстро освоиться и реализовывать задачи в кодовой базе, ориентированной на Rust и высокую производительность.
- Некоторое знакомство с распределёнными данными или аналитическими системами (например, OLAP-базы данных, обмен сообщениями в стиле Kafka или NATS, или пайплайны захвата изменённых данных (CDC)), или сильная мотивация развивать эти навыки в рамках данной роли.
- Интерес к графовому моделированию данных и шаблонам запросов (property graphs, многошаговые (n-hop) обходы, агрегации) и готовность со временем изучать инструменты и концепции, используемые в графе знаний.
- Практический опыт (или сильный интерес) использования AI-инструментов в ежедневной разработке наряду с вдумчивым подходом к проверке их результатов и интеграции ИИ в ваш рабочий процесс.
- Языково-агностичный подход и доказательства способности осваивать новые языки и фреймворки по мере необходимости (например, Ruby, Go или TypeScript/Vue).
- Твёрдое знание основ дизайна систем для вашего уровня.
- Умение комфортно работать в среде с небольшим количеством процессов и высокой степенью ответственности, где вы берёте на себя ответственность за свою работу.
- Навыки грамотного письменного общения и умение комфортно работать асинхронно в распределённой полностью удалённой команде, охватывающей разные часовые пояса.
О команде
Мы входим в организацию Data Engineering. Мы — небольшая группа старших инженеров и тесно сотрудничаем с партнёрами в области ИИ (Duo Agent Platform), аналитики, инфраструктуры и доставки, а также безопасности, поскольку наша работа затрагивает многие части платформы.
Диапазон зарплат в США
$98,000—$210,000 USD