Kernel Debug Development Engineer (Shanghai/Shenzhen)

Shanghai, Shanghai, China
Software and Services

Summary

Posted:
Weekly Hours: 40
Role Number:200497456
The Darwin Debug Development 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 Ecosystem team is responsible for ensuring this foundation is adaptable for use in new products and environments. By creating an ecosystem of technologies used by a range of Apple’s product teams, the team has a meaningful role in enabling new products and experiences throughout Apple. The team focuses on key kernel technology areas such as CPU scheduling, power management and threading models which are key to delivering great performance and battery life across all Apple devices. This position requires a solid understanding of operating systems fundamentals, including kernel design and implementation. We deal in all of the traditional kernel subsystems, e.g. virtual memory, scheduling, IPC, etc, and also serve as expert system sleuths up and down the entire Apple stack. Our company is one of the last vertically integrated systems shops remaining, and as such our engineers have the unique opportunity to roam the system freely, from iOS silicon design all the way up to Apps and the cloud.

Key Qualifications

  • Passion for low-level system technologies
  • Fluency in the C programming language
  • Experience with UNIX-like systems
  • System design and architecture skills
  • Strong understanding of operating system fundamentals like inter-process communication
  • Excellent collaborative skills, with the ability to work with a team to design system architecture
  • Familiarity with security principles and secure programming best practices

Description

You will be responsible for working on a range of technologies that form the foundation of Apple’s operating systems. The work would include projects such as: - Design and implement low-level system APIs, libraries, and services - Analyze Apple’s operating systems to understand the structure of the software and use that knowledge to make deep changes across the entire stack - Architect high-security environments to improve customer security and privacy An engineer in the Darwin Ecosystem team would regularly: - 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 stack - Work with cross functional teams to enable developer and product requirements

Education & Experience

BS/MS in Computer Science or equivalent knowledge and experience

Additional Requirements

  • - Knowledge of Swift
  • - Familiarity with functional programming language
  • - Knowledge of operating system implementation, hardware architecture and assembly programming
  • - Skilled at interface and/or API design