Current Opening

Graduate Software Engineering Research Intern

Galois is currently seeking graduate 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.

Qualifications

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

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

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:

Learn You a Haskell for Great Good! by Miran Lipovača
Real World Haskell by Bryan O’Sullivan, Don Stewart, and John Goerzen
tryGit by Code School
Pro Git by Scott Chacon
LeanProver

Logistics

The internship is paid competitively, and, if located in an office, interns are provided with a housing stipend. 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. 

About Galois 

Galois develops technology to guarantee the trustworthiness of systems where failure is unacceptable. We apply cutting edge computer science and mathematics to advance the state of the art in software and hardware trustworthiness. At Galois, we maintain a unique organizational structure tailored to the needs of the innovative projects we deliver. Our organizational structure is collaborative, one-level flat, and based on principles of well-defined accountabilities and authorities, transparency, and stewardship. We aspire to provide employees with something that matters to them beyond just a paycheck — whether it be opportunities to learn, career growth, a sense of community, or whatever else brings them value as a person. 

We believe in individual freedom in the roles we choose, and in the projects we pursue — our research focus areas are the intersection of staff interests and corporate strategy. 

We choose practices that best suit the project, team, and leaders, with company-wide standards kept to a minimum to ensure we are making the right choices for the situation rather than just business-as-usual choices. 

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

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