Skip to content

Platform Engineer-Retail Engineering
Company | Apple |
---|
Location | Sunnyvale, CA, USA |
---|
Salary | $143100 – $264200 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s |
---|
Experience Level | Senior |
---|
Requirements
- 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.
- 3+ years proven experience implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems, including proficiency in API implementation (e.g. REST, RPC, GraphQL, etc.).
- 3+ years proven experience using relational (e.g. Postgres, MySQL, etc.) and NoSQL (e.g. Cassandra, MongoDB, etc.) databases, including proficiency in schema design and query optimization.
- 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.
Responsibilities
- Design, develop, test, document, improve, and maintain code mostly in Java (and other languages as needed).
- Partake in every aspect of projects, from planning to design to implementation and future iterations.
- Play an extended role in designing solutions.
Preferred Qualifications
- Track record of leading software projects within a team as a tech lead (TL), while mentoring software engineers.
- 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.).
- Expertise in Java web (e.g. ServiceTalk, Spring, Dropwizard, Quarkus, Micronaut, etc.) and unit testing frameworks (e.g. JUnit, Mockito, etc.).
- Experience with tooling languages (e.g. Go, Python, Ruby, etc.) and distributed orchestration & computing systems (e.g. Airflow, Spark, Flink, etc.).
- Understanding of advanced JVM internals (e.g. garbage collection, memory allocation, JIT, JNI, etc.).
- Knowledge of networking concepts & protocols (e.g. HTTP/HTTPS, CDN, edge computing, load balancing, OSI model, etc.).