About the position
Edge & Node is seeking an experienced and highly motivated software engineer to join their Graph-Node Engineering team. The team is responsible for building and maintaining core software components that make The Graph work, with a focus on graph-node, an Open Source Rust project that provides the core indexing capabilities of The Graph. The ideal candidate should have a deep understanding of Rust, familiarity with developing open source software, and prior infrastructure and database experience. The engineer will be responsible for developing and implementing optimizations for The Graph’s Hosted Service and graph-node codebase, writing reusable, testable and efficient code in Rust, and participating in design meetings with engineers from external core development teams.
Responsibilities
- Work closely with both operations and development engineers to understand where improvements to our codebase are needed
- Participate in design meetings with engineers from external core development teams and review their PRs as needed
- Design, engineer, and implement a number of high priority improvements for The Graph’s Hosted Service platform
- Analyze requirements for already specified initiatives, develop novel solutions for new issues, and translate them into feature designs
- Write reusable, testable and efficient code in Rust
- Write both unit and integration tests, and help to develop automation tooling for repeated tasks
- Demonstrate experience in and deep understanding of Rust required; additional experience with Assemblyscript/Typescript preferred
- Be familiar with open source software development process
- Have a solid understanding of software design patterns, and how to build components that are reusable, extensible, and modular
- Have some understanding or awareness of blockchain or distributed technology preferred
- Participate in rotating on-call duty during working hours required
- Have experience with ops and infrastructure (e.g., testing, tooling) and Postgres databases strongly preferred
- Prove ability to collaborate effectively asynchronously with a multinational team spanning numerous time zones.
Requirements
- Demonstrated experience in and deep understanding of Rust required; additional experience with Assemblyscript/Typescript preferred
- Familiarity with open source software development process
- A solid understanding of software design patterns, and how to build components that are reusable, extensible, and modular
- Some understanding or awareness of blockchain or distributed technology preferred
- Participation in rotating on-call duty during working hours required
- Experience with ops and infrastructure (e.g., testing, tooling) and Postgres databases strongly preferred
- Proven ability to collaborate effectively asynchronously with a multinational team spanning numerous time zones