Current Opening

Software Engineering Research Intern

How to Apply:

Please click here and submit your application along with relevant documents.

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 who are 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.

For more on our organizational structure, visit Life at Galois.

About This Role:

Galois is currently seeking software engineering and research students for our summer internship program. We are committed to matching interns with exciting and engaging engineering work that fits their particular interests, creating lasting value for interns, Galois, and our community. A Galois internship is a chance to tackle cutting-edge, meaningful problems in a uniquely collaborative environment with world-leading researchers.

Roles may include technology research and development, requirements gathering, software engineering, testing, formal verification, and infrastructure development. Past interns have integrated formal methods tools into larger projects, built comprehensive validation suites, synthesized high-performance cryptographic algorithms, written autopilots for quad-copters, designed the syntax and semantics of scripting languages, and researched type system extensions for academic publication.

We deeply believe in providing comprehensive support and mentorship to all of our employees. We provide our employees with a steward who regularly checks in to ensure that they feel welcome, engaged and safe in the Galois community while gaining real value from their experiences.

Important Information: Internships typically last 12 weeks, though internship periods are flexible. Please specify in your application the dates you are available.

Key Qualifications:

  • Pursuit of an advanced degree in computer science, math, software engineering or computer engineering 
  • Experience reading, writing, and maintaining code in a project as described above
  • Proficiency in software development practices such as design, documentation, testing, and the use of version control
  • Well-developed verbal and written communication skills; comfort in a collaborative team environment

Preferred Qualifications: (the following skills are not required but may be relevant to a particular project)

  • Proficiency in programming languages with rich type systems (eg.,  Haskell, OCaml, Standard ML, Scala)
  • Experience using C and assembly languages for low-level systems programming
  • Development experience in high assurance systems or security software
  • Specific experience in an area of Galois’ expertise, such as:
  • Assured information sharing
  • Software modeling and formal verification
  • Machine Learning
  • Data Science
  • Cyber-physical systems and control systems
  • Operating systems, virtualization and secure platforms
  • Networking technology
  • Cyber defense systems
  • Scientific computing
  • Program analysis and software evaluation


For this opportunity, we prefer you relocate for the length of the internship to a Galois, Inc. office location in Arlington, VA, Minneapolis, MN, or Portland, OR. Remote work may be possible.

How to Prepare

An internship is an opportunity for learning and growth as an engineer. To make the most of the opportunity, we ask that candidates have experience reading, writing, and maintaining code in a realistic project. Many university courses involve multi-week collaborative projects that provide this type of experience.

Many of our projects use programming languages with rich type systems (eg., Haskell, OCaml, Standard ML, Scala) and the git version control system. These tools aren’t often taught in computer science classes and experience with them is not a prerequisite for all internships but there are many free resources available that we recommend for learning:


The internship is paid competitively, and, if located in an office, interns are provided with a housing stipend.

How to Apply:

Please click here and submit your application along with relevant documents.