Software Engineer, Object Storage, Apple Services Engineering

Posted 1 day 7 hours ago by Apple Inc.

Permanent
Full Time
I.T. & Communications Jobs
England, United Kingdom
Job Description
Software Engineer, Object Storage, Apple Services Engineering

London, England, United Kingdom Software and Services

Join the Apple Cloud Object Store team, a key part of Apple's data storage infrastructure, as a Senior Engineer.The Apple Services Engineering (ASE) organization is responsible for building and running the cloud infrastructure used across Apple and the server systems and platforms underpinning many of our Services.Our cloud infrastructure brings together foundational technologies in compute, storage, data, traffic, and security into a unified Apple Cloud platform available to all engineering teams at Apple.

Description

Examples of fascinating technical challenges in our project are:Designing redundancy mechanisms that will guarantee durability and availability despite hardware failure (which happen constantly at our scale)Searching for bottlenecks in a complex system and making sure to focus optimization efforts on high-impact areasSelecting the best hardware components to match our needsDesigning a storage system that will match requirements of hundreds of customers with diverse traffic patterns

Responsibilities
  • You will join a highly collaborative team that values mutual support and effective teamwork. We prioritize continuous learning and career growth, empowering engineers to drive innovation, including the strategic application of AI, to create groundbreaking solutions.
  • In this role, you will
  • Have the opportunity to identify, scope and lead major projects that impact features, reliability, scalability and maintainability of our storage system.
  • Mentor other engineers, work across teams to identify improvement areas and build consensus, and participate in roadmap discussions.
  • Help raise the bar for code quality and technical excellence by influencing your team and teams around you.
  • Participate in various planning efforts, including sprints, quarterly, and yearly planning. Partner with other teams to define product priorities and influence long-term technical decisions to build a reliable and maintainable product.
Minimum Qualifications
  • In depth experience as a backend software engineer with working knowledge of computer science fundamentals: networking, filesystems, security concepts
  • Experience driving complex projects end-to-end, collaborating across teams and leading other engineers
  • Ability to design features and systems, explore trade-offs and discuss choices with the team
  • Experience with thread safety, non-blocking, asynchronous and concurrent programming
Preferred Qualifications
  • Experience designing, building, and operating large-scale distributed systems, with a strong grasp of concepts like availability, durability, observability, isolation, and fault tolerance
  • Experience in Rust and Java programming languages
  • Experience with object storage solutions and NoSQL data stores
  • Familiarity with modern data lake architectures and query engines