Software Engineer (Engineer III to Principal) - Formal Methods

Design and develop tools that verify smart-contract correctness and identify security issues. Implement symbolic model checking, SAT/SMT solving, abstract interpretation, data-flow analysis, and deductive verification, while contributing across the software lifecycle.

Responsibilities

  • Extend automated program verification tools and implement new tools
  • Improve symbolic software model-checking algorithms including BMC, CEGAR, and IC3/PDR
  • Build translators into intermediate representations and optimize generated models
  • Formalize new smart-contract security properties for automated verification
  • Collaborate with engineers and management on technical direction
  • Deliver software across analysis, design, testing, operations, CI/CD, measurement, feedback, and support

Requirements

  • Master's degree in Computer Science or related field, or five years of equivalent experience
  • At least four years of software development experience, including internships, research, or open source
  • At least two years of experience with model checking, formal verification, SAT/SMT solving, abstract interpretation, or related disciplines
  • Knowledge of data structures, algorithms, mathematical logic, and automata theory
  • Preferred: PhD in automated reasoning or publications in relevant conferences
  • Preferred: Experience with OCaml or Haskell
  • Strong problem-solving, collaboration, and learning skills

Benefits

  • Medical insurance
  • Vision insurance
  • Dental insurance
  • 401(k) plan with company matching
  • Life and accidental death and dismemberment insurance
  • HSA with high deductible plan
  • FSA
  • Flexible paid time off and holidays
  • Variable commission program for business development sales roles

See also

要針對這個職缺調整履歷嗎?

目前無法檢查您與這個職缺的符合程度;請先將履歷加入個人檔案,下次即可查看。

A new version of freehire is available