Want to know if you’re a fit? Upload your resume and let our AI show you.
Skills
C Programming Languageunmatched
C++ Programming Languageunmatched
Code Reviewsunmatched
Communication Skillsunmatched
Engineeringunmatched
Mechanical Maintenanceunmatched
Objective Camlunmatched
Programming Languagesunmatched
Software Engineeringunmatched
Surface Mount Technologyunmatched
Description
Expectations
You’ll work with published researchers and engineers in the Formal Methods team to formally verify a new low-level, production programming language and compiler. You'll write formal specifications and complex mechanized proofs in Rocq. Expect strong mentorship, clear milestones, and real autonomy to explore, with opportunities to publish and open‑source artifacts.
Responsibilities
Contribute to the design, development, and maintenance of mechanized theorems and proofs in Rocq.
Propose and validate solutions to problems.
Actively participate in code reviews and design discussion.
Actively anticipate and communicate roadblocks.
Qualifications
Ability to commit to a full-time 21+ week term.
Enrolled in a PhD program in Formal Methods or Programming Languages working with Rocq.
Some professional software engineering experience.
Understanding of type systems and logic systems.
Ability to read, write, and understand formal programming language specifications and implementations.
Ability to formally articulate, reason about, and verify low-level security, safety, and correctness properties of programming languages like Rust and C/C++.
Some familiarity with SMT / constraint solving.
Familiarity or willingness to learn Rust and OCaml.
High level of independence and autonomy.
Compensation & Benefits
Compensation is comprised of a competitive market salary. Benefits include unlimited vacation time, comprehensive medical, dental, and vision insurance, a $120 monthly gym allowance, and $250 to spend on anything educational.