Senior Software Engineer, e-Commerce Fulfillment
Полная удаленная занятость. Роль индивидуального исполнителя.
Задачи:
- Модернизация устаревших транзакционных потоков данных в масштабируемые микросервисы с обеспечением высокой доступности и согласованности данных.
- Внедрение распределенной трассировки, структурированного логирования и телеметрии в реальном времени в пайплайны оркестрации.
- Совместно с продакт-менеджерами и командой отвечать за дизайн, масштабируемость и доставку высоконагруженных потоков данных с использованием современных брокеров сообщений (например, Kafka, RabbitMQ).
- Проектирование и реализация отказоустойчивых паттернов распределенной координации для управления жизненным циклом мультисистемного фулфилмента.
- Поддержка инженерных стандартов и лучших практик, включая сервисы для валидации, наблюдения и публикации системных данных.
- Проведение тщательных код-ревью с обеспечением высокого качества кода и производительности микросервисов.
- Выявление и устранение сложных технических проблем в асинхронных коммуникациях, распределенных транзакциях и кэшировании.
- Участие в архитектурных обсуждениях, обеспечение архитектурной развязки правил маршрутизации и параметров окружения через runtime-конфигурации и фиче-флаги.
- Создание и поддержка качественной документации, соблюдение протоколов релиз-инжиниринга и автоматизированных шлюзов деплоя.
Требования:
- Сильные навыки в проектировании ПО и архитектурных паттернах.
- Глубокое понимание Agile-методологий и полного жизненного цикла разработки ПО.
- Отличные навыки решения проблем, аналитического и критического мышления.
- Сильные коммуникативные, коллаборативные и лидерские навыки для взаимодействия с кросс-функциональными командами.
- Подтвержденная способность наставлять других инженеров.
- Владение несколькими языками программирования и технологиями, релевантными стеку.
- Опыт проектирования и разработки масштабируемых, высокопроизводительных и надежных решений.
- Глубокие знания стратегий тестирования и автоматизации.
- Знакомство с облачными платформами (например, AWS, Azure, GCP) и микросервисной архитектурой.
- Понимание проектирования баз данных, настройки производительности и лучших практик безопасности.
Квалификация:
- Степень бакалавра в области компьютерных наук, программной инженерии или смежной области (или эквивалентный практический опыт).
- 5+ лет опыта создания высоконагруженных, отказоустойчивых бэкенд-приложений и микросервисов с использованием строго типизированных экосистем (Java/JVM, .NET/C# или эквивалентные корпоративные языки).
- Практическое владение асинхронными паттернами событий, архитектурами очередей сообщений, потоковой обработкой и решением задач data-at-rest и data-in-transit (например, Kafka, RabbitMQ или облачные шины событий).
- Глубокое понимание распределенных транзакций, идемпотентности, конечной согласованности и корректной обработки сбоев распределенных конечных автоматов.
- Опыт работы над сложными бэкенд-проектами от начального проектирования системы до продакшн-деплоя и автоматизированного нагрузочного тестирования.