Data Engineer, Rust
[Edge & Node] stands as a leading force in the realm of web3, envisioning a future where individual autonomy, shared self-sovereignty, and limitless collaboration power the world. Founded by the innovative minds behind [The Graph], our mission is to establish The Graph as the unbreakable cornerstone of open data on the internet. By standardizing subgraphs across the industry, we have solidified The Graph as the definitive method for organizing and accessing blockchain data. Leveraging our profound expertise in developing open-source software, tooling, and protocols, we empower builders and entrepreneurs to create groundbreaking applications with revolutionary digital infrastructure.
At the core of our principles lies a steadfast commitment to shaping a decentralized internet that is free from concentrated power, where collective consensus determines truth rather than authoritarian rule. We advocate for censorship resistance to uphold our vision of an information age liberated from single-entity control. By embracing open-source development, we challenge the status quo of web2, recognizing that true innovation thrives on transparency and collaboration. We envision a permissionless future where the restrictions imposed by central gatekeepers are not just dismantled but relegated to the past. Most importantly, our trust transitions from unreliable middlemen to trustless systems, harnessing smart contracts to eradicate traditional vulnerabilities related to trust.
The Graph Network Engineering team is dedicated to crafting and maintaining the core software components that drive The Graph's functionality. Our focus is particularly on graph-node, an open-source Rust project that offers the fundamental indexing capabilities of The Graph.
We are seeking a Data Engineer with a profound understanding of relational databases and modern data stacks, as well as a penchant for coding in Rust. As a Rust Data Engineer at E&N, you will not only utilize Rust data tools but also construct our general-purpose blockchain data systems and contribute to our dependencies.
Responsibilities:
- Enhancing Graph Node's capacities as a data processing and querying engine within the Graph Node team.
- Immersing in the intricate Rust codebase of Graph Node.
- Using subgraphs to comprehend the specifications imposed by Graph Node and enhance the developer experience for our users.
- Analyzing existing code and design choices to explore potential improvements and experimentation.
- Conducting performance tests, assessing proposed changes quantitatively, and monitoring the outcomes post-implementation.
- Validating your ideas through experimentation and potentially refuting them if necessary.
- Reviewing colleagues' pull requests attentively and assuming responsibility for the checked code.
- Documenting essential aspects of the software to aid independent operators in comprehending how to operate, configure, and monitor Graph Node.
Requirements:
- Demonstrated contribution of over 10,000 lines of code to a production software product.
- Natural inclination towards thinking about data in SQL terms.
- Understanding of data system theory, including relational algebra, and familiarity with fundamental DB data structures and formats.
- Interest in higher-level query languages like GraphQL and federated data/query frameworks.
- Ability to analyze how minor design choices can significantly impact big data systems.
- Comfort working with existing systems and codebases to make substantial refinements while maintaining backward compatibility.
- Proficiency in tracing and debugging complex software.
- Understanding of the academic background and theory behind the software libraries used, balanced with the need to deliver functional software promptly.
About The Graph:
The Graph serves as the indexing and query layer for web3, providing a self-service experience for developers with the launch of The Graph Network in July 2021. Developers create and publish open APIs named subgraphs that applications can query through GraphQL. The Graph supports data indexing from several networks, such as Ethereum, NEAR, Arbitrium, and more. The ecosystem hosts tens-of-thousands of subgraphs, enabling developers to build applications like Uniswap, Synthetix, Decentraland, and others, leveraging the efficiency of The Graph's index and query capabilities.