Software Engineer III to Principal
Certik
π΅ $115k-$230k
πRemote - United States
Please let Certik know you found this job on JobsCollider. Thanks! π
Job highlights
Summary
Join CertiK, a leading blockchain security company, as a Research Software Engineer to contribute to the development of automated analysis tools for provably secure blockchain applications. You will design and develop tools ensuring smart contract correctness and identifying security issues. Leveraging techniques like symbolic model checking and SAT/SMT solving, you'll participate in all stages of tool development. This role requires a background in programming language theory and automated reasoning, along with proven problem-solving skills and collaborative spirit. The position offers a competitive salary and a comprehensive benefits package.
Requirements
- 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
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
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
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 and holidays
- Variable commission program for business development sales roles
Share this job:
Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.
Similar Remote Jobs
- π°$166k-$208kπUnited States
- πIndia
- π°$133k-$199kπUnited States