Title: Senior Staff Software Engineer, Search & Recommendation
Team: Engineering
Location: Remote (U.S. or Canada)
Employment type: FullTime
О Cantina
Cantina Labs — это компания, занимающаяся социальным ИИ, разрабатывающая набор передовых моделей реального времени, которые расширяют границы выразительности, индивидуальности и реализма. Мы оживляем персонажей, меняя способы рассказывания историй, общения и творчества людей. Мы создаем и поддерживаем экосистемы. Cantina, наша флагманская платформа социального ИИ, — это только начало.
Если вас вдохновляют возможности ИИ формировать человеческое творчество и социальные взаимодействия, присоединяйтесь к нам в создании будущего!
О роли
Cantina — это место, где люди создают ИИ-персонажей и видео с их участием, а каталог растет намного быстрее, чем кто-либо может его просмотреть. Поиск и рекомендации — это то, что превращает этот каталог в продукт: они определяют, с какими персонажами встречается новый пользователь в первую минуту, какие создатели получают известность, и что появляется в каждой ленте, рейтинге и разделе обнаружения, которые мы выпускаем. Мы ищем старшего инженера-программиста (Senior Staff Software Engineer), который будет полностью отвечать за это направление — поиск, ранжирование, качество релевантности и дорожную карту для всех трех аспектов. Это первый выделенный специалист по поиску и рекомендациям, поэтому вы унаследуете реальную производственную систему, обслуживающую активный трафик, а также большой объем неиспользуемого потенциала, и вы будете определять техническое направление, а не выполнять чьи-то чужие задачи.
Что вы будете делать
- Отвечать за архитектуру и дорожную карту поиска и рекомендаций от начала до конца — понимание запросов, поиск, ранжирование и поверхности, которые они обслуживают: поиск, обнаружение, домашняя лента, а также наши рейтинги трендов и создателей.
- Сделать релевантность измеряемой дисциплиной, а не мнением: определять метрики качества для каждой поверхности, создавать инструменты для офлайн-оценки и золотых наборов, а также проводить онлайн-эксперименты, которые решают, будет ли изменено ранжирование.
- Проектировать и развивать стек ранжирования — конвейеры сигналов вовлеченности, модели затухания и свежести, а также шаблон, который мы используем для объединения предварительно вычисленных сигналов времени индексации с переранжированием в реальном времени во время запроса.
- Отвечать за OpenSearch в производственной среде: дизайн индекса и маппинга, безопасность переиндексации и переключения, производительность запросов, стоимость и операционный запас кластеров, лежащих в основе каждой поверхности обнаружения.
- Создавать генерацию кандидатов и персонализацию для рекомендательных поверхностей, а также сотрудничать с отделом данных и ML по конвейерам признаков и моделям, лежащим в их основе.
- Работать напрямую с отделами Product и Trust & Safety над определением того, что означает «хорошо» для каждой поверхности — уровни качества, поведение при холодном старте для совершенно новых создателей и персонажей, а также то, что никогда не должно рекомендоваться.
- Устанавливать инженерные стандарты для области: инструментарий, поэтапное внедрение с помощью флагов и руководства, которые позволяют другим командам изменять поведение ранжирования, не нарушая его.
- Выступать в качестве технического контактного лица по вопросам обнаружения для всех бэкенд-команд и наставлять инженеров, чья работа связана с этим.
Что вы принесете с собой
- Более 10 лет опыта разработки производственного программного обеспечения со значительной глубиной знаний в области поиска, ранжирования, рекомендаций или релевантности на основе ML для потребительского продукта.
- Практический опыт работы с производственной поисковой системой — OpenSearch, Elasticsearch, Lucene, Vespa или аналогичной — охватывающий дизайн индекса и анализатора, настройку релевантности и эксплуатацию кластера, а не только запросы к нему.
- Строгий подход к измерению релевантности: вы отвечали за офлайн-оценку, золотые наборы и фреймворки A/B-тестирования или интерливинга, и вы можете объяснить, что повлияло на метрику и почему.
- Свободное владение стеком рекомендательных систем — генерация кандидатов, конвейеры признаков, поиск встраиваний, переранжирование — и практическое понимание ограничений обслуживания, из-за которых выигрыш в офлайн-среде не работает онлайн.
- Прочные знания распределенных систем и бэкенда, с производственным опытом работы на Go или сопоставимом системном языке, и уверенность в работе с базой данных, лежащей в основе (SQL-хранилища, потоковые и пакетные конвейеры).
- Демонстрируемый опыт управления неоднозначной областью: вы взяли на себя ответственность за что-то без выделенного владельца, решили, что важно, и можете показать результат.
- Четкая письменная коммуникация и суждение для работы с отделом Product над реальными компромиссами между релевантностью, свежестью, безопасностью и задержкой.
- Предпочтительно: опыт работы с каталогами ИИ-контента или быстрорастущими каталогами, экстремальными условиями холодного старта или ранжированием с учетом ограничений доверия и безопасности.
Компенсация
Ожидаемый годовой диапазон базовой заработной платы для этой должности составляет от 250 000 до 320 000 долларов США. При определении компенсации будут учитываться различные факторы, включая навыки, опыт, объем работы, местоположение и данные о конкурентоспособности на рынке труда.
Преимущества
- Конкурентоспособная заработная плата и щедрая доля в компании
- Медицинская, стоматологическая и офтальмологическая страховка — 99,99% страховых взносов покрываются Cantina
- 42 дня оплачиваемого отпуска, включая:
- 15 дней PTO
- 10 дней больничного
- 15 официальных праздников компании
- 2 плавающих праздника
- Щедрый отпуск по уходу за ребенком и поддержка фертильности
- Пенсионный сберегательный план 401(k)
- Счет расходов на образ жизни — 500 долларов США в месяц на любые ваши нужды
- Бесплатные обеды и закуски для сотрудников в офисе
- Членство в One Medical и многое другое!