Job Url: https://jobright.ai/jobs/info/6981c98149964d25b5e4e1e1 Job Description: CertiK ยท 12 hours ago Software Engineer (Engineer III To Principal) - Formal Methods United States Full-time Remote Mid, Senior Level, Lead/Staff $115K/yr - $230K/yr 4+ years exp 86% STRONG MATCH 100% Exp. Level 71% Skill 79% Industry Exp. Maximize your interview chances CertiK is a leading blockchain security company focused on ensuring the security and correctness of blockchain code. They are seeking a research software engineer to design and develop tools for automated verification of smart contracts, collaborating with a team of programming language experts. Blockchain Cyber Security Software Web3 H1B Sponsor Likely Insider Connection @CertiK 2 email credits available today Discover valuable connections within the company who might provide insights and potential referrals. Get 3x more responses when you reach out via email instead of LinkedIn. Beyond Your Network H X D S Y Howie Chan & 4 connections From Your Previous Company F F F & 2 connections Previously@undefined and... From Your School F F F & 2 connections @undefined and... Find Any Email 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. 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 Qualification Represents the skills you have Find out how your skills align with this job's requirements. If anything seems off, you can easily click on the tags to select or unselect skills to reflect your actual expertise. Model checking Formal verification SAT/SMT solving Automated reasoning Programming language theory Data structures Algorithms Mathematical logic Automata theory Functional programming Problem-solving skills Collaboration Required 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 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 Benefits Medical, vision, and dental insurance 401(k) plan with company matching Life and accidental death and dismemberment insurance HSA (with high deductible plan) FSA Flexible paid time off Holidays Variable commission program for business development sales roles