IT & Software

Software Engineer (Formal Methods)

CertiK

York And North Yorkshire · England · United Kingdom

  • 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 experienceDemonstrated knowledge of fundamental computer science concepts such as data structures, algorithms, mathematical logic, and automata theoryMinimum 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 disciplinesPhD in the broader field of automated reasoningPublication record in conferences like POPL, CAV, TACAS, FMCAD, FM, etcExperience in functional programming (OCaml or Haskell)Strong and creative problem-solving skills; always willing to learn and embrace new technologies and to collaboratePrior experience in a professional software development environment

#J-18808-Ljbffr

Reference: WJ-766_22201198

Apply now

Continue on the employer's official application - the same link they use for every candidate.

More jobs

Find more on GigBlows

This role is listed on GigBlows for discovery and search. Hiring decisions and applications are handled by the employer or their chosen application system.