Formal Methods Engineer – Midnight


Are you ready to make a significant impact in the world of cutting-edge technology and data protection? Midnight is seeking a Formal Methods Engineer to join our dynamic team and help revolutionize our state-of-the-art data protection-based blockchain platform. If you are passionate about formal methods, excited about creating software that meets the highest standards of reliability and security, and ready to contribute to the future of technology, we want to hear from you!

About Midnight:

Midnight is a groundbreaking, regulatory-friendly data protection-based blockchain designed to safeguard sensitive commercial and personal data, all while upholding fundamental freedoms. Operating as a Cardano sidechain, Midnight combines a data protection-first programming model with Zero-Knowledge (ZK) proofs to deliver unmatched security and privacy.

Your Role:

As a Formal Methods Engineer at Midnight, you will be a vital member of our engineering team, responsible for applying formal methods techniques to verify and validate software systems. Your contributions will be crucial in the development of highly reliable and safety-critical software, ensuring strict adherence to industry standards and regulations.

Key Duties:

  • Apply formal methods, including Agda modelling and proofs, model checking, theorem proving, and abstract interpretation, to verify the correctness, safety, and security of software systems.
  • Collaborate with software architects and engineers to analyse and refine software requirements, ensuring they are clear, complete, and verifiable.
  • Develop formal specifications and models of software systems, including safety and security properties.
  • Utilize model checking tools and techniques to verify software against formal specifications, identifying and resolving issues.
  • Employ theorem proving tools and techniques to formally prove the correctness of software and safety properties.
  • Generate test cases from formal models and specifications to supplement formal verification efforts.
  • Maintain detailed documentation of formal methods, processes, findings, and verification results.
  • Collaborate with cross-functional teams, including software developers, system engineers, and domain experts, to ensure the successful application of formal methods.
  • Provide guidance and mentorship to junior engineers and team members in the application of formal methods.

Key Competencies:

  • Critical and creative thinking to assess the applicability of formal methods to various software engineering challenges and adapt formal techniques to specific problems.
  • Strong mathematical skills, particularly in areas such as logic, discrete mathematics, and formal logic.
  • Effective communication skills, including the ability to explain complex formal concepts and findings to both technical and non-technical stakeholders.
  • Collaboration with cross-functional teams to integrate formal methods into the software development process.


  • Bachelor’s, Master’s, or Ph.D. in Computer Science, Maths, or a related field.
  • Working knowledge of Agda.
  • Proven experience in the application of formal methods to verify and validate complex software systems, particularly in safety-critical domains.
  • Strong knowledge of software development processes, software architecture, and system design.
  • Experience working and collaborating with Git.

If you are excited about making a difference in the world of technology and data protection, and if you have a passion for formal methods and software verification, we encourage you to apply. Be part of our team and help build a secure and privacy-focused future.


  • Flexible schedule
  • Remote work
  • Laptop reimbursement
  • New starter package to buy hardware essentials (headphones, monitor, etc)
  • Learning & Development opportunities
  • Competitive PTO 
  • Medical Benefits


At IOG, we value diversity and always treat all employees and job applicants based on merit, qualifications, competence, and talent. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.