Research Engineer – Secure Operating Systems and Virtualization

At the core of the Internet Computer lies a WebAssembly-based virtual execution environment that runs user-provided code (canister) and enables that canister to interact with other canisters as well as receive calls from external parties.

As the Internet Computer is a self-governed open distributed system, security of the virtualization environment is absolutely critical.

We are looking for an experienced researcher and engineer in the area of secure virtualization who will participate in the design, analysis and implementation of the Internet Computer.

Responsibilities:

  • Work closely with a distributed team of researchers, engineers, and experts in the field of distributed systems, virtual machines, programming languages, and cryptography.

  • Address the security aspects of the design, analysis, and implementation of a new domain-specific operating system (including security against side-channel attacks)
  • Contribute to documentation, test suites, tools, and libraries supporting these systems
  • Lead or participate in scientific publications and engage in conferences in related subject fields

Requirements:

  • At least 3 years of relevant academic or equivalent experience in operating systems, distributed systems, concurrency, security, and related fields
  • At least 2 years of experience in systems programming (C/C++, Rust)ย 
  • Solid understanding of the theory and practice of advanced concurrent and distributed systems
  • Working understanding of operating systems, compilers, and virtual machines, ideally including knowledge of WebAssembly
  • Ability to work autonomously as part of a distributed team
  • PhD degree in Computer Science or related field or equivalent experienceย