Apple Information Systems and Technology group is looking for staff-level Java Software Engineers to work on various projects, including apple.com, digital & physical Apple Stores, Apple Care, and Apple-wide systems for identity, operations, recruiting, and people management.
Requirements
- 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.)
- Strong understanding of advanced JVM internals (e.g. garbage collection, memory allocation, JIT, JNI, etc.)
- Extensive knowledge of networking concepts & protocols (e.g. HTTP/HTTPS, CDN, edge computing, load balancing, OSI model, etc.)
- Mastery in OOP principles, data structures, algorithms, and software design patterns (e.g. GoF)
- 4+ years proven experience with Java, including mastery in concurrency, memory management, and performance optimization techniques
- 5+ years proven experience using relational (e.g. Postgres, MySQL, etc.) and NoSQL (e.g. Cassandra, MongoDB, etc.) databases
Responsibilities
- architect, design, develop, test, document, improve, and maintain code mostly in Java (and other languages as needed)
- partake in every aspect of your projects, from planning to design to implementation and future iterations
- play an extended role in designing solutions, and leading software projects
- design and manage systems, frameworks, and apps that countless Apple customers and employees rely on every day
- improve how Apple operates, freeing our employees to do what they do best, and crafting magical experiences for our customers
- work on software for digital & physical Apple Stores, from software for Apple Care to Apple-wide systems for identity, operations, recruiting, and people management
- work on software for Apple data centers to Apple-wide data processing & AI/ML systems
Other
- B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience
- 8+ years proven experience developing software in a professional capacity
- Excellent communication and collaboration skills to work with various internal and external partners, and senior leaders
- Self-motivated, proactive and results-driven
- Attention to detail, dedication to providing high-quality solutions modeling engineering excellence