Apple
Sr Software Engineer, Retail & Marcom Engineering
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior backend-инженер в команду Financing & Retail Systems (IS&T) компании Apple. Разработка масштабируемых серверных сервисов и API для активации устройств, выбора тарифов, ценообразования и управления заказами совместно с операторами связи.
Задачи
- Проектировать и разрабатывать масштабируемые backend-сервисы и API для активации устройств, выбора тарифов, ценообразования и управления заказами с операторами связи
- Разрабатывать, тестировать и деплоить фичи на всём жизненном цикле — от технического дизайна до релиза и поддержки в продакшене
- Интегрировать системы операторов и внутренние платформы Apple, переводить требования операторов в надёжные документированные решения
- Диагностировать и устранять продакшен-инциденты с помощью логов и мониторинга, предотвращать их повторение
- Улучшать производительность, надёжность и поддерживаемость существующих сервисов, включая потоки заказов, ценообразования и фулфилмента
- Взаимодействовать с product-менеджерами, QA, program-менеджерами и партнёрами-операторами для определения требований и соблюдения сроков
- Ревьюить код и участвовать в обсуждениях дизайна, задавать инженерные стандарты и менторить коллег
- Писать и поддерживать автотесты, документацию и runbook'и для удобной эксплуатации сервисов
Требования
- Степень B.S. в Computer Science, Computer Engineering или смежной технической области либо эквивалентный опыт
- 5+ лет профессионального опыта разработки ПО (больший опыт предпочтителен)
- 2+ года опыта с Java, включая concurrency, управление памятью и оптимизацию производительности
- Владение принципами ООП, структурами данных, алгоритмами и паттернами проектирования (например, GoF), фокус на тестируемом, поддерживаемом и расширяемом backend-коде
- Опыт production-приложений на Spring (Spring Boot, Spring MVC, Spring Security, Spring Data, Spring Cloud), включая DI, auto-configuration, reactive programming с WebFlux и проектирование микросервисов
- Опыт дизайна и реализации API: REST, gRPC, GraphQL, contract-first (OpenAPI/Swagger, Protobuf), версионирование, gateway-паттерны, rate limiting, обратная совместимость
- Опыт message-driven и event-driven архитектур: Kafka, RabbitMQ, ActiveMQ, event sourcing, CQRS, надёжная асинхронная коммуникация между распределёнными сервисами
- Опыт реляционных (Oracle, Postgres, MySQL) и NoSQL (Cassandra, MongoDB) БД: проектирование схем, оптимизация запросов, тюнинг производительности, индексы
Навыки
- Java
- Spring Boot
- Spring MVC
- Spring Security
- Spring Data
- Spring Cloud
- WebFlux
- REST
- gRPC
- GraphQL
- OpenAPI
- Swagger
- Protobuf
- Kafka
- RabbitMQ
- ActiveMQ
- Event Sourcing
- CQRS
- Oracle
- Postgres
- MySQL
- Cassandra
- MongoDB
- Kubernetes
- AWS EKS
- GCP GKE
- Azure AKS
- CI/CD
- OAuth2
- OIDC
- SAML
- JWT
- Redis
- Memcached
- Hazelcast
- Ehcache