Distributed Systems Engineer - Nethermind
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
Skills:
- 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 towards problems
- Several years of experience in software development
- Strong computer science background
- A fascination with the inner working of blockchains
- 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
- 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#
Perks and benefits:
- Fully remote
- Flexible working hours
- Plus equity
Apply Now