Senior Software Engineer, Formal Verification
Category Labs · United States · 4 days ago
RemoteRemoteEngineering$180k–$250k/yrFull-time
About the role
We are seeking a Senior Software Engineer in Formal Verification to join our team. Your primary responsibility will be to formally verify the highest-risk parts of the Monad implementation, including concurrent and parallel execution logic. You will also build and refine Rocq models of system designs, then prove the C++ implementation equivalent to those models.
Responsibilities
- Formally verify the highest-risk parts of the Monad implementation, including concurrent and parallel execution logic.
- Build and refine Rocq models of system designs, then prove the C++ implementation equivalent to those models, catching design and implementation bugs before they reach main.
- Develop specifications and weakest-precondition proofs for production C++ using BRiCk and Iris separation logic.
- Strengthen theorem statements and proof automation, and devise approaches that scale verification to a fast-moving codebase.
Requirements
- You have at least 5 years of software engineering experience in C++, much of it building performant systems from scratch – databases, device drivers, embedded systems, or the like.
- You have hands-on experience with an interactive theorem prover, ideally Rocq (formerly Coq), and can write machine-checked proofs about real, running code.
- You reason about concurrency and memory with a rigor most engineers never need – and you're drawn to problems where "probably correct" isn't good enough.
- You have sharp instincts for software architecture, memory management, and performance profiling.
- You hold a Bachelor's, Master's, or PhD in Computer Science, or have equivalent experience.
Qualifications
- You have a Bachelor's, Master's, or PhD in Computer Science, or equivalent experience.
Skills
- Experience with an interactive theorem prover, ideally Rocq (formerly Coq).
- Hands-on experience with formal verification techniques.
- Strong understanding of concurrency and memory management.
- Experience with C++ programming.
- Sharp instincts for software architecture and performance profiling.
Benefits
- Competitive salary range: $180,000 – $250,000.
- Equity package.
- Private health insurance options.
- Flexible paid time off.
- Monthly wellness reimbursement.
- Paid parental leave.
- World-class benefits package with 100% paid medical, dental, and vision insurance including 75% coverage for dependents and HSA + FSA options.
- 401(k) with company match.
- Lunch and dinner stipend (in-office NYC).
Pay
- The base salary range for this role is $180,000 – $250,000.
Schedule
- Full-time position.