Appleposted 18 days ago
Senior
Austin, TX
Computer and Electronic Product Manufacturing

About the position

Join us, the team that serves as Apple's nerve center: Apple Information Systems and Technology group! We are looking for staff-level Java Software Engineers, who will work closely with other Software Engineers, Project & Product Managers, Product Designers, other internal & external partners as well as with senior Apple leadership. There are countless ways you can contribute here, from working on apple.com to software for digital & physical Apple Stores, from software for Apple Care to Apple-wide systems for identity, operations, recruiting, and people management, from software for Apple data centers to Apple-wide data processing & AI/ML systems. When you join IS&T, you'll help design and manage systems, frameworks, and apps that countless Apple customers and employees rely on every day. Together, we'll explore all the ways to improve how Apple operates, freeing our employees to do what they do best, and crafting magical experiences for our customers.

Responsibilities

  • Architect, 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 and leading software projects.
  • Lead software projects that span multiple, distributed teams as a tech lead (TL).
  • Mentor senior-level software engineers.

Requirements

  • Self-motivated, proactive, and results-driven.
  • Attention to detail and dedication to providing high-quality solutions.
  • Ability to work towards timely delivery of projects.
  • Excellent communication and collaboration skills.
  • 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 frameworks (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.).
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service