You are viewing a preview of this job. Log in or register to view more details about this job.

Formal Verification Engineer

Do you have a passion for verification and programming language semantics? Do you want to work at the bleeding edge of crypto, securing the Ethereum ecosystem? Do you want to help shape the future of Decentralized Finance?

We are hiring formal verification engineers to work with other teams at Nethermind as well as external customers (code name: Synnax) to fulfill a wide range of formal verification needs within the Ethereum ecosystem. We’re looking for team players, with a keen eye for detail and strong problem-solving skills.


Responsibilities:


  • Work with other teams and external customers to design formal specifications of languages, compilers, smart contracts, etc...
  • Produce clean and efficient specifications based on documentation and communications with stakeholders.
  • Use a proof assistant to prove a wide array of different properties of these specifications.
  • Extract property testers and formally verified utilities from these specifications.
  • Recommend and execute improvements.
  • Create technical documentation for reference and reporting.


Requirements:


  • Background in computer science.
  • Background in formal language semantics and verification.
  • Background in functional programming, preferably some experience with proof assistants, particularly Lean.
  • Ability and desire to learn new programming languages and understand their specification e.g. Cairo, Solidity, Yul, etc...
  • Knowledge of compilers.
  • Understanding of computational theory, Turing Machines, Complexity.
  • Experience with software design and development.
  • Strong reasoning skills.
  • Excellent communication skills.
  • Good English.


Perks and benefits:


  • Fully remote
  • Flexible working hours
  • Plus equity