Software Engineer (Engineer III to Principal) - Formal Methods
Core
Design and develop automated analysis tools to ensure the correctness and security of smart contracts and blockchain protocols using formal methods.
Role type
Research software engineer (formal methods)
Builds
Automated verification tools for smart contracts and blockchain applications
Domain
Blockchain security, formal methods, automated reasoning
Deliverable
production ML models | product features | infrastructure
Required skills
programming language theory, automated reasoning, symbolic model checking, SAT/SMT solving, abstract interpretation, data flow analysis, deductive verification
Preferred skills
experience with computationally hard problems, track record of tool development, startup experience
Technologies
symbolic model checking, SAT/SMT solvers, abstract interpretation, data flow analysis, deductive verification
Responsibilities
design and develop tools for automated correctness verification of smart contracts, implement techniques from theoretical computer science, iterate on tool improvements
Seniority
Engineer III to Principal