Senior Software Engineer, e-Commerce Fulfillment
Мы ищем Senior Software Engineer для создания глобального event-driven оркестрационного слоя нового поколения. Это роль, сфокусированная на разработке высокопроизводительной инфраструктуры, которая координирует распределенную бизнес-логику во всей экосистеме e-commerce и цепочке поставок. Вместо управления хрупкими интеграциями, вы будете создавать и поддерживать центральную event mesh, распределенные state machines и глобальные контракты данных, обеспечивающие надежную маршрутизацию заказов в реальном времени, видимость запасов и оркестрацию статусов выполнения.
Позиция полностью удаленная. Роль — индивидуальный contributor.
Задачи:
- Выполнение системной модернизации легаси-транзакционных бэкенд-потоков данных в масштабируемые микросервисы с обеспечением высокой доступности и консистентности данных во время перехода.
- Встраивание распределенного трассирования, структурированного логирования и метрик телеметрии в реальном времени в оркестрационные пайплайны для полной видимости сложных сквозных потоков данных.
- Совместная работа с продакт-менеджерами и командой над проектированием, масштабируемостью и доставкой высоконагруженных потоков данных с использованием современных message brokers (например, Kafka, RabbitMQ).
- Проектирование и реализация высокоустойчивых распределенных паттернов координации (Event-Driven Architectures) для управления сложными жизненными циклами выполнения в мультисистемной среде.
- Соблюдение и продвижение инженерных стандартов и лучших практик, включая реализацию сервисов для непрерывной валидации, наблюдения и публикации системных данных.
- Проведение тщательных код-ревью с обеспечением высоких стандартов качества кода, структурной поддерживаемости и производительности микросервисов.
- Выявление и устранение сложных технических проблем в асинхронных коммуникационных путях, распределенных транзакциях и кэширующих слоях.
- Участие в архитектурных обсуждениях и решениях, обеспечивая архитектурную развязку правил маршрутизации и параметров окружения в runtime-конфигурации и feature flags.
- Создание и поддержание качественной документации с соблюдением протоколов release engineering и автоматизированных шлюзов деплоя.
Требования:
- Сильная экспертиза в проектировании ПО и архитектурных паттернах.
- Глубокое понимание agile-методологий и полного жизненного цикла разработки ПО.
- Отличные навыки решения проблем, аналитического и критического мышления.
- Сильные коммуникационные, коллаборационные и лидерские навыки, способность эффективно взаимодействовать с кросс-функциональными командами.
- Подтвержденная способность наставлять других инженеров в технических навыках.
- Владение несколькими языками программирования и технологиями, релевантными нашему стеку.
- Опыт проектирования и разработки масштабируемых, высокопроизводительных и надежных программных решений итеративным способом.
- Глубокие знания стратегий тестирования ПО и автоматизации.
- Знакомство с облачными платформами (например, AWS, Azure, GCP) и архитектурой микросервисов.
- Понимание проектирования баз данных, настройки производительности и лучших практик безопасности.
Квалификация:
- Степень бакалавра в Computer Science, Software Engineering или смежной области (или эквивалентный практический опыт).
- 5+ лет опыта создания высоконагруженных отказоустойчивых бэкенд-приложений и микросервисов с использованием строго типизированных экосистем (Java/JVM, .NET/C# или эквивалентные корпоративные бэкенд-языки).
- Практическое владение асинхронными event-паттернами, архитектурами очередей сообщений, stream processing и решением задач data-at-rest vs. data-in-transit (например, Kafka, RabbitMQ или облачные event bus) при управлении централизацией высоконагруженных данных.
- Глубокое понимание распределенных транзакций, идемпотентности, конечной консистентности и корректной обработки сбоев распределенных state machines.
- Опыт работы с техническими аспектами сложных бэкенд-проектов от начального проектирования системы до продакшен-деплоя и автоматизированного нагрузочного тестирования.