Apple
Sr. Software Engineer - Business Process Reengineering (BPR) and Sales Engineering
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior-инженер в IS&T Apple для проектирования и масштабирования корпоративных backend-систем на Java, обеспечивающих глобальные продажи, операции и supply chain. Роль с техническим лидерством, менторством и ответственностью за архитектуру микросервисов.
Задачи
- Проектировать и разрабатывать масштабируемые stateless REST API для web и mobile клиентов, включая reactive и non-reactive микросервисы
- Отвечать за оркестрацию сервисов, деплой и общую архитектуру
- Писать эффективный, читаемый и модульный Java-код, применяя принципы ООП, структуры данных и алгоритмы
- Использовать concurrency, многопоточность, экосистему Spring и современные технологии доступа к данным
- Проектировать схемы БД и слои доступа к данным, выполнять performance tuning и настраивать кэширование, включая распределённые кэши
- Обеспечивать безопасность и надёжность по всему стеку: secure coding, отказоустойчивые распределённые приложения, работа с HTTP/HTTPS proxy и сетевыми слоями
- Развивать CI/CD пайплайны и автоматизацию сборки (Git, Maven), управлять деплоем enterprise-систем, включая production AI/ML системы
- Брать end-to-end ответственность за сложные неоднозначные задачи, применяя инженерные best practices
- Быть ключевым техническим контрибьютором: направлять архитектурные решения, проводить design и code review, менторить junior и middle инженеров
- Углублять экспертизу в смежных областях — data, platform, security, ML infrastructure — и участвовать в кросс-организационных инициативах
- Ясно доносить технические компромиссы до инженерных и кросс-функциональных стейкхолдеров
- Самостоятельно определять способы достижения целей, выходя за рамки установленных практик
Требования
- B.S. в Computer Science, Computer Engineering или смежной технической области либо эквивалентный опыт
- 8+ лет опыта проектирования и разработки масштабируемых enterprise backend-решений
- 4+ года опыта с Java, включая concurrency, управление памятью и оптимизацию производительности
- Владение принципами ООП, структурами данных, алгоритмами и паттернами проектирования (например, GoF), фокус на тестируемом и поддерживаемом backend-коде
- Опыт production-приложений на Spring (Spring Boot, Spring MVC, Spring Security, Spring Data, Spring Cloud), включая DI, auto-configuration, reactive programming с WebFlux и микросервисы на Spring-паттернах
- Понимание продвинутых внутренностей JVM (garbage collection, memory allocation, JIT, JNI)
- Опыт API design и реализации: RESTful API, gRPC, GraphQL, contract-first design (OpenAPI/Swagger, Protobuf), версионирование API, gateway-паттерны, rate limiting, обратная совместимость
- Опыт message-driven и event-driven архитектур: Kafka, RabbitMQ, ActiveMQ, event sourcing, CQRS, надёжная асинхронная коммуникация между распределёнными сервисами
Навыки
- Java
- Spring
- Spring Boot
- Spring MVC
- Spring Security
- Spring Data
- Spring Cloud
- WebFlux
- JVM
- REST API
- gRPC
- GraphQL
- OpenAPI
- Swagger
- Protobuf
- Kafka
- RabbitMQ
- ActiveMQ
- event sourcing
- CQRS
- Git
- Maven
- CI/CD
- OOP
- concurrency
- multithreading
- distributed caching
- Redis
- Memcached
- Hazelcast
- Ehcache
- Oracle
- Postgres
- MySQL
- Cassandra
- MongoDB
- OAuth2
- OIDC
- SAML
- JWT
- SSO
- RBAC
- ABAC
- LLM
- RAG
- vector databases
- Pinecone
- Weaviate
- pgvector
- prompt engineering
- GenAI coding tools
- Copilot
- Claude
- Codex