Sr. Software Engineer, Enterprise Technology Services
- On-site
- Full-time
About this role
Do you want to help build some of the largest and most consequential enterprise and customer technology systems in the world? Join Apple’s Information Systems and Technology (IS&T) organization.
IS&T is the engine behind everything Apple does for customers and for the people who build for them. It’s Apple’s central nervous system. Supporting 2.5 billion active Apple devices, processing billions of secure transactions, and keeping the technology that defines modern life running flawlessly, IS&T makes the impossible feel effortless.
Enterprise Technology Services (ETS) is part of IS&T and delivers global-scale platforms and services that keep Apple's operations secure and running. The team manages identity, device security, and anti-abuse platforms — covering everything from manufacturing and repairs to software updates and activations. ETS also oversees supply chain, manufacturing, and partner integration platforms, protecting data on more than 2.5 billion devices worldwide. And when Apple prepares for a global product launch, ETS owns the systems that ramp factory production — managing serial numbers, network credentials, and verified software.
We are looking for a self-directed, talented Software Engineer to design and develop the control plane of our security platform. In this role, you will collaborate closely with the Data Plane and other cross-functional teams to build novel features for the platform. The ideal candidate will be hands-on with coding and have expertise in building and tuning high-performance services and in creating robust, scalable distributed systems.
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.
Solid understanding of advanced JVM internals (e.g. garbage collection, memory allocation, JIT, JNI, etc.).
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.
Experience using relational (e.g. Oracle, Postgres, MySQL, etc.) and NoSQL (e.g. Cassandra, MongoDB, etc.) databases, including proficiency in schema design, query optimization, performance tuning (e.g. execution plan analysis, indexing strategy, and query rewriting).
Experience with cloud platforms (e.g. AWS, GCP, Azure, etc.), including proficiency in IaC, containerization, and orchestration using industry-standard tools (e.g. Terraform, Docker, Kubernetes, etc.).
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.
Solid knowledge of networking concepts, protocols, and infrastructure (e.g. HTTP/HTTPS, TCP/IP, CDN, load balancing, edge computing, DNS, Zero Trust architecture, etc.).
Experience designing, implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems.
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.