A

Apple

Designs phones, computers and their operating systems

Senior Software Engineer - Information Systems & Technology

Backend EngineeringConfirmed live in the last 24 hours
Full-timeNo 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 5 years of professional software development experience.
  • At least 3 years of experience implementing and shipping high-scale, high-performance, highly available, fault-tolerant, secure cloud-based distributed systems, including API implementation such as REST, RPC, or GraphQL.
  • At least 3 years of experience with relational and NoSQL databases, including schema design and query optimization.
  • At least 2 years of experience with Java, including concurrency, memory management, and performance optimization techniques.
  • Proficiency in object-oriented programming principles, data structures, algorithms, and software design patterns, with a focus on implementing testable, maintainable, and extensible backend code.
  • Ability to work with internal and external partners and contribute to on-time delivery of projects.

Responsibilities

  • 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.
  • Contribute to designing solutions and play an extended role in solution design.

Desired Qualifications

  • A longer period of professional software development experience.
  • A track record of leading software projects within a team as a technical lead while mentoring software engineers.
  • Comfort using continuous integration and continuous delivery tools to build, test, deploy, and release containerized software applications on cloud-based Kubernetes platforms such as AWS EKS, GCP GKE, or Azure AKS.
  • Expertise in Java web frameworks such as ServiceTalk, Spring, Dropwizard, Quarkus, or Micronaut, and unit testing frameworks such as JUnit or Mockito.
  • Experience with tooling languages such as Go, Python, or Ruby, and distributed orchestration and computing systems such as Airflow, Spark, or Flink.
  • Understanding of advanced Java Virtual Machine internals, including garbage collection, memory allocation, just-in-time compilation, and JNI.
  • 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