Ozon
Go-разработчик, Коммуникации по заказам
Ключевые навыки
Описание
Привет! Это команда «Коммуникации по заказам» из отдела заказов. Мы занимаемся коммуникациями с покупателями по заказам: e-mail рассылки, пуши, нотификации и все уведомления, которые сопровождают заказ на его пути к клиенту. ##
Вы будете
- Участвовать в разработке микросервисных систем. - Писать код для сервисов, обрабатывающих большие потоки событий и объёмы данных. - Мониторить и оптимизировать производительность системы. ##
Примеры задач
- Наш бизнес-заказчики очень креативны и постоянно приносят новые и интересные задачи, поэтому скучно не бывает. - Из-за роста потока событий постоянно приходится придумывать новые способы оптимизации кода и архитектуры. - Мы серьёзно относимся к работе QA: разработчики думают, как сделать код более «тестируемым», и разрабатываем для этого инструменты. ##
Нам важно
- Бэкграунд на бэкэнде на уровне middle. - Опыт работы с микросервисной архитектурой и базами данных. - Умение писать unit- и функциональные тесты. - Умение профилировать и оптимизировать код.
Наш стек
- Go, PostgreSQL, memcached, Kafka, gRPC. ##
Что интересного
- Мы оперируем не запросами, а потоком событий: объём их обработки вырос с 500 до ~10 000 событий в секунду, и нагрузка продолжает увеличиваться. Это настоящий highload на событиях. - Сервисы плотно переплетены с окружением: они синхронно ходят в ~35 смежных микросервисов, а ещё ~25 работают асинхронно через события (Kafka). Это требует грамотного параллелизма, каскадных вызовов и умения выстраивать устойчивые цепочки интеграций. - Отдел (70 человек) состоит из проектных команд — у нас есть QA, SA, PM, frontend, а большинство составляют backend-разработчики. Много специалистов, с кем можно обменяться опытом; задачи стараемся давать по разным доменам, чтобы минимизировать рутину. - При этом наша команда компактная — 8 человек, так что каждый видит результат своей работы и влияет на архитектуру. ##