Apple Retail Engineering team builds the software systems that power all the magical experiences we offer to our Apple Store customers, be it digital or in-person. The Retail Engineering Foundations group focuses on developer productivity, shared runtime systems, and common frameworks & platforms for all Retail Engineering teams. The Principal Software Engineer will help plan for, design and manage frameworks, platforms, and systems that countless Apple customers and employees rely on every day, exploring ways to improve how Apple Store operates.
Requirements
- 8+ years proven experience designing, implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems, including mastery in API/RPC design and implementation.
- 8+ years proven experience using relational, NewSQL and NoSQL databases, including mastery in schema design, query optimization, and orchestrating sophisticated, transactional data interactions between databases in distributed systems.
- History of using high-performance domain-specific languages (DSLs) and associated tools to improve engineering and/or business productivity.
- Hands-on experience designing, and implementing such DSLs strongly preferred.
- Mastery in functional programming and OOP principles, data structures, algorithms, and software design patterns (e.g. GoF), with a proven focus on implementing testable, maintainable, and extensible code.
- Proven experience with Java and at least one other high-performance backend language, including mastery in concurrency, memory management, and performance optimization techniques.
- Comfortable using CI/CD tools to build, test, deploy, and release containerized software applications on cloud-based Kubernetes (e.g. AWS EKS, GCP GKE, Azure AKS, etc.).
Responsibilities
- architect, design, develop, test, document, improve, and maintain code mostly in Java (and other languages as needed), focusing on foundational systems, frameworks, and platforms for Retail Engineering.
- partake in every aspect of your projects, from planning to design to implementation and future iterations
- play an extended role in collaboratively designing and implementing solutions to address the requirements of a diverse set of Retail Engineering teams working on various aspects of online & in-person Apple Store experiences.
- designing, implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems, including mastery in API/RPC design and implementation.
- using relational, NewSQL and NoSQL databases, including mastery in schema design, query optimization, and orchestrating sophisticated, transactional data interactions between databases in distributed systems.
- using high-performance domain-specific languages (DSLs) and associated tools to improve engineering and/or business productivity.
- implementing testable, maintainable, and extensible code.
Other
- The ideal candidate is self-motivated, proactive and results-driven.
- Attention to detail, dedication to providing high-quality solutions modeling engineering excellence, and ability to work towards timely delivery of projects are all crucial qualities needed to work at Apple as a Software Engineer.
- The ideal candidate will also possess excellent communication and collaboration skills to work with various Retail Engineering teams and their leaders, various internal and external partners, and senior leaders of Apple.
- Strong written and verbal communication skills with mastery of long-form writing.
- Track record of leading software projects that span multiple, distributed teams as a hands-on tech lead (TL), while mentoring staff- and senior-level software engineers.