Software Formal Verification Engineer
Munich, Bavaria-Bayern, Germany
Hardware
Imagine what you could do here. Apple’s formal verification team is looking for a software formal verification engineer who is passionate about helping deliver correctness guarantees for Apple’s most critical systems through state-of-the-art formal verification methodology.
Apple devices are at the center of the daily lives of over a billion customers. We rely on them to handle our private data carefully and securely. As part of the formal verification team, you will work alongside kernel, security, and other formal experts to deliver on this promise.
Dynamic, smart people and inspiring, innovative technologies are the norm here. Join our team of formal experts and make a real difference to Apple’s devices and to the state-of-the-art of software formal verification.
Description
As a software formal verification engineer you will be involved with:
Developing full formal proofs for Apple’s critical software systems
Flushing out bugs and security issues within these systems before they ever hit production.
Collaborating with Apple’s world-class software teams to improve the quality of the software.
Communicating formal specifications to non-formal engineers
Crafting novel and creative improvements that continuously improve our software formal verification methodology.
Developing and implementing re-usable and optimized formal models and verification code bases
Minimum Qualifications
- Deep knowledge of formal logic and automated reasoning
- Good knowledge of C, C++ or similar languages.
- Strong experience using interactive theorem provers (Isabelle a plus)
- Good knowledge of SML or other functional languages
- Understanding of formal methods/formal verification for real-world systems a plus
- Understanding of computer architecture and operating systems a plus
- Understanding of general programming languages paradigms a plus
- Strong problem solving and interpersonal skills
- Strong written and verbal communication in English
Key Qualifications
Preferred Qualifications
- Completed Bachelor's, Master's or PhD Degree program in Electronic Engineering, Computer Science, Computer Engineering, Mathematics / Applied Mathematics or a related field.