OS Software Engineer, Evaluation

Cupertino, CA, US • Posted 13 hours ago • Updated 1 hour ago
Full Time
On-site
Fitment

Dice Job Match Score™

🔢 Crunching numbers...

Job Details

Skills

  • FOCUS
  • Evaluation
  • Software Development
  • Testing
  • Objective-C
  • Swift
  • C
  • C++
  • Kotlin
  • Concurrent Computing
  • IPC
  • Management
  • Open Source
  • Shell
  • Multithreading
  • Problem Solving
  • Conflict Resolution
  • Debugging
  • Communication
  • Software Engineering
  • Embedded Systems
  • Unix
  • POSIX
  • IOS Development
  • OS X
  • Operating Systems
  • User Experience
  • A/B Testing
  • Artificial Intelligence
  • Computer Science
  • Computer Engineering

Summary

For the engineer that obsesses on how software can enable OS developers to evaluate and improve their features, there is no better place than Apple's Experimentation team. The Experimentation team builds an end-to-end platform spanning the OS, data, and server for all the Apple OSes, operating at a scale of 2.5+ billion devices. We are addressing key challenges to accelerate the adoption of AI and an experimentation culture mindset across all Apple products/services. We are seeking engineers that can push the boundaries of low-level operating system technologies while maintaining a customer-centric focus on the developer and user experience.

The mission of Evaluation is to measure, understand, and proactively improve all Apple features. We are looking for an engineer to build and extend the experimentation system for Apple to use across all our operating systems. You will be responsible for the on-device daemon and framework, that is at the heart of the experimentation platform. You will partner with feature teams across Apple to enable them to make a positive impact for the customers. You will ship code that runs on devices you use every day and powers a variety of Apple products. You will obsess over memory, power, performance in addition to the developer experience.

Description

Design and implement new features and APIs for the on-device Experimentation service that is deployed across multiple Apple operating systems

Develop and maintain high-performance libraries that are easy to use by developers

Participate in all phases of software development cycle: from problem definition and design, through implementation, testing, and debugging

Diagnose and resolve issues across different layers of the software stack

Write unit and integration tests for new and existing code

Work with cross-functional teams to enable developer and product features

An appreciation how an OS design impacts end-user experience

Minimum Qualifications

Working proficiency in Objective-C, Swift, C/C++, Kotlin, or similar languages

Strong academic foundation in operating systems concepts, including concurrency, multi-threading, synchronization primitives (mutexes, locks, semaphores), inter-process communication (IPC), and memory management.

Hands-on experience developing low-level or systems software through internships, academic capstones, coursework labs, or substantial open-source/personal projects (e.g., building a shell, multi-threaded server, user-space service, or operating system project).

Excellent problem-solving, debugging, and communication skills, with a track record of collaborating effectively in team or group-project settings.

Bachelor's degree in Computer Science, Computer Engineering, or a related technical discipline (or equivalent practical experience).

Preferred Qualifications

Prior software engineering internship experience in systems software, embedded platforms, or platform engineering.

Exposure to Unix/POSIX APIs, event loops/run loops (libdispatchD, kqueue, epoll), or system daemons/services (launchd, systemd).

Experience in iOS, macOS, or similar operating systems

An appreciation of how a platform design impacts end-user experience

Experience in experimentation or A/B testing and AI

Master's degree in Computer Science, Computer Engineering, or a related technical discipline (or equivalent practical experience).
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.
  • Dice Id: 90733111
  • Position Id: 81e1683ea79851950e630984698fc488
  • Posted 13 hours ago
Create job alert
Never miss an opportunity! Create an alert based on the job you applied for.