CertiK

Software Engineer (Engineer III to Principal) - Formal Methods

CertiK
Apply
4 years ago
Remote, United States +3 moreSenior / Staff+

Base Salary

$115k - $230k/yr

Responsibilities

  • Extend and improve automated program-verification tools and design new analysis tools.
  • Adapt algorithms for symbolic software model checking, including BMC, CEGAR, and IC3/PDR.
  • Build translators from input languages into intermediate representations and optimize generated models for automated analysis.
  • Identify and formalize new security properties for smart contracts.
  • Collaborate with software engineers and management to set technical direction.
  • Deliver working software through analysis, design, automated testing, operations, CI/CD, measurement, customer feedback, and support.

Requirements

  • Master’s degree in computer science or a related field, or five years of equivalent experience.
  • At least four years of software development experience, including internships, research software, and open-source development.
  • At least two years of experience with model checking, formal verification, SAT/SMT solving, abstract interpretation, or closely related disciplines.
  • Knowledge of data structures, algorithms, mathematical logic, and automata theory.
  • Preferred qualifications include a PhD in automated reasoning, publications in relevant conferences, functional programming experience with OCaml or Haskell, and prior professional software development experience.

Benefits

  • Remote work is indicated by the #LI-Remote designation.
  • Medical, vision, and dental insurance.
  • 401(k) plan with company matching.
  • Life and accidental death and dismemberment insurance.
  • HSA with a high-deductible plan and FSA.
  • Flexible paid time off and holidays.

Tech Stack

Haskell

Categories

CertiK

About CertiK

201-500 employees
Contact me