Герб Саттер, автор культовых книг по C++ и человек, который буквально сформировал современные стандарты языка, решил сменить корпоративные кабинеты Microsoft на мир больших денег.
Опубликовал статью на Хабре, где рассказываю о том, как мы перешли от системы MapReduce к новому стриминговому движку. Это значительно ускорило обработку данных. Исходники движка доступны на гитхабе.
Эта статья является продолжением предыдущей публикации, в которой описывается разработка сетевой библиотеки на C++20. В данном продолжении акцент сделан на более детальном описании разработки алгоритма Raft и его интеграции с сетевой библиотекой.
С годами работы в области распределённых систем, я понял, что мой опыт не будет полным без реализации алгоритма Raft. Это осознание побудило меня к действию: я решил создать свою реализацию, используя асинхронные возможности C++20.
Предзаказ - 5 недель. Надо торопиться, чем позже заказать тем дольше ждать придется. Говорят, чтобы купить эту салфетку, в Китае китайцы с палатками живут у магазинов apple.
Мне в команду нужен сильный программист.
ЗП конкурентоспособна, обговаривается с каждым индивидуально. «Вилка» достаточно гибкая, поэтому нет смысла её тут озвучивать.
Условия стандартные для Яндекса:
работа в офисе
гибкий график
медстраховка
оплата обеда
бесплатная парковка
белая зарплата
...
Описание вакансии:
Современные высоконагруженные сервисы генерируют огромное количество данных. Задача сбора этих данных существенно усложняется, если их генерируют десятки тысяч серверов сотнями терабайт в день, а требования к надежности чрезвычайно высоки. Мы ищем специалистов с опытом разработки распределенных систем, которые помогут нам в решении этих задач. Вы получите возможность участвовать в разработке надежной отказоустойчивой шины поставки данных. Это отличный шанс поучаствовать в определении архитектуры и дизайна сложной системы, а также в разработке новых компонентов для нее практически с нуля.
Требования:
знание одного из языков: C++, Scala, Java;
желание писать программы и на C++, и на Scala;
знание классических алгоритмов и структур данных;
опыт разработки распределенных систем.
Плюсы:
знание двух языков — и C++, и Scala;
опыт работы со стеком технологий от Apache (Hadoop, Kafka, Spark, Yarn ...);