Обязанности:
Инструменты ускорения сборкиПочти все высоконагруженные сервисы Яндекса используют С++ для обеспечения производительности. Время сборки стоит на критическом пути feedback loop — его постоянно нужно сокращать. Поэтому мы хотим построить инструмент, упрощающий разработчику анализ ненужных зависимостей. Смежная с этим задача — повысить точность попадания в распределённый сборочный кеш. Интеграция фреймворка тестирования с распределённой файловой системой (Plutonium FS)
Архитектура наших микросервисов не позволяет хранить все данные «рядом» с запущенными инстансами, поскольку общий объём данных слишком велик. Наши коллеги разработали решение, которое позволяет вынести часть данных в быстрое сетевое хранилище. Теперь надо «подружить» это решение с нашим фреймворком, чтобы добавление новых «потоков» (типов) данных под сервис было простым и удобным. Масштабирование фреймворка под новые сервисы и улучшение UX
Ожидаем роста количества сервисов, использующих наш фреймворк. Нам нужно добавлять новые фичи и улучшать UX для сокращения feedback loop. С ростом количества сервисов растёт и нагрузка на поддержку, поэтому мы заботимся о стабильности фреймворка и удобстве его использования. Сопровождаем подключение крупных сервисов и собираем обратную связь от новых клиентов, по результатам устраняем недоработки и улучшаем UX. Автоматизация семплирования входных данных
Важно максимизировать покрытие кода тестовыми обстрелами. Поскольку сервисов много, а входной поток постоянно трансформируется, возникает потребность автоматически строить тестовый семпл оптимальным образом. Разработка AI-базированных средств анализа результатов тестирования
Мы рассматриваем возможность применения современных AI-моделей, чтобы суммаризировать результаты и представлять их в удобном для разработчика виде. Больше о бэкенде в Яндексе — в канале Yandex for Backend
Ключевые навыки:
- Уверенно владеете Python 3
- Работали с распределёнными системами или крайне хотите этому научиться
- Прекрасно понимаете разницу между понятиями «процесс» и «поток», вас не пугает async/await или многопоточность
- Ответственны и аккуратны
Дополнительные требования:
- Знакомы с SQL или имеете аналитические склонности
- Знаете C++ (в частности, с userver)
- Знакомы с MapReduce
- Работали с большими данными, умеете анализировать их
- Имеете склонность к профилированию и оптимизации производительности
- Коммуникабельны (наши пользователи — разработчики Яндекса, с ними можно и нужно поддерживать диалог)
