Current Opening

Programming Languages Software Research Engineer



Galois, Inc., Arlington, VA, Multiple Openings

Duties: Research and develop advanced software technology for software assurance. Scope of responsibility includes proposal generation, requirements gathering, architecture and design, implementation, formal verification, testing and validation. Additional duties may include project management, technology research and development, technical infrastructure development, and technical marketing support. Programming language design and implementation activities unique to this position include advancing the state of the art in programming language theory research and implementation, developing typed programming languages, designing programming language analysis frameworks, implementing compilers and supporting runtime systems, and applying programming language technologies to software. Up to 5% travel, domestic and international, may be required to attend technical conferences and client meetings.


Education: PhD in Computer Science, Computer Engineering, or closely related field (or foreign equivalent)

Experience: Two years’ experience as a Researcher, Research Engineer, Research Assistant, Teaching Assistant or similar position

Skills / Requirements:

Two years’ experience (academic or professional employment) with each of the following:

  1. Developing software analysis and verification tools and libraries
  2. Constructing high-level specifications of software systems and constructing deeper program analyses to validate such specifications by fleshing out verification prototypes
  3. Conducting speculative research and development of static code analysis technology, and incorporating that technology in product prototypes
  4. Using reasoning tools such as theorem provers or model checkers to demonstrate and analyze desired security and correctness properties of systems
  5. Constructing and conducting system, unit and regression tests as well as semi-formal validation and verification

Minimum 3 peer reviewed publications (journal or conference publications).

All education, experience, skills and requirements may be gained concurrently.

About Galois

At Galois, we specialize in researching and developing technologies that solve computer science’s most challenging problems, particularly working to guarantee the trustworthiness of systems where failure is unacceptable. Our organizational structure is collaborative and based on well-defined accountabilities and authorities, transparency, and stewardship principles. Project teams involve multiple engineers and researchers, likely including team members from academia, industry partners, and government agencies, and range from a few months to several years.

We aspire to provide employees with something that matters to them beyond just a paycheck—including opportunities to learn, career development, employee ownership, and a sense of community. In looking for the very best candidates, we celebrate differences, knowing that a team of varied backgrounds, perspectives, and skills will best deliver Company success. The more inclusive we are, the better our work will be.

We are looking for people who can invent, learn, think, and inspire. We reward creativity and thrive on collaboration. If you are interested, please apply.