The SPEAR team in Apple’s Security Engineering & Architecture organization is hiring a collaborative software engineer with a drive to deploy Swift in operating system software to improve the security of end user devices.
SPEAR is a dedicated team of software engineers with a passion for user security. We work hands-on with teams across Apple to improve the security of their operating system components. 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. Our work results in major improvements to the security of Apple’s apps and services without compromising the polished user experience over a billion users rely on every day.
As an Swift Software Engineer in SPEAR, you will work with teams across Apple’s software stack to implement key operating system components in Swift. You will deliver well-designed, robust, and maintainable frameworks and applications that meaningfully improve end user security. 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.
Each project will involve solving unique challenges while handling the following core responsibilities:
Efficiently gain familiarity with the design and implementation of existing codebases.
Contribute to the design of application, framework, or daemon security hardening projects by implementing new or existing components in Swift.
Design maintainable libraries that use the Swift type system to present safe interfaces while working within the performance constraints required of OS software.
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.
* Bachelors degree in Computer Science/Computer Engineering, or equivalent experience* 3+ years of experience designing software in Swift* Deep understanding of the Swift programming language including the type system, standard library, and interaction with the runtime* Familiarity with system concepts including multi-threaded processing, synchronization, and interprocess communication* Ability to reason about the security or robustness of application software* Ability to communicate clearly and effectively about technical topics (verbal and written)* Enthusiastic, empathetic, and collaborative approach to multi-functional projects* Ability to quickly get up to speed on new codebases and adjust your approach to meet the needs of diverse projects and requirements