Современная разработка немыслима без использования опенсорс-технологий. Поэтому мы строим платформу для автоматической интеграции опенсорс-решений в Аркадию — монорепозиторий Яндекса, живущий на базе собственной системы сборки. Платформа позволит быстро адаптировать решения с открытым исходным кодом для использования в нашей инфраструктуре. Команда также создаёт сервис для решения обратной задачи — синхронизации проектов из монорепозитория во внешний мир. Мы ищем разработчиков, активно заинтересованных в том, чтобы погрузиться в мир решений с открытым кодом. Вы получите обширные знания о популярных опенсорс-решениях, сможете повлиять на большую часть проектов Яндекса, а heat map ваших коммитов в обоих мирах будут предметом для гордости.

Обязанности:

Развивать инструменты импорта
Мы создаём платформу для того, чтобы в промышленных масштабах адаптировать опенсорс-библиотеки с тулчейнами для сборки и эксплуатации в нашей инфраструктуре. Это позволит тысячам инженеров в компании использовать унифицированный и актуальный стек технологий. На размерах монорепозитория Яндекса эта задача невыполнима без развития инструментов для автоматизации импорта. Для разных языков и технологий используются разные подходы, и всё это должно работать в виде единой платформы. Сейчас не весь процесс может быть автоматизирован, иногда требуется творческий инженерный подход и проведение глобальных рефакторингов, но мы стремимся к полной автоматизации. Развивать инструменты экспорта
Также мы создаём инфраструктуру для двухсторонней синхронизации кода между внутренним монорепозиторием и публичными Git-репозиториями. Решать технически сложные задачи
Некоторые проблемы не имеют стандартных решений и требуют творческого инженерного подхода. Например: как подружить LLVM sanitizers с Rust-кодом в одной программе, как научить LLM адаптировать патчи к новой версии модуля, как определить множество версий в транзитивных зависимостях библиотеки для go.mod, чтобы минимизировать количество обновляемых проектов. Pазвивать опенсорс
Вы будете помогать разработчикам Яндекса диагностировать и исправлять проблемы, развивать опенсорс-решения и синхронизировать эти улучшения в upstream.
Больше о бэкенде в Яндексе — в канале Yandex for Backend

Ключевые навыки:

  • Программируете на C++, Python или Go на продвинутом уровне
  • Готовы изучить как минимум один дополнительный язык
  • Быстро разбираетесь в чужом коде
  • Готовы самостоятельно решать сложные задачи и доводить дело до конца
  • Открыты к изучению новых технологий

Дополнительные требования:

  • Хорошо разбираетесь в устройстве ОС Linux
  • Знаете больше одного языка из наших языков бэкенда: C++, Go, Python или Java
  • Использовали GenAI для глобальных рефакторингов
  • Участвовали в разработке крупных проектов с открытым исходным кодом
  • Разрабатывали компиляторы, отладчики или интерпретаторы
  • Работали с NixOS