Apple Information Systems and Technology group is looking for Java Software Engineers to develop, test, document, improve, and maintain code for various Apple systems and applications, contributing to the design and management of systems, frameworks, and apps that countless Apple customers and employees rely on.
Requirements
- Exposure to 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).
- Familiarity with Java web (e.g. ServiceTalk, Spring, Dropwizard, Quarkus, Micronaut, etc.) and unit testing frameworks (e.g. JUnit, Mockito, etc.).
- Familiarity with tooling languages (e.g. Go, Python, Ruby, etc.) and distributed orchestration & computing systems (e.g. Airflow, Spark, Flink, etc.).
- Basic understanding of JVM internals (e.g. garbage collection, memory allocation, JIT, JNI, etc.).
- Basic knowledge of networking concepts & protocols (e.g. HTTP/HTTPS, CDN, edge computing, load balancing, OSI model, etc.).
- 2+ years proven experience developing software in a professional capacity.
- 1+ years proven experience implementing cloud-based distributed systems, including familiarity with API implementation (e.g. REST, RPC, GraphQL, etc.).
Responsibilities
- 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
- build, test, deploy, and release containerized software applications on cloud-based Kubernetes
- implementing cloud-based distributed systems
- familiarity with API implementation (e.g. REST, RPC, GraphQL, etc.)
- using relational (e.g. Postgres, MySQL, etc.) and NoSQL (e.g. Cassandra, MongoDB, etc.) databases
- implementing testable, maintainable, and extensible backend code
Other
- self-motivated, pro-active and results-driven
- Attention to detail, dedication to providing high-quality solutions modeling engineering excellence, and ability to work towards on-time delivery of projects
- excellent communication and collaboration skills to work with various members of their immediate and extended team
- B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience.