Apple's SPEAR team is looking to improve the security of end-user devices by addressing software vulnerabilities and enhancing the security of critical operating system components.
Requirements
- Understanding of the foundations of a system programming language such as C, C++, Swift, or Rust
- Understanding of system-level concepts including multi-threaded design, resource management, and how application software interacts with the operating system
- Ability to reason about the security or robustness of application software
- Ability to quickly get up to speed on new codebases and adjust your approach to meet the needs of diverse projects and requirements
- Experience implementing software following object-oriented design principles
- While previous Swift experience is not required, candidates should have an interest in using Swift to improve the security of operating system libraries and services
- Experience optimizing the runtime performance of system libraries or compute-intensive software
Responsibilities
- Contribute to design of application, framework/library, or daemon security hardening projects such as memory safety technology adoption, mitigation deployment, sandboxing/isolation, refactoring, and other approaches as necessary.
- Update existing software codebases or create new codebases as necessary to achieve security goals.
- Implement projects using the most appropriate language, potentially including Swift, Objective-C, or C++.
- Adopt or update unit tests 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.
- Efficiently gain familiarity with the design and implementation of existing codebases.
Other
- Communicate collaboratively and effectively during all project phases.
- Ability to communicate clearly and effectively about technical topics (verbal and written)
- Enthusiastic, empathetic, and collaborative approach to multi-functional projects
- BS in Computer Science or equivalent experience/skills