Software Engineering/Research Intern

Apply for this Position

Application Form     (* indicates required field)

Please attach the following files

Please upload either a word or PDF version of your cover letter for this position.
Please upload either a word or PDF version of your current resume.
Such as letters of recommendation, work examples, etc.

Please answer the following questions to help us better evaluate your application.

To finalize your application, please confirm you are not a bot

Galois is currently seeking software engineering and research interns at all collegiate educational levels. 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, implementation, 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, particularly interns. We provide our employees with a steward who regularly checks in to ensure that they feel welcome and safe in the Galois community while gaining real value from their experiences.

Important Information

  • Applications accepted year round and are reviewed monthly.
  • Internships typically last 12 weeks.
  • Internship period is flexible. Please specify in your application the dates you are available, typically looking 2-12 months in the future.

About Galois

Our mission is to create trustworthiness in critical systems. We’re in the business of taking blue-sky ideas and turning them into real-world technology solutions. We’ve been developing real-world systems for over ten years using functional programming, language design, and formal methods.

Galois values diversity. We believe that differing viewpoints and experiences are essential to the process of innovation. We look broadly, including outside of established communities, to deliver innovation.

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.

Most of our projects use the Haskell programming language and the git version control system. These tools aren’t often taught in computer science classes, but there are many free resources available that we recommend for learning:


  • The ability to be geographically located in Portland, OR or Arlington, VA during the internship
  • 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

The following skills are not required, but may be relevant to a particular project.

  • Proficiency in Haskell or other programming languages with rich type systems (eg., 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
    • Cyber-physical systems and control systems
    • Operating systems, virtualization and secure platforms
    • Networking technology
    • Cyber defense systems
    • Scientific computing
    • Program analysis and software evaluation


The length and start date of the internship are negotiable: starting any time in the year is acceptable, but an intern must be at Galois for at least three continuous months. The internship is paid competitively, and interns are responsible for living arrangements (although we can certainly help you find arrangements). The Portland office is located in the heart of downtown with multiple public transportation options available and world-class bicycle infrastructure. Our Arlington office is in the Ballston area and has great public transportation options as well. Our Dayton location is downtown in a newly renovated building. 

Location: Portland, OR
Apply for this Position
Apply at: