Core OS Software Engineer - Darwin Server
Apple Inc
London, United Kingdom
Job posting number: #7281033 (Ref:apl-200567238)
Posted: September 12, 2024
Job Description
Summary
The Darwin Evolution team in Core OS is looking for enthusiastic engineers interested in developing system software for Apple’s operating systems. Darwin is the UNIX-like foundation at the heart of all Apple’s operating systems, stretching from the kernel up through low-level user components. The Darwin Evolution team is responsible for ensuring this foundation is adaptable for use in server environments, such as with the Private Cloud Compute service that powers Apple Intelligence.
The ideal candidate should be self-motivated and effective operating independently, with a desire to learn and develop technical leadership. Team members are welcome and encouraged to participate in design discussions, code reviews, and development across a range of technologies. The team is actively involved in defining OS architecture and the design of cross-functional features that capitalize on Darwin technologies. Our environment fosters technical innovation, meaningful technology ownership, and a liberating amount of autonomy!
The ideal candidate should be self-motivated and effective operating independently, with a desire to learn and develop technical leadership. Team members are welcome and encouraged to participate in design discussions, code reviews, and development across a range of technologies. The team is actively involved in defining OS architecture and the design of cross-functional features that capitalize on Darwin technologies. Our environment fosters technical innovation, meaningful technology ownership, and a liberating amount of autonomy!
Description
You will be responsible for working on a range of technologies that form the foundation of Apple’s operating systems, with a focus on improving these technologies for use in server and cloud environments. Projects you work on as part of the Darwin Evolution team could include:
* Building technologies to enable server application packaging and distribution (like OCI images or Flatpak)
* Enabling Darwin to be integrated with cloud management and orchestration technologies (think cloud-init or Kubernetes)
* Improving Darwin’s support for observability at scale (e.g. OpenTelemetry)
* Developing new security or privacy features to improve Private Cloud Compute
An engineer on the Darwin Evolution team would regularly:
* Participate in all phases of the software development cycle: from problem definition and design, through implementation, testing, and debugging
* Work with client teams to build the features required for Darwin to meet their development and product requirements
* Partner with technology owners throughout Apple to enable their technologies for use in server environments
* Engage cross-functionally to affect technical change across Apple
* Building technologies to enable server application packaging and distribution (like OCI images or Flatpak)
* Enabling Darwin to be integrated with cloud management and orchestration technologies (think cloud-init or Kubernetes)
* Improving Darwin’s support for observability at scale (e.g. OpenTelemetry)
* Developing new security or privacy features to improve Private Cloud Compute
An engineer on the Darwin Evolution team would regularly:
* Participate in all phases of the software development cycle: from problem definition and design, through implementation, testing, and debugging
* Work with client teams to build the features required for Darwin to meet their development and product requirements
* Partner with technology owners throughout Apple to enable their technologies for use in server environments
* Engage cross-functionally to affect technical change across Apple
Minimum Qualifications
- BS/MS in Computer Science or equivalent knowledge and experience
- Experience with UNIX-like systems
- Strong understanding of operating systems architecture and systems programming fundamentals
- Fluent in any of the following programming languages: C, Objective-C or Swift
- Practical understanding of security principles, concepts, and techniques (e.g. certificates, software signing, attestation)
Preferred Qualifications
- Experience building operating system infrastructure to support cloud computing
- Experience with system daemon, library development, or API design
- Efficiency in scripting, data analysis, and automation using Python, shell, or other scripting languages
- Ability to systematically troubleshoot issues across the entire technology stack
- Perspective on how successful teams build and operate cloud technologies
- Involvement in open source technologies and development communities such as Darwin, FreeBSD, Linux, etc
- Passion for raising the bar for privacy and security in cloud computing