About This Role

We’re looking for a Senior Software Engineer to join our team building the future of software verification. You’ll work on developing tools and systems that help developers prove their code is correct, working at the intersection of programming languages research and practical software engineering.

What You’ll Do

  • Design and implement formal verification tools and compiler infrastructure
  • Work with proof assistants like Coq, Lean, or similar systems
  • Collaborate with our research team to turn theoretical advances into practical tools
  • Build developer-friendly APIs and interfaces for complex verification systems
  • Contribute to open-source projects in the formal methods community

What We’re Looking For

Required Qualifications

  • 5+ years of software engineering experience
  • Strong background in systems programming (Rust, C++, OCaml, or similar)
  • Experience with compiler design, static analysis, or formal methods
  • Solid understanding of programming language theory
  • Experience with functional programming languages

Preferred Qualifications

  • PhD or Master’s in Computer Science, Mathematics, or related field
  • Experience with proof assistants (Coq, Lean, Agda, Isabelle/HOL)
  • Background in formal verification, theorem proving, or program synthesis
  • Open source contributions to programming language or verification tools
  • Experience with WebAssembly, LLVM, or similar compiler infrastructure

Why Join Theorem Labs?

  • Work on cutting-edge research with immediate practical impact
  • Competitive salary and equity package
  • Comprehensive health, dental, and vision insurance
  • Flexible remote work policy
  • Annual conference and education budget
  • Work directly with world-class researchers and engineers

Our Stack

We work with a variety of technologies including:

  • Languages: Rust, OCaml, TypeScript, Python
  • Proof Systems: Coq, Lean 4
  • Infrastructure: WebAssembly, LLVM, Docker
  • Tools: Git, GitHub Actions, VS Code extensions

Ready to help us make software more reliable? We’d love to hear from you!