Poshmark
Senior Software Engineer II, Backend
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior-бэкенд-инженер в Core Platform команду Poshmark — маркетплейса моды с аудиторией 165 млн пользователей. Нужно самостоятельно вести сложные бэкенд-фичи и сервисы от технического дизайна до продакшена, работать с распределёнными системами и менторить джунов.
Задачи
- Проектировать, разрабатывать, тестировать, деплоить и сопровождать масштабируемые бэкенд-сервисы маркетплейса
- Самостоятельно вести сложные технические инициативы от сбора требований и дизайна до продакшен-релиза и поддержки
- Переводить продуктовые и технические требования в надёжные, поддерживаемые и расширяемые решения
- Принимать обоснованные проектные и имплементационные решения с учётом масштабируемости, производительности, надёжности, безопасности и операционных компромиссов
- Разрабатывать и развивать API, модели данных, асинхронные процессы и интеграции в распределённых системах
- Разбирать сложные продакшен-инциденты, проводить root-cause анализ и внедрять устойчивые исправления
- Улучшать наблюдаемость, мониторинг, производительность, отказоустойчивость и операционную готовность систем
- Участвовать в технических дизайн-ревью и давать конструктивную обратную связь на код-ревью
- Взаимодействовать с Product, QA, Infrastructure и смежными командами, управлять зависимостями и обеспечивать качественную поставку
- Улучшать процессы разработки, инженерные практики, инструменты и рабочие процессы команды
- Менторить джунов через дизайн-обсуждения, код-ревью и обмен знаниями
- Участвовать в продакшен-поддержке и on-call дежурствах
Требования
- Bachelor’s или Master’s degree в Computer Science, Engineering или смежной технической области, либо эквивалентный практический опыт
- 7+ лет профессионального опыта в разработке ПО, включая создание и эксплуатацию продакшен-бэкенд-систем
- Прочная база в computer science: структуры данных, алгоритмы, объектно-ориентированное проектирование и принципы проектирования ПО
- Владение как минимум одним бэкенд-языком: Ruby, JRuby, Java или сопоставимым
- Опыт проектирования, разработки и поддержки API и бэкенд-сервисов
- Опыт работы с распределёнными системами и понимание их масштабируемости, надёжности и производительности
- Опыт работы с базами данных, моделированием данных, кэшированием, поисковыми технологиями или системами обмена сообщениями
- Опыт написания чистого, поддерживаемого, хорошо протестированного и документированного продакшен-кода
- Сильные навыки отладки и решения проблем, включая диагностику в продакшен-среде
- Понимание мониторинга, наблюдаемости, автоматизированного тестирования, деплоя и операционной готовности
- Способность самостоятельно вести техническую работу и эффективно взаимодействовать с инженерами и кросс-функциональными партнёрами
- Сильные навыки письменной и устной коммуникации, умение понятно объяснять технические решения и компромиссы
- Приверженность качеству продукта, клиентскому опыту и постоянному улучшению
Условия
- Опыт с Amazon Web Services или другой крупной облачной платформой — преимущество
- Опыт с Ruby, JRuby, Java, MongoDB, Elasticsearch, RabbitMQ, Linux — преимущество
- Опыт создания cloud-native сервисов для высоконагруженного consumer или marketplace-продукта — преимущество
- Опыт с service-oriented или микросервисными архитектурами — преимущество
- Опыт оптимизации производительности, capacity planning и реагирования на продакшен-инциденты — преимущество
- Опыт с email, push-уведомлениями или другими крупномасштабными системами обмена сообщениями — преимущество
- Опыт менторства джунов, стажёров и новых сотрудников — преимущество
Навыки
- Ruby
- JRuby
- Java
- MongoDB
- Elasticsearch
- RabbitMQ
- Linux
- AWS
- API
- distributed systems
- microservices
- caching
- messaging systems
- monitoring
- observability
- automated testing
- CI/CD