Role Description

Free & Fair (F&F) seeks an experienced assurance engineer—a developer who is thrilled to work on high-assurance open source elections technologies that demonstrate what is possible with modern applied formal methods-based development processes, methodologies, tools, and techniques.  Our focus on national critical infrastructure, transparent engineering, and formal assurance makes this opportunity unique.

Responsibilities

  • Collaborate well in a tightly-knit distributed team
  • Learn from other members of the team
  • Teach other members of the team about your current and new areas of expertise 
  • Communicate to the public about your areas of expertise and responsibility
  • Learn new concepts, tools, and technologies every day and apply that knowledge in practice
  • Eat your own dog food
  • Work in a professional manner in a public venue on nationally critical infrastructure
  • Take pride in your work
  • Always be authentic about everything you do
  • Communicate well, both face-to-face and in writing
  • Find joy at work, and work to live, not live to work
  • Very little travel is required (under 5 nights per year), but there are travel opportunities for candidates with an interest (circa 20 days per year) for participating in occasional elections conferences, visits to collaborators or clients, or trips to Washington D.C. to interact with federal authorities
  • Take responsibility for polishing, reflecting upon, teaching about, and managing the assurance artifacts, tools, and infrastructure across our multiple R&D projects

Qualifications

  • University degree(s) in Computer Science or comparable experience
  • Practical experience with collaborative distributed development
  • Well-versed in the use of collaborative environments like GitHub, GitLab, etc.
  • Knowledge of at least two kinds of programming languages (structured/modular, object-oriented, functional, logical, etc.)
  • Deep knowledge of the C programming language
  • At least an appreciation for, and at best expertise in, one or more functional programming languages
  • Familiarity with, or at least a willingness to learn, a design-by-contract development methodology
  • Experience with at least one formal reasoning technology
  • Deep developer and user knowledge of Linux and/or other UNIXen
  • Familiarity with the Windows and macOS operating systems
  • Familiarity with, or at least a willingness to learn and use, new programming and specification languages such as ACSL and Cryptol
  • Familiarity with, or at least a willingness to learn and use, new tools for rigorous systems engineering
  • Familiarity with, or at least a willingness to learn and use, Real-Time Operating Systems (RTOS)

Preference will be given to candidates with:

  • A historical knowledge of software/systems engineering
  • Historical experience in formal methods, software assurance, or hardware assurance
  • Experience with rigorous engineering methodologies, especially those based upon applied formal methods such as formal specification and verification, design-by-contract, and refinement-based design methods
  • Strength in pure or applied mathematics or formal logic
  • Experience with at least one logical framework/HOL (Coq, PVS, Isabelle, HOL, etc.)
  • Experience with at least one security reasoning tool (model checking, symbolic, computational, logical, etc.)
  • Experience with at least one software verification tool (model checking, logic-based, etc.)
  • Experience with at least one hardware verification tool (e.g., JasperGold)
  • Published peer-reviewed research
  • Long public experience with open source
  • Deep understanding of voting system requirements 
  • Familiarity with E2E-V research literature, architectures, and protocols
  • In-depth knowledge of Linux or FreeRTOS
  • Practical experience with FPGAs
  • Hands-on experience with the RISC-V ISA and its ecosystem
  • Knowledge of more than one ISA
  • Embedded systems design and development experience
  • Practical experience with, or at least a willingness to learn about, hardware design (either RTL-level or PCBs)
  • Practical experience with software or hardware security, particularly hardware or software reverse engineering, common software weaknesses and vulnerabilities, threat modeling, or risk analysis
  • Practical experience in applied cryptography (from algorithm and protocol specification to the design, development, or use of cryptographic libraries or HSMs)
  • A love of democracy and a concern with the world’s elections infrastructure

Free and Fair Technology

The technology that Free & Fair creates, and the research and development that we do, is rigorous, leverages applied formal methods, uses informal and formal system specifications, and realizes a design-by-contract-via-refinement implementation methodology.  Our focus in 2019 through 2021 is on a cryptography SDK for Microsoft (ElectionGuard) and a fully-featured open source and open hardware voting system demonstrator for DARPA-funded secure hardware.  

This latter system, called the BESSPIN Voting System, will be debuted at DEF CON 2020. An early version was demonstrated at DEF CON 2019.  Releases leading up to DEF CON 2020 will include additional components of a full-blown traditional and End-to-End Verifiable (E2E-V) supervised voting system, including a public bulletin board, controller, electronic pollbook, and an optical scan system capable of interpreting hand-marked paper ballots.

We regularly work with federal and state authorities, jurisdictions across the USA, and other governments to help everyone wisely use technology to make elections more trustworthy. Consequently, you won’t find us developing an Internet or mobile voting system, you won’t find us developing proprietary systems or using closed data formats, and you certainly won’t find us using or promulgating blockchain.

About Free and Fair

Free & Fair is a Public Benefit (Class B) corporation whose focus is research and development of technologies that help foster and realize trustworthy elections.  We provide elections services and systems meeting the same reliability and security standards as the US federal government demands for national security. Our system designs and architectures are reviewed by the world’s foremost experts in academia and industry.  Our products are open source, provably correct, and secure, and we provide independently verifiable evidence of their correctness and security. Our mission is to help election officials and the voting public take back control of their elections technologies, and our goal is to usher in a new era of provably secure elections.

Our full-time development team is located in downtown Portland, Oregon.  We also have a number of remote performers with specialized roles, in the USA and the EU.

Free & Fair is an equal opportunity employer.  We very much welcome all candidates. We have competitive salaries, excellent benefits including radical maternity/paternity leave, and especially welcome working parents who value flexible schedules.

Contact us with your resume at jobs@freeandfair.us.

Free & Fair is a spin out of Galois.