Distributed Systems Engineer

September 19, 2024

Job Overview

  • Date Posted
    September 19, 2024
  • Location
  • Expiration date
    October 17, 2024
  • Experience
    4 Year

Job Description

We are a team of builders and researchers on a mission to empower enterprises and developers worldwide to access and build on decentralized systems.

Our expertise covers several domains: Ethereum and Starknet protocol engineering, layer-2, cryptography research, protocol research, decentralized finance (DeFi), security auditing, formal verification, real-time monitoring, smart contract development, and dapps and enterprise engineering.

Working to solve some of the most challenging problems in the blockchain space, we frequently collaborate with renowned companies, such as Ethereum Foundation, Starknet Foundation, Gnosis Chain, Flashbots, Forta Protocol, Lido, EigenLayer, Open Zeppelin, RISCZero, Aleph Zero, and many more.

Today, we are a 350+ strong team working remotely across 66+ countries.

View all our open positions here: https://www.nethermind.io/open-roles

At Nethermind, we offer Evergreen Roles in key areas of our business. These are positions that are continuously open for applications, reflecting our ongoing need for top talent in critical fields. By applying to an evergreen role, you’re joining our talent pool for future opportunities.

About the role:

The role of our Protocol Engineering team is to build state-of-the-art blockchain clients (nodes).

  • R&D working culture
  • Designing and building distributed and fault-tolerant systems
  • An appreciation of scalable, high availability, and low latency architectures
  • Implementing networking layer and P2P protocols
  • Processing and management of large data sets with strict real-time performance requirements
  • Optimizing software performance
  • Opportunity to work with the top software engineers and research professionals to solve the toughest technical challenges
  • Working with the latest tools and technologies
  • Troubleshooting

Must Haves:

  • Ability to implement efficient algorithms and design complex data structures
  • Excellent programming skills, C# or Rust or GO preferred but will also consider other tech stacks (e.g. Java, C++)
  • An understanding of good software architecture
  • Ability to write clean, testable and maintainable code without over-engineering
  • An entrepreneurial nature, willing to take ownership and run toward problems
  • Several years of experience in software development
  • Strong computer science background
  • A fascination with the inner workings of blockchains

Nice to Haves:

  • Distributed networks (P2P)
  • Performance and memory optimisations
  • Blockchain / EVM / TransactionPool / JSON RPC
  • Complex data structures for example Patricia-Merkle/Verkle tries
  • NoSQL Key Values databases for example RocksDB
  • Cryptography

Examples of projects the team has worked on:

  • Building of Ethereum client from scratch
  • Implementation of Snap Sync protocol that improves the speed of Ethereum node synchronization over the network
  • The Merge – implementation, and migration from Proof of Work to Proof of Stake
  • Performance improvements to an internal virtual machine (EVM)
  • Improvements to memory management
  • Design and implementation of efficient and robust data stores and caching
  • Libp2p implementation in C#