Бэкенд-разработчик в команду Platform Runtime (IPC)
В работе мы ставим амбициозные цели и не останавливаемся на достигнутом. Поэтому для нас так важно, чтобы каждый участник большой команды Авито разделял культуру компании. Погрузиться в неё помогает Манифест, в котором собраны наши основные ориентиры — миссия, ценности, принципы работы manifesto.avito.com
О команде
Мы часть большой команды, которая занимается разработкой платформы PaaS.
Основная цель нашей команды — скрыть сложность синхронных и асинхронных взаимодействий от пользователей платформы — других инженеров в Авито, а также дать простые инструменты для работы с RPC, OpenAPI и асинхронными обменами.
Наши системы используют практически все сервисы в Авито, а от их стабильности и надёжности зависят ключевые критические бизнес-процессы и сценарии.
В нашей команде несколько продуктов и направлений разработки.
Первое направление, которым мы занимаемся — это RPC-фреймворк для синхронных межсервисных обменов. В это направление входят разработка библиотек для создания клиент-серверных приложений, кодогенерация клиентов и серверного кода, проработка и реализация общих для компании подходов по организации таких обменов. Мы используем собственный RPC фреймворк под названием Brief.
Второе направление: асинхронные обмены. Они позволяют сервисам обмениваться сообщениями через общую центральную шину под названием DataBus, а также использовать внутрисервисные очереди через центральную систему под названием Queues В качестве систем хранения мы используем Apache Kafka, Apache Pulsar, Redpanda. Каждая из данных систем обрабатывает более 10-15 млн. rpm нагрузки на запись и 15-20 млн. rpm на чтение.
Третье направление: предоставление Runtime Components для сервисов, включающие в себя workers, crons, functions и объединение их в Workflow Engine. В данном направление мы стараемся реализовать для разработчиков удобные, надежные и функциональные блоки для работы сервисов в production.
Примеры будущих задач:
- разрабатывать control plane для управления конфигурациями шины данных DataBus и Queues;
- проектировать и реализовывать подходы к централизованному управлению таймаутами и другими настройками межсервисных обменов;
- заниматься задачами по улучшению Developer Experience для разработчиков в Авито;
- участвовать в разработке Quasar — внутреннего решения для масштабирования консьюмеров в системах на базе Apache Kafka без необходимости в скейлинге числа партиций.
Мы ждём, что вы:
- Уверенные навыки Golang или желание на нем писать при наличии strong skills в другом языке;
- Понимание принципов микросервисной архитектуры и построения распредленных систем;
- Наличие опыта работы с брокерами сообщений, например Apache Kafka, RabbitMQ, NATs или другими
Будет здорово, если вы:
- работали в платформенных командах;
- имеете опыт в работе с Kubernetes не только на уровне пользователя;
- имеете опыт разработки инструментов для других разработчиков или библиотек.
Работа у нас — это:
- возможность реализовать свои идеи в проекте с многомиллионной аудиторией;
- талантливая команда, готовая поддержать ваши инициативы;
- мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы;
- прозрачная система премий, достойная зарплата — размер обсудим на собеседовании;
- личный бюджет на обучение, который можно тратить на книги, курсы и конференции;
- забота о здоровье: с первого дня у вас будет ДМС со стоматологией, в офисе принимают терапевт и массажист;
- удалёнка из любой точки мира или замечательный офис в двух минутах от метро «Белорусская»: панорамный вид на центр города, места для уединённой работы и зоны отдыха.