Darwin Runtime Engineer, Core Os

Apple Apple · Big Tech · Cupertino, CA +1 · Software and Services

Software Engineer on the Darwin Runtime team responsible for building low-level runtime technologies like Grand Central Dispatch (GCD), secure inter-process communication systems, memory allocator, threading library, and concurrency and synchronization primitives for Apple's operating systems.

What you'd actually do

  1. Design and implement new features and APIs for Darwin Runtime technologies like GCD, XPC, pthread, and malloc
  2. Design and implement IDL compiler frontend and backend systems, including lexical analysis, parsing, semantic analysis, and code generation for both C and Swift targets
  3. Develop and maintain high-performance runtime libraries that handle secure communication, memory management, and component lifecycle across different execution environments
  4. Optimize code generation, runtime performance, and memory usage to meet strict performance requirements for low-level systems
  5. Participate in all phases of software development cycle: from problem definition and design, through implementation, testing, and debugging

Skills

Required

  • BS or MS in Computer Science or equivalent degree
  • 0-3+ years of relevant industry experience in low level systems programming
  • Fluency in the C programming language
  • Experience with UNIX-like systems
  • System design and architecture skills
  • Strong understanding of operating system fundamentals like threading, synchronization primitives, inter-process communication, scheduling, and virtual memory
  • Excellent collaborative skills

Nice to have

  • Experience with compiler design, including lexical analysis, parsing, semantic analysis, and code generation
  • Knowledge of capability-based security models, sandboxing, and secure IPC mechanisms
  • Knowledge of operating system implementation, hardware architecture and assembly programming
  • Knowledge of Swift or Objective-C
  • Skilled at interface and/or API design
  • Experience with lldb or gdb