Remote job
Junior Software Verification Engineer
Job details
About this role
Role overview Help establish that security-critical software behaves as specified by applying formal verification techniques to cryptographic code. This junior role combines writing specifications and proofs with building verification tools, while learning methods on real systems alongside experienced researchers and engineers.
Responsibilities - Apply formal verification methods to cryptographic implementations. - Write specifications and proofs using theorem-proving tools. - Build tooling to automate parts of the verification process. - Work with cryptography engineers to assess their implementations. - Document verification methods, results, and processes. - Contribute to research on AI-assisted verification techniques.
Requirements - Degree in computer science, mathematics, or a related field. - Solid grounding in logic and discrete mathematics. - Some programming experience in any language. - Interest in formal methods and program verification. - Good analytical skills and willingness to learn unfamiliar tools.
Nice to have - Experience with theorem provers such as Coq or F*. - Familiarity with functional programming or coursework in formal methods or program analysis. - Basic cryptography knowledge or experience with Rust or OCaml.
Benefits and work setup Full-time role with remote work available; the listed locations are Milan and Prague.