Platform and Frameworks Software Engineer, SEAR
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 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.
Communicate collaboratively and effectively during all project phases.
Minimum Qualifications
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
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
Preferred Qualifications
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