О роли
Мы ищем Senior Software Engineer для работы над инфраструктурой рендеринга нового поискового движка, созданного для использования агентным ИИ.
В этой роли вы будете заниматься загрузкой современных веб-страниц в браузере, который мы сами патчим и собираем, чтобы контент отображался полностью и надёжно при стоимости, приемлемой для миллиардов страниц. Вы будете работать внутри Chromium: убирать то, что нам не нужно, делать остальное быстрее и дешевле и поддерживать актуальность нашей сборки по мере развития Chromium. Ваша работа обеспечивает постоянную доступность качественного контента для систем индексации и поиска, расположенных ниже по цепочке.
На этой позиции вы будете
- Изменять тяжёлое ядро Chromium (Blink, интеграцию V8, compositor, network service), чтобы сократить затраты CPU, памяти и времени запуска на каждую страницу
- Урезать Chromium для рабочих нагрузок агентов: пропускать то, что никому не нужно, например декодирование изображений и медиа, загрузку веб-шрифтов, а также растеризацию и работу с GPU там, где никому не нужны пиксели, при этом сохраняя то, от чего зависит корректная работа скриптов страниц (стили, layout, кадры анимации, observers), и выяснять, что ломается или отображается иначе, когда вы это делаете
- Поддерживать совместимость браузера с вебом: следить, чтобы то, что мы убираем, не меняло поведение и отображение загружаемых нами сайтов
- Профилировать и настраивать парки браузеров: модель процессов, память на один renderer, запуск, изоляцию и обработку сбоев
- Создавать вокруг этого продакшен-систему: как браузеры запускаются, объединяются в пул, перезапускаются и мониторятся
Вы можете нам подойти, если вы
Имеете 5+ лет опыта создания продакшен-систем и являетесь экспертом в нескольких из следующих областей.
Внутри браузера
- Сильный C++ в большой кодовой базе, критичной к производительности, в идеале Chromium, Blink или V8, либо сопоставимый браузерный движок (Rust будет плюсом)
- Архитектура Chromium: модель процессов, Mojo IPC, конвейер рендеринга (DOM, style, layout, paint, compositing) и network service
- Сборка, отладка и выпуск кастомных сборок Chromium: система сборки, трассировка, анализ сбоев и поддержка патчей между релизами
Производительность и системы
- Профилирование CPU, памяти и I/O для парков браузеров с помощью таких инструментов, как perf, трассировка и flame graphs
- Изоляция процессов и управление ресурсами в Linux, конкурентность и управление памятью
- Вы запускали браузеры в продакшене или создавали инфраструктуру для этого и можете описать, куда уходили время и память
Сильные кандидаты также могут иметь опыт в следующем
- Вклад в Chromium, Blink, V8, Firefox, WebKit или другой браузерный движок
- Создание или поддержка патченного браузера, для которого вы сами писали патчи
- Инструментирование браузера, включая Chrome DevTools Protocol
- Практическое знакомство с тем, как рендерят современные фронтенд-фреймворки (SSR, CSR, streaming, hydration)
- Распределённые системы, Kubernetes, а также Go или Python
Преимущества и бонусы:
- Карьерный рост и возможности для обучения
- Гибкость и самостоятельность
- Культура сотрудничества и инноваций
- Возможность работать над значимыми проектами в области ИИ
- Международная среда и талантливые команды
Каково работать в Nebius:
Высокий темп - Смелое мышление - Постоянный рост - Значимое влияние - Доверие и реальная ответственность - Возможность формировать будущее ИИ
Заявление о равных возможностях:
Nebius является работодателем равных возможностей. Мы стремимся создавать инклюзивную и разнообразную рабочую среду и обеспечивать равные возможности трудоустройства во всех аспектах занятости. Мы не допускаем дискриминации по признаку расы, цвета кожи, религии, пола (включая беременность), национального происхождения, этнического происхождения, возраста, инвалидности, генетической информации, семейного положения, статуса ветерана, сексуальной ориентации, гендерной идентичности или самовыражения, а также по любому другому признаку, защищённому применимым законодательством.
Кандидаты должны иметь право работать в стране, в которую они подают заявку, и в качестве условия приёма на работу должны будут предоставить подтверждение права на трудоустройство.
Если вам нужны особые условия в процессе подачи заявки, пожалуйста, сообщите нам об этом.