Software Engineer, FoundationDB

Apple Inc.
Charing Cross, United Kingdom
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Remote
Charing Cross, United Kingdom

Tech stack

C
Java
C++
Profiling
Computer Programming
Databases
Relational Databases
Query Languages
Software Debugging
Distributed Systems
Memcached
NoSQL
Open Source Technology
Redis
Cloud Services
Software Engineering
SQL Databases
Multithreading
Concurrency
Caching
Indexer
Information Technology
Key-value Store

Job description

We are looking for an experienced Software Engineer to help develop the next-generation of Apple's cloud services infrastructure. You will be working on FoundationDB Record Layer, Apple's open source relational database, which is built on top of the FoundationDB key-value store and powers CloudKit. CloudKit is a foundational privacy-focused platform, which securely stores users' data and seamlessly keeps it synchronized across all their Apple devices. CloudKit manages data at a massive scale! It is a strongly-consistent database of structured data that serves billions of active Apple customers. Considered the bedrock of iCloud, it is purpose built to be performant, highly available, and extremely scalable. CloudKit is a framework designed to the highest standards of user privacy that not only empowers developers to build highly collaborative and secure applications, but it is also the storage foundation for Apple's signature cloud experiences, such as Photos, Drive, Notes, Keynote, News, and many third party applications! We are a world-class team who has a real passion for engineering and delivering high quality services to Apple's customers. As a key member of a versatile organization, you will introduce new fundamental capabilities that will help power entirely new applications and scale existing ones. DESCRIPTION We are looking for engineers with a passion for developing world class, highly scalable, and resilient database systems with a particular focus towards ensuring quality, performance, and correctness. Particular areas of focus involve transaction and concurrency management, query language, planning and optimisation as well the design and development of custom storage, indexing, and search structures. Our engineers demonstrate unique leadership skills and can excel in a complex environment that obsesses about the customer experience. As a software engineer in FoundationDB, you will: * Design, develop, and support a extremely multi-tenant relational database * Partner with teams across Apple to develop and ship new customer-facing features * Drive end-to-end project execution, from design reviews and through production releases * Deploy, scale, and maintain highly concurrent and throughput intensive services * Triage, investigate, and remediate production and operational issues MINIMUM QUALIFICATIONS Bachelor's degree in Computer Science, Software Engineering, or an equivalent degree. Experience developing software in Java, C, or C++ Experience working with distributed NoSQL or relational database technologies Extensive experience with debugging and profiling. Expertise in programming in concurrent and multi-threaded environments Industry experience building and operating large-scale multi-tiered distributed systems PREFERRED QUALIFICATIONS A solid understanding of relational databases, SQL, and query planning and execution. Strong fundamentals in storage systems, e.g., schema design, indexes, and transactions Familiar with high-performance caching mechanisms, e.g., Redis or Memcached Responsibilities As a software engineer in FoundationDB, you will design, develop, and support a multi-tenant relational database while partnering with teams across Apple to develop and ship new customer-facing features. You will also drive end-to-end project execution and maintain highly concurrent services.

Requirements

Software Engineering, Database Systems, Java, C, C++, Distributed Systems, Debugging, Profiling, Concurrency Management, SQL, Query Planning, Storage Systems, Indexing, Search Structures, Caching Mechanisms, Multi-threaded Environments

Apply for this position