Summary
We are looking for a talented Rust engineer to help shape the future of Midnight’s products and technology. Midnight is a regulatory-friendly, data-protection blockchain that safeguards sensitive commercial and personal data, protecting fundamental freedoms of association, commerce, and expression for developers, companies, and individuals.
Your primary focus will be the Midnight Indexer — the Rust service that streams blockchain data from Midnight nodes to wallets and end-user applications through a high-performance GraphQL API. It ingests block history, processes it, stores it efficiently across PostgreSQL (cloud) and SQLite (standalone), and serves real-time subscriptions, with the wallet integration and privacy guarantees that sit at the heart of Midnight.
The Indexer will be your home base, but we want someone whose skills travel. As you grow into the stack, you will have the opportunity to contribute to adjacent components such as the Node (our Substrate-based blockchain node) and the Ledger (transaction structure, state, and zero-knowledge proofs). We value breadth and curiosity across the platform as much as depth in any single component.
Requirements
Duties
- Design, build, and operate the Indexer’s components in Rust — the chain indexer, the wallet indexer, the SPO indexer (Cardano partner-chain data), and the GraphQL API — keeping the architecture modular and maintainable.
- Build and maintain the data pipeline that fetches blocks and transactions from the Midnight node via subxt, handling finalized-block tracking, gap backfilling, and continuous real-time indexing.
- Design efficient schemas and queries across PostgreSQL (cloud) and SQLite (standalone), and keep latency and throughput healthy as the chain grows.
- Evolve the GraphQL API — queries, mutations, and real-time subscriptions over WebSockets — with care for the wallet model: secure sessions and correct handling of shielded data.
- Write and maintain unit, integration, and end-to-end tests; treat reliability and correctness as first-class concerns.
- Own operational quality for the service: observability, containerised deployment (Docker), and incident response.
- Participate in code reviews and technical design discussions, and collaborate closely with the node, ledger, wallet, and security teams — contributing to those components as you ramp up.
- Keep current with developments in Rust and blockchain technology, and apply them to improve the platform.
Key Competencies
Core Requirements (the Indexer)
- Strong, idiomatic Rust — including async/await (tokio) and a solid grasp of concurrency.
- Backend / data-systems experience — you have built and operated high-performance services or data pipelines in production.
- Databases — practical experience with PostgreSQL and/or SQLite: schema design, query optimisation, and reasoning about performance.
- API design — designing and evolving service APIs; GraphQL experience is a big plus.
- Computer-science fundamentals — sound on data structures, algorithms, and concurrency.
- Engineering discipline — comfortable with rigorous testing, code review, and clear technical communication.
- Remote collaboration — effective working asynchronously across time zones.
Valued — enables you to contribute across the stack
These are not hard requirements. A strong async-Rust engineer can ramp on the blockchain specifics; the items below let you reach beyond the Indexer sooner.
- Substrate / Polkadot ecosystem — especially subxt, plus familiarity with pallets and runtime development.
- Blockchain core concepts — consensus mechanisms, cryptography, and transaction/state models.
- Applied cryptography or zero-knowledge — interest in the Ledger’s transaction structure, state, and proving systems.
- WASM — compiling Rust to WebAssembly.
- Cardano / partner chains — Midnight runs as a Cardano partner chain, so this context is useful.
Education / Experience
- At least 3 years of experience in software development, with at least 2 years in the Rust programming language.
- Strong understanding of computer science fundamentals, including algorithms and data structures
- Experience in developing and maintaining high-performance systems in Rust
- Experience with blockchain technology is a plus
- Experience in remote work and collaboration across different time zones.
- Experience working in scale-ups.
