System Software Engineer, Security

Santa Clara Valley (Cupertino), California, United States
Software and Services


Role Number:200470819
The SPEAR team in Apple’s Security Engineering & Architecture organization is hiring an early career system software engineer with a drive to collaboratively improve the security of end user devices. SPEAR is a dedicated team of software engineers with a passion for user security. We work with teams across Apple to improve the security of our operating systems. We focus on high impact projects ranging from surgical adoptions of memory safety technologies to wholesale refactors that reorient key system components to protect the security of our users’ devices. As a System Software Engineer in SPEAR, you will gain hands-on experience with a variety of low-level OS technologies. Your career development will be guided by training and mentorship in kernel/firmware concepts, secure software development principles, and cross-functional project execution. Your work will have a significant impact on the security of all of our users’ devices. As a result of the collective efforts of talented engineers like yourself, Apple’s products are the most secure consumer devices on the market. Our mission is to continue to advance the state of the art of end user security. Our goal isn’t simply to be the most secure: we’re working to ensure the safety of every user’s digital life, even against the most malicious and well-resourced adversaries.

Key Qualifications

  • Strong interest in security and a desire to develop your skills in that area
  • Experience programming in one of C, C++, Rust, or another other low-level programming language
  • Experience or coursework working in low-level environments including firmware, kernels, or hardware drivers
  • Understanding of how low-level software is compiled to machine code and interacts with hardware
  • Ability to communicate clearly and effectively about technical topics (verbal and written)
  • Enthusiasm to collaborate on challenging cross-functional projects


Each project will involve solving unique challenges while handling the following core responsibilities: Gain familiarity with the design and implementation of existing codebases. Understand design of kernel, driver, and firmware security hardening projects such as memory safety technology adoption, mitigation deployment, sandboxing/isolation, or refactoring. Independently study background materials and leverage peer mentorship resources when necessary. Update existing low-level software codebases as necessary to achieve project goals using the most appropriate language, potentially including C, C++, or Swift. Implement isolated unit tests to thoroughly exercise changes; incorporate feedback from QA engineers to improve project implementation and unit testing coverage. Contribute to documentation and training materials required for partner team to maintain changes going forward. Communicate effectively and empathetically during all project phases.

Education & Experience

BS in Computer Science or Computer Engineering; or equivalent experience/skills

Additional Requirements

Pay & Benefits