About The Position

The SPEAR team in Apple's Security Engineering & Architecture organization is hiring a collaborative system software engineer with a drive to improve the security of end user devices. SPEAR is a dedicated team of software engineers that works on security hardening in the lower levels of all of Apple's operating systems. We work with teams across Apple on targeted projects to improve the security of critical components of our operating systems. We focus on projects ranging from surgical adoptions of memory safety technologies to wholesale refactors that reorient key system components to keep our users' devices secure. Our work results in major improvements to the security of Apple's products without compromising the polished user experience over a billion users rely on every day. As a Systems & Kernel Software Engineer in SPEAR, you will work with teams across the lower levels of Apple's software stack to improve the security of our operating systems. You and your team will deliver well-designed, robust, and maintainable infrastructure and mitigations that eliminate whole classes of software vulnerabilities. Your team's accomplishments will dramatically accelerate progress on improving the security of our user's devices. Your work will help set the standard for cross-functional collaboration, thorough testing, and clear documentation. Through 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.

Requirements

  • Openness to new ways of approaching low-level software to achieve stronger security.
  • Experience in memory safe languages, safer C++ abstractions, and C memory safety extensions is a plus.

Responsibilities

  • Efficiently gain familiarity with the design and implementation of existing codebases.
  • Contribute to design of kernel, driver, and firmware security hardening projects, including memory safety technology adoption, mitigation deployment, sandboxing/isolation, refactoring, and other approaches as necessary.
  • Update existing low-level software codebases or create new codebases as necessary to achieve project goals.
  • Implement projects using the most appropriate language, potentially including C, C++, or Swift.
  • Adopt or update isolated unit testing to thoroughly exercise changes; collaborate with QA engineers on functional testing.
  • Document changes and new architectural elements, creating training materials required for partner team to maintain changes going forward.
  • Communicate collaboratively and effectively during all project phases.

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Industry

Computer and Electronic Product Manufacturing

Number of Employees

5,001-10,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service