A

Apple

Designs phones, computers and their operating systems

Staff Software Engineer - Information Systems & Technology

Backend EngineeringConfirmed live in the last 24 hours
Full-timeCupertino, CA, USANo salary listedIn-person

About the Job

Requirements

  • A B.S. in Computer Science, Computer Engineering, or a related technical field, or equivalent professional work experience.
  • At least 8 years of professional software development experience.
  • At least 5 years of experience designing, implementing, and shipping high-scale, high-performance, highly available, fault-tolerant, and secure cloud-based distributed systems, including API design and implementation such as REST, RPC, or GraphQL.
  • At least 5 years of experience with relational and NoSQL databases, including schema design, query optimization, and managing sophisticated data interactions between relational and NoSQL systems.
  • At least 4 years of experience with Java, including concurrency, memory management, and performance optimization techniques.
  • Mastery of object-oriented programming principles, data structures, algorithms, and software design patterns such as Gang of Four, with a focus on implementing testable, maintainable, and extensible backend code.

Responsibilities

  • Architect, design, develop, test, document, improve, and maintain code, mostly in Java and other languages as needed.
  • Participate in every aspect of projects, from planning and design through implementation and future iterations.
  • Play an extended role in designing solutions and leading software projects.

Desired Qualifications

  • Lead software projects spanning multiple distributed teams as a tech lead while mentoring senior-level software engineers.
  • Use continuous integration and continuous delivery tools to build, test, deploy, and release containerized software applications on cloud-based Kubernetes, such as AWS EKS, GCP GKE, or Azure AKS.
  • Have expertise in Java web frameworks such as ServiceTalk, Spring, Dropwizard, Quarkus, or Micronaut, and unit-testing frameworks such as JUnit or Mockito.
  • Have experience with tooling languages such as Go, Python, or Ruby and distributed orchestration and computing systems such as Airflow, Spark, or Flink.
  • Have a strong understanding of advanced Java Virtual Machine internals, such as garbage collection, memory allocation, just-in-time compilation, and JNI.
  • Have extensive knowledge of networking concepts and protocols, including HTTP/HTTPS, content delivery networks, edge computing, load balancing, and the OSI model.

About the Company

Apple

Designs phones, computers and their operating systems

Apple designs and sells consumer electronics, from iPhone smartphones and Mac computers to tablets and wearable devices. Its operating systems manage apps and built-in functions for communication and work, while iCloud stores files and synchronizes data across devices. Customers buy additional digital services through subscriptions such as Apple Music and Apple TV, and developers distribute software through the App Store. Apple earns money from hardware sales, subscriptions and digital transactions, selling directly to customers and through retailers and mobile carriers around the world. It was founded in 1976 and has its headquarters in Cupertino, California.

Company size
10,001+
Company stage
IPO
Headquarters
Cupertino, CA
Founded
1976

Recently Posted Jobs

Explore more opportunities at Apple

See more jobs