Auto-apply is a Pro feature

Let Findyet apply to this job for you:

  • Your CV is tailored to this posting.
  • The application form's questions are answered from your profile.
  • You review everything and approve before anything is sent.
  • Findyet submits the application and adds it to your tracker.

Available on Greenhouse postings today, up to 3 applications a day on Pro.

The first 100 verified accounts get Pro free for 90 days.

See plans

CertiK

Software Engineer (Formal Methods)

Posted Updated
Discussion
  • 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. Examples include 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

Benefits

  • 401(k) plan with company matching
  • Flexible paid time off and holidays
  • HSA (with high deductible plan) & FSA
  • Life and accidental death and dismemberment insurance
  • Medical, vision, and dental insurance
  • Minimum of 4 years of software development experience (includes internships, software developed during research, and open-source development)
  • Master’s Degree in Computer Science or a related field or 5 years of equivalent experience
  • Demonstrated knowledge of fundamental computer science concepts such as data structures, algorithms, mathematical logic, and automata theory
  • 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
  • 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

Skills

Apply

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.