Galois, Inc.

Research Engineer

Galois, Inc.

full-time

Posted on:

Location Type: Hybrid

Location: PortlandMassachusettsMinnesotaUnited States

Visit company website

Explore more

AI Apply
Apply

Tech Stack

About the role

  • 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 software systems, and constructing deeper program 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.

Requirements

  • A minimum of a Bachelor's degree in computer science or equivalent is required.
  • A programming languages background and experience with formal methods.
  • Must have hands-on experience developing software and applying formal verification techniques.
  • Familiarity with diverse formal methods, such as model checking, theorem proving, program analysis, and formal semantics of programming languages, and demonstrated expertise in at least one such area.
  • Experience in all aspects of software engineering practices.
  • Fluent in using semi-formal methods such as Haskell or other functional programming languages, including executable formal specifications.
  • 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 more of the following technical expertise:
  • Direct experience in developing high-assurance systems and/or security products.
  • Experience with Model Based Systems Engineering tools, with expertise in SysML and AADL.
  • Knowledge of hardware engineering languages and platforms such as VHDL, Chisel, Bluespec, SystemVerilog, and Verilog.
Benefits
  • Employee Stock Ownership Plan (ESOP)
  • 401(k) retirement plan with 5% employer match and immediate vesting
  • Fully paid medical insurance plans and dental and vision reimbursement plan
  • Health Savings Account (HSA) with generous employer contributions
  • Mental health and wellbeing support through our employee assistance program
  • 5 weeks of paid time off and 9 days of paid company holidays each year
  • 16 weeks of fully paid parental leave (available for birth, adoption, and fostering)
  • 1 week of fully paid “Blue Sky” innovation time each year to pursue your interests

Applicant Tracking System Keywords

Tip: use these terms in your resume and cover letter to boost ATS matches.

Hard skills
programming languagesformal methodssoftware developmentformal verification techniquesmodel checkingtheorem provingprogram analysisHaskellSysMLVHDL
Soft skills
communication skillswritten skillsverbal skillspresentation skillsself-managementmotivationrapport buildingneeds identification
Certifications
Bachelor's degree in computer science