Software Development Engineer in Test - CoreOS Quality Engineer
Summary
Are you a big-picture problem solver who loves setting high-reaching goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group, you'll help make the operating system inseparable from the identity of every device it runs on. This group brings hardware, software, and apps together into one seamless Apple experience and your commitment to cross-disciplinary collaboration will help validate the foundational Darwin runtimes and system services that every Apple operating system, from iOS and macOS to watchOS, tvOS, and visionOS, is built upon. Apple's CoreOS organization is seeking a highly motivated Software Development Engineer in Test to join the Darwin Ecosystem Quality Engineering team. We recognize that the quality of our software is only as good as that of our testing. The right candidate for this position enjoys finding creative and unexpected ways to torture bits.
Description
We are seeking a Software Development Engineer in Test (SDET) to help drive quality across the Darwin Ecosystem of projects. Our QE team owns the quality of features and projects across the userspace runtime and concurrency libraries (libdispatch/GCD, libpthread, libplatform, libmalloc, libSystem), inter-process communication (XPC), process lifecycle and launch (launchd, RunningBoard), diagnostics and unified logging (os_log/libtrace, sysdiagnose), app installation and runtime services (MobileInstallation, MobileContainerManager, InstallCoordination), server operating system foundations and the BSD userland that ships across every Apple platform.
In this role, you will partner closely with these development teams to proactively define test strategy, develop robust automation, execute validation plans, and deliver clear, trustworthy quality signals for complex, low-level systems. You will be responsible for investigating and triaging test failures, diagnosing issues that span userspace and kernel boundaries and the test infrastructure itself, extending our shared test frameworks, and building automation that enables fast, reliable feedback throughout the development lifecycle.
This role requires strong technical depth, excellent communication skills, and a systems-level mindset. You will work independently on ambiguous problems, influence quality decisions across teams, and help raise the overall bar for Darwin Ecosystem validation. The ideal candidate is technically curious, detail-oriented, and motivated to make a measurable impact on the stability and reliability of Apple's system software.
Responsibilities
- Develop a deep understanding of ongoing development efforts across the Darwin Ecosystem teams
- Partner closely with development teams to understand system architecture, feature design, and subsystem interactions across the userspace runtime, concurrency and IPC libraries, process lifecycle, diagnostics, and app installation
- Design and implement integration, system, and end-to-end test coverage, with targeted unit testing where appropriate, using languages such as C and Python
- Build, maintain, and extend automated test harnesses and validation infrastructure which includes shared frameworks to enable scalable, high-signal testing across the development lifecycle
- Investigate, triage, and root cause complex test failures spanning userspace, kernel, hardware, and infrastructure layers, driving issues to resolution
- Analyze quality data and trends to identify systemic risks, gaps in coverage, and opportunities for increased confidence in release readiness
- Communicate quality status, key risks, and strategic focus areas to engineering leadership and stakeholders through clear, data-driven reporting
- Operate effectively in ambiguous environments, independently prioritizing work and influencing quality outcomes across a large, multi-team organization
Minimum Qualifications
- Solid understanding of the fundamentals of operating systems and UNIX, with excellent analytical, problem-solving, and debugging skills
- 3+ years of experience with programming languages such as C and Python, and experience developing automated tests and test infrastructure
- Skilled in testing methodologies, test planning, and defining validation strategies, with the ability to independently manage QA efforts across cross-functional teams
- Excellent collaborative skills with outstanding verbal and written communication abilities, including communicating quality status to stakeholders
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field, or equivalent experience
Preferred Qualifications
- Experience using a debugger (e.g., LLDB) to diagnose low-level failures across userspace/kernel boundaries, and familiarity with security testing practices and tools