Software Engineer - Node Engineering

DFINITY Stiftung

Apply
  • Publication date:

    02 March 2024
  • Workload:

    100%
  • Contract type:

    Permanent position
  • Place of work:

    Zürich

Software Engineer - Node Engineering

About the Node Engineering team and role: 

The Node Engineering Team at DFINITY leads the development of IC-OS, the operating system powering the machines (nodes) that form the Internet Computer. Our mission involves managing node life cycles, ensuring privacy, integrity, and secure computing, as well as overseeing the high-level structure of IC services. You will be at the forefront of tackling challenges at the intersection of security, scalability, performance, and ease of use.

This position involves working across the entire backend of the Internet Computer, requiring collaboration and a deep understanding of core engineering principles. You will be pivotal in detangling and simplifying the complexity of nodes, utilizing your experience and your ability to learn quickly. You’ll work on improving build speed, determinism, leveraging cutting-edge technologies for security enhancements, and optimizing hardware performance. We’re looking for a T-shaped expert and generalist, capable of rapidly acquiring new expertise and collaborating seamlessly across teams, continents, and silos.

Experience and requirements:


  • General software engineering skills with a strong inclination for systems and a solid understanding of networking.

  • Proficiency in Docker, Rust, Shell scripting, and Bazel.

  • Ability to install, upgrade, and monitor software across adversarial networks.

  • Proficiency in reasoning about the behavior of a network containing adversarial nodes.

  • Track record of automating network operations for "lights-out" functionality, minimizing human interventions.

  • Curiosity to delve deep into network and hardware-related aspects.

  • Previous experience improving build speed and determinism.

  • Familiarity with technologies such as SEV-SNP for enhancing system security.

  • Experience in shipping significant software systems or tooling within a medium to large-scale organizations.

  • Experience deploying and operating systems that run 24x7x365, including building necessary monitoring, alarming, and tooling.

  • Demonstrated ability to build systems that are loved by software developers and end-users.

  • Bachelor's degree or above in Computer Science or a closely related field. While advanced degrees are valued, practical experience takes precedence.

* Please note that this role requires in-office work from our amazing office in Zurich 3 days per week


Apply