Systems/Hardware Formal Verification Research Engineer
GaloisAbout the role
About Galois
Galois tackles the hardest problems in computer science. Our mission is to assure trust in critical systems that protect the privacy and integrity of information in the real world. Core to this is the application of formal analysis techniques that allow systems to be modeled, analyzed, and mathematically proven correct to ensure that a system behaves exactly as we intend under all circumstances.
We are a community of researchers, engineers, and operations people dedicated to creating trustworthiness in critical systems in every functional area of the organization. Our organization is highly collaborative, and we pursue working from first principles, transparency, building deep trust, learning and innovating, and creating space for you to be authentically you. Our unique organizational structure enables us to adapt to the needs of the innovative projects we deliver.
We are employee-owned and aspire to provide employees with a sense of freedom to pursue passions in and out of work — whether it be opportunities to learn, career growth, a sense of community, or whatever else brings you value as a person.
Research Engineers at Galois design and develop advanced technologies for safety- and security-critical systems, networks, and applications. Engineers work in small team settings and must successfully interact with clients, partners, and other employees in a highly cooperative, collaborative, and intellectually challenging environment.
Our research engineers work in small teams and successfully interact with clients, partners, and other employees in a highly collaborative environment. We’re looking for people who can invent, learn, think, and inspire.
For more on our organizational structure, visit Life at Galois.
About This Role
We are currently seeking researchers/engineers with formal methods expertise to perform research on hardware verification challenges. Hardware assurance is pivotal in fulfilling our mission to make critical systems trustworthy.
Responsibilities
As a Research Engineer, you will have the following responsibilities:
- Requirements gathering: engaging the client in a series of discussions, where each iteration refines the needs of the client, and leads to the suggestion of means to meet those needs.
- Architecture and design: constructing high-level architectural descriptions of systems, and constructing deeper designs by fleshing out architecture prototypes. Architectures must be designed with assurance in mind, determining where and how formal methods are to be applied.
- Implementation: extending design prototypes through to a finished product, with care taken to ensure robustness and ease of use.
- Formal verification: use mechanical reasoning tools such as theorem provers and model checkers to demonstrate or analyze desired security and correctness properties of systems.
- Testing and validation: constructing and regularly conducting system, unit, and regression tests, and conducting semi-formal validation and verification.
- Technology research and development: conducting speculative research and development of cutting-edge technology, and incorporating that technology in product prototypes.
- Technical infrastructure development: developing (designing, implementing, and maintaining) tools to be used within Galois, and developing library code to be shared among projects.
Key Qualifications
- Education - A minimum of a Bachelor's degree in computer science, electrical or computer engineering, or equivalent is required. An MS or PhD in CS, ECE, EE, or a related field is desirable but optional.
- Required Technical Expertise:
- In-depth understanding of formal verification principles, methods, and relevant standard industry practices.
- Demonstrated experience in logic-based formal verification, including formal modeling languages and verification techniques (e.g., model checking, constraint solving, theorem proving).
- Expertise in applying formal property verification on micro-architectures.
- Must have hands-on experience developing systems and applying formal verification techniques.
- Knowledge of hardware engineering languages and platforms such as Chisel, Bluespec, SystemVerilog, and Verilog, as well as programming languages such as Haskell, Verifiable C, or Rust, is necessary.
- Required General Skills:
- Must work well with customers, including building rapport, identifying needs, and communicating with strong written, verbal, and presentation skills.
- Must be highly motivated and able to self-manage deadlines and quality goals.
- Preference will be given to candidates with one or m
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s