Senior C++ Developer in Distributed Computing
Архитектура нашего сервиса, находящегося в центре инфраструктур поиска и рекламы и выдерживающего миллионы RPS, представляет собой набор процессов, работающих на пяти кластерах с использованием очередей и key-value-хранилищ. Мы решаем сложные и амбициозные задачи и ищем опытного разработчика на C++.
Общее описание:
Мы ищем опытного разработчика на С++, который присоединится к нашей команде, чтобы создавать сервис управления обменом данных между микросервисами, составляющими рантайм рекламы в Яндексе. Эта разработка является центральным звеном взаимодействия систем рекламы, поэтому к ней предъявляются высокие требования по нагрузке (миллионы RPS), стабильности, скорости (добавочный лаг менее секунды на старших перцентилях) и эффективности использования ресурсов (диска, сети, памяти, CPU).
Задачи
Разработка и архитектура новых компонентов
Вам предстоит создавать и совершенствовать архитектуру сервиса, разрабатывать высокопроизводительный код на C++.
Оптимизация процессов
Вам придётся глубоко погружаться в детали работы инфраструктуры, выявлять причины узких мест (сеть, диск, CPU) и находить эффективные решения для их устранения.
Разработка эффективных способов хранения и обработки данных
Нужно будет инициировать и реализовывать решения по оптимизации хранения данных, особенно в случаях взаимодействия с ML-моделями или внешним пользовательским Python-кодом.
Командная работа и инновации, сотрудничество с командами YTsaurus
Вы будете заказывать, тестировать, внедрять доработки к новым фичам и технологиям, используемым в нашей системе управления кластерами для распределённых вычислений, взаимодействовать с талантливыми коллегами, вносить свой вклад в продукты, которые меняют мир.
Код-ревью и поиск багов
Вы будете внимательно анализировать пул-реквесты, выявлять потенциальные проблемы и уязвимости в коде.
Текст блока «Мы ждём, что вы»:
* На высоком уровне понимаете язык С++ и современные подходы к разработке
* Проектировали высоконагруженные системы, умеете создавать масштабируемые и устойчивые к нагрузкам архитектуры
* Понимаете различия между распределёнными и параллельными вычислениями и решали возникающие в этих областях проблемы
* Готовы активно участвовать в командной работе, обсуждать задачи, предлагать решения, конструктивно критиковать и поддерживать идеи коллег
Программист-разработчик
Инженер-разработчик
Стажер-разработчик
- офис и условия труда очень приятные, столовая с оплатой по бейджику облегчала жизнь:)
- из всей большой команды нашелся только один не токсичный зрелый (и о боги, не ассоциальный) человек, чему я благодарна. иначе уволилась бы раньше срока
- тяжко быть самой младшей и единственной девушкой в команде из 10 мужчин до 50 лет возраста. так и не почувствовала какого-то признания хотя бы
- не был сказан результат стажировки (прошла/не прошла/порекомендовали другой команде), хотя несколько раз упоминала о сроках окончания моего срочного договора и в ответ ничего
- токсичное общение, которое никем не фиксится и считается нормой
- разделение команды на несколько городов такое себе решение. у нас в основном почти вся команда была в мск и лишь пара человек в спб, от чего чувствуется сильная отрешенность от других коллег