Software Engineer (Engineer III to Principal) - Formal Methods

Senior15 days agoRemoteResearch

Domains

Security & Auditing

About the Company

Founded in 2018 by professors of Yale University and Columbia University, CertiK is a pioneer in blockchain security, utilizing best-in-class technology to secure and monitor blockchain protocols and smart contracts. CertiK's mission is to secure the cyber world. Starting with blockchain, CertiK applies cutting-edge innovations from academia into enterprise, enabling mission-critical applications to be built with security and correctness.

About the Role

You will design and develop tools that automatically ensure the correctness of smart contracts or identify security issues and bugs in smart contracts. We have software engineer positions available at all levels of seniority. Title and responsibilities will be commensurate with experience and background.

As part of our multinational team of programming language experts, you will participate in the development of tools that rest upon techniques such as symbolic model checking, SAT/SMT solving, abstract interpretation, data flow analysis, and deductive verification. You will have the opportunity to work on all stages of tool development from idea generation to implementation and iterative improvements.

About You

You have a background in programming language theory and automated reasoning and love to work on the forefront of applying results from theoretical computer science. You love to tackle computationally hard problems and have a proven track record of achieving results, where results are people using your tool to do their jobs. You are collaborative: you share ideas, love to brainstorm with peers, and give and receive feedback. You are comfortable with the unknown and understand that startup life means you will be wearing multiple hats.

Responsibilities

  • Extend the scope and depth of our automated program verification tools and brainstorm, design, and implement new tools.
  • Adapt and improve algorithms for symbolic software model checking, including bounded model checking (BMC), counterexample-guided abstraction refinement (CEGAR), and property directed reachability (IC3/PDR).
  • Build and extend translators from different input languages into intermediate representations, optimizing the generated models for automated analysis.
  • Identify new classes of security properties of smart contracts and formalize properties for use in our automated verification tools.
  • Closely collaborate with other software engineers in developing tools and set technical direction for solving problems in consultation with your team and management.
  • Work on all aspects of delivering working software that meets customer needs, including analysis, design, automated testing, operations, CI/CD, measuring results, incorporating customer feedback, and support.

Required Qualifications

  • Master's Degree in Computer Science or a related field, or 5 years of equivalent experience.
  • Minimum of 4 years of software development experience (includes internships, software developed during research, and open-source development).
  • Minimum of 2 years of experience with one or more of the following: model checking, formal verification, SAT/SMT solving (Z3, CVC4, Yices, MathSAT, SMTInterpol), abstract interpretation, or closely related disciplines.
  • Demonstrated knowledge of fundamental computer science concepts such as data structures, algorithms, mathematical logic, and automata theory.

Preferred Qualifications

  • PhD in the broader field of automated reasoning.
  • Publication record in conferences like POPL, CAV, TACAS, FMCAD, FM, etc.
  • Experience in functional programming (OCaml or Haskell).
  • Strong and creative problem-solving skills; always willing to learn and embrace new technologies and to collaborate.
  • Prior experience in a professional software development environment.

Compensation & Benefits

Target annual base salary for this role performed in the US is $115,000 – $230,000. The exact compensation at which this job is filled will be determined by the skills and experience of qualified candidates.

  • Medical, vision, and dental insurance.
  • 401(k) plan with company matching.
  • Life and accidental death and dismemberment insurance.
  • HSA (with high deductible plan) and FSA.
  • Flexible paid time off and holidays.

About the Company

CertiK

CertiK

Explore more opportunities at CertiK.

View Details