Appleʼs static program analysis tools help millions of developers inside and outside of Apple\\nfind, fix, and prevent security and stability bugs. We are looking for a senior engineer with a\\nstrong background in compilers or static analysis tools to help develop tools to prevent classes\\nof errors, support the adoption of safe programming models, and find bugs. This role will involve\\ndeveloping program analyses to prevent classes of errors and automate the adoption of safe\\nprogramming models, collaborating with and mentoring engineers, and partnering with\\noperating system and security teams to improve the security and reliability of software in the\\nApple ecosystem. We value creativity, communication skills, and integrity, and aspire to build\\ndiverse, balanced and dynamic teams.
In this role, your primary responsibility will be to develop security and bug-finding tools used to\\nsecure software running on over 2 billion devices, working as part of a team of static analysis\\nand compiler engineers. This team collaborates closely with operating systems and security\\nengineers to improve the security and stability of C, C++, Objective-C, and Swift codebases in\\nAppleʼs platform and ecosystem. The team actively participates in the Clang/LLVM open source\\ncommunity and memory safety-related language standards efforts.
Help develop and make progress on a technical roadmap to build program analysis tools to\\ncontinually improve the security of Appleʼs operating system software stack, including user\\nspace, kernel, and firmware environments.\\nDevelop program analysis-based tools and features to prevent classes of errors, enable the\\nadoption of safe programming models, and find bugs.\\nOwn the end-to-end engineering of the tools and features, including feature planning,\\ndesign, implementation, testing, and roll out strategy.\\nWork with partner teams to design, plan, and deliver high-quality software features for our\\ntools and operating systems.\\nStrengthen the team by mentoring junior engineers and helping engineers grow their skills.\\nGrow strong connections to the Clang/LLVM community and represent Apple in open source.
Experience developing compiler or static analysis tools (such as with compiler frontends,\\nrefactoring tools, software verification tools).\\nExcellent software engineering, testing, and debugging ability.\\nProficiency in C++ development.\\nInterest in systems-level programming and security.\\nStrong communication and organizational skills.
Experience with static analysis techniques (data flow analysis, abstract interpretation, or\\nsymbolic execution) is a plus.\\nExperience leading the technical development of large features and collaborating across\\norganizational boundaries.