
Sr. Software Engineer, Enterprise Technology Services
Required skills
- Java
- Spring Boot
- Spring MVC
- Spring Security
- Spring Data
- Spring Cloud
- WebFlux
- RESTful API
- gRPC
- GraphQL
Nice to have
- GenAI coding tools
- Claude
- Copilot
- Codex
- message-driven architectures
- event-driven architectures
Role summary
Apple's Information Systems and Technology (IS&T) organization is seeking a Sr. Software Engineer for the Enterprise Technology Services (ETS) team, specifically within Identity Management Services (IdMS). This role involves designing and building scalable, high-performance distributed Java services and REST/RPC APIs for authentication, MFA, and user lifecycle management. You will own features end-to-end, focusing on reliability, latency, and observability. The position also involves integrating ML and generative AI into identity workflows and collaborating with cross-functional teams. A B.S. in Computer Science or equivalent experience, 5+ years of professional software development, and 2+ years of Java experience are required, along with proficiency in OOP, data structures, algorithms, design patterns, and the Spring ecosystem. Experience with high-scale cloud-based distributed systems and API design is essential.
Description
Identity Management Services (IdMS) builds and operates the identity platform behind Apple Account, the sign-in and account system for every Apple service, from iCloud, the App Store, and Apple Music to Apple Pay, FaceTime, and the Online Store. The team designs secure, high-scale distributed Java services that handle billions of authentication and account lifecycle requests every day. As a Software Development Engineer on this team, you will design and build scalable identity services and high-performance REST and RPC APIs spanning authentication, adaptive MFA, and user lifecycle. You will own features end to end, from architecture and design through implementation, contract and integration testing, and production support, while improving the reliability, latency, and observability of systems that are never idle. You will also help bring ML and generative AI capabilities into identity workflows such as adaptive authentication and anomaly detection, partnering with QE, platform, product, and design teams along the way.
Minimum Qualifications
B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience. 5+ years proven experience developing software in a professional capacity. Longer experience preferred. 2+ years proven experience with Java, including proficiency in concurrency, memory management, and performance optimization techniques. Proficiency in OOP principles, data structures, algorithms, and software design patterns (e.g. GoF), with a proven focus on implementing testable, maintainable, and extensible backend code. Experience building production applications with the Spring ecosystem (e.g. Spring Boot, Spring MVC, Spring Security, Spring Data, Spring Cloud, etc.), including proficiency in dependency injection, auto-configuration, reactive programming with WebFlux, and designing microservices using Spring-based patterns. Proficiency in Java web (e.g. ServiceTalk, Spring, Dropwizard, Quarkus, Micronaut, etc.) and unit testing frameworks (e.g. JUnit, Mockito, etc.). Experience designing, implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems. Experience in API design and implementation, including proficiency in RESTful API principles, gRPC, GraphQL, contract-first design (e.g. OpenAPI/Swagger, Protobuf, etc.), API versioning strategies, gateway patterns, rate limiting, and designing APIs for backward compatibility and long-term evolution.
Preferred Qualifications
Track record of leading software projects within a team as a tech lead (TL), while mentoring software engineers. Hands-on experience leveraging GenAI coding tools (e.g., Claude, Copilot, Codex) to accelerate the software development lifecycle, enhance code quality, and streamline debugging and testing processes. Experience with message-driven and event-driven architectures, including proficiency in messaging systems (e.g. Kafka, RabbitMQ, ActiveMQ, etc.), event sourcing, CQRS patterns, and designing reliable asynchronous communication between distributed services. Experience with caching strategies and in-memory data technologies (e.g. Redis, Memcached, Hazelcast, Ehcache, etc.), including proficiency in cache invalidation patterns, distributed caching architectures, and session management for high-throughput applications.
Sample Apple interview questions
- 1
Design a typeahead box for a search engine
system designmedium - 2
Design a rate limiter
system designmedium - 3
Architect a key-value store for distributed systems.
system designmedium - 4
Design a system to schedule jobs in a distributed environment
system designmedium - 5
What is an API and how does it work?
technicalmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Senior Embedded Software EngineerENSCO, Inc. · Binghamton, NY · Onsite
Lead Software Engineer - Enterprise AI Services & AgentsWellmark Blue Cross and Blue Shield · Des Moines, IA · Hybrid
Senior Software Engineer - Lead PlatformA Place for Mom · Remote · Remote
Senior Software EngineerHumata Health · Remote · Remote- Intermediate Software Engineer (Frontend/UI)Achievers · Toronto, ON · Hybrid
- Software Engineer IIOctane® · Hybrid · Hybrid
