Static Analysis Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
The Program Analysis team at Apple is looking for exceptional candidates to work on and enhance static analysis tools for detecting bugs and security vulnerabilities. Because our tools are our products, our team has the unique opportunity to improve our own development environment daily as we build software for our millions of users. Our team strives to build a diverse, balanced, and dynamic environment.
- A passion for building innovative and easy-to-use tools for finding bugs, improving code quality, and enhancing the software development experience
- Patient, user-focused decision-making
- Proficiency in either Swift or C++ development
This position offers the rare opportunity to build tools that will be used by the millions of developers writing code for Apple platforms! Our past projects include the Clang Static Analyzer and static analysis used by the Swift compiler. You’ll join a small and focused team, but also work closely with the software engineering organization within Apple. In your engineering role you will: • Collaborate with teammates through pull requests, in-person conversations, and Slack • Develop new features, fix interesting bugs, write tests, and review your teammates’ code • Help grow strong open-source communities for Swift and Clang/LLVM • Work closely with the developer tools organization we are colocated with to create a great developer experience • Collaborate with programming language designers and operating systems engineers to improve the quality and security of software in Apple’s ecosystem • Build expertise in and responsibility for specific components of Xcode, Swift, and Clang/LLVM Here you'll find that we: • Have a peaceful work environment where you can choose when to socialize and when to close your office door and focus • Provide technical guidance, software architectural review, and mentorship • Have an encouraging and growth-focused workplace culture • Encourage you to use accrued vacation time and maintain a healthy work-life balance • Offer excellent benefits
Education & Experience
Bachelor of Science in Computer Science, or equivalent experience.
- •. Knowledge of static analysis or linting techniques (such as symbolic execution, pointer analysis, abstract interpretation, or AST matchers) is not required but is helpful
- •. Experience developing iOS or macOS applications is not required but is helpful
- •. If possible, provide a portfolio of your work.