Distributed Systems Engineer
Edge & Node is a creative software development company working to build a vibrant, decentralized future. Founded by the initial team behind The Graph, Edge & Node is dedicated to the advancement of web3, a decentralized and fair internet where public data is available to all—an internet that enables its users to increase agency over their creations and their lives.
Edge & Node’s initial product is The Graph, an indexing protocol for querying networks like Ethereum and IPFS, which ensures open data is always available and easy to access. The Graph is used by thousands of protocols and dapps including Uniswap, Livepeer, Aave, Decentraland, and more. Edge & Node also launched Everest, a decentralized registry with the mission to catalyze the shift to web3, facilitating community-driven curation of projects providing ongoing utility to the crypto space.
The Graph-Node Engineering team is focused on building and maintaining core software components that make The Graph work. We are especially focused on graph-node, an Open Source Rust project that provides the core indexing capabilities of The Graph.
What You’ll Do
- Planning, developing, testing and shipping new features and improvements to software components powering The Graph Network and hosted service.
- Working with research and product teams to build great developer and user experiences that are consistent across all parts of the protocol and incorporate the latest results from our research team.
- Interacting with and supporting our growing community of developers and network participants, such as decentralized app developers and indexers.
- Reviewing the work done by other team members.
What We Expect
- Experience in creating and maintaining complex distributed, concurrent and low-level software systems. The Graph is a decentralized protocol in which a lot of pieces work together.
- Experience in working with external contributors and community members. We collaborate and interact with our growing community of developers and indexers every day. A high quality bar, attention to detail and excellent communication skills are key aspects in how we work.
- Strong sense of ownership. We trust everyone on the team a great deal. A big part of that is that our engineers own the topics they work on, raise issues early and see implementations through from start to finish.
- Experience with low-level languages like C/C++ and languages with advanced type systems such as Rust, TypeScript or Haskell. Particularly relevant areas/tech include: PostgreSQL and databases in general, asynchronous programming and threads, microservice architectures, performance optimizations, caching, and API frameworks such as GraphQL. Experience with Ethereum and other blockchain nodes and their public APIs is a plus.
- We are looking for engineers with a background in at least one of the following areas, and encourage applicants to indicate in which of these areas they are most interested in expanding their expertise:
- Familiarity with Docker, Kubernetes, NGINX and other infrastructure technologies.
- Knowledge of cryptography and security best practices. The hosted service and Graph Network are running in production. Hashing, signing, cryptographic proofs and verification play a big role in the security and correctness of the network.
- Experience with testing highly distributed systems that involve a number of components and complex networking.
About The Graph
The Graph is the indexing and query layer of web3. The Graph Network’s self service experience for developers launched in July 2021. Developers build and publish open APIs, called subgraphs, that applications can query using GraphQL. The Graph supports indexing data from multiple different networks including Ethereum, NEAR, Arbitrum, Optimism, Polygon, Avalanche, Celo, Fantom, Moonbeam, IPFS, and PoA with more networks coming soon. To date, tens-of-thousands of subgraphs have been deployed on the hosted service, and now subgraphs can be deployed directly on the network. Over 28,000 developers have built subgraphs for applications such as Uniswap, Synthetix, KnownOrigin, Art Blocks, Balancer, Livepeer, DAOstack, Audius, Decentraland, and many others.
If you are a developer building an application or web3 application, you can use subgraphs for indexing and querying data from blockchains. The Graph allows applications to efficiently and performantly present data in a UI and allows other developers to use your subgraph too! You can deploy a subgraph to the network using the newly launched Subgraph Studio or query existing subgraphs that are in the Graph Explorer. The Graph would love to welcome you to be Indexers, Curators and/or Delegators on The Graph’s mainnet. Join The Graph community by introducing yourself in The Graph Discord for technical discussions, join The Graph’s Telegram chat, and follow The Graph on Twitter, LinkedIn, Instagram, Facebook, Reddit, and Medium! The Graph’s developers and members of the community are always eager to chat with you, and The Graph ecosystem has a growing community of developers who support each other.
The Graph Foundation oversees The Graph Network. The Graph Foundation is overseen by the Technical Council. Edge & Node, StreamingFast, Messari, Semiotic and The Guild are five of the many organizations within The Graph ecosystem.