Software Engineer (Indexer Focus) - Shielded
IOHK
Job Description
<h3>Summary</h3><p>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.</p><p>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.</p><p>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.</p><h3>Requirements</h3><h3>Duties</h3><ul><li>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.</li></ul><ul><li>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.</li><li>Design efficient schemas and queries across PostgreSQL (cloud) and SQLite (standalone), and keep latency and throughput healthy as the chain grows.</li><li>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.</li><li>Write and maintain unit, integration, and end-to-end tests; treat reliability and correctness as first-class concerns.</li><li>Own operational quality for the service: observability, containerised deployment (Docker), and incident response.</li><li>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.</li><li>Keep current with developments in Rust and blockchain technology, and apply them to improve the platform.</li></ul><h3>Key Competencies </h3><h3>Core Requirements (the Indexer) </h3><ul><ul><li>Strong, idiomatic Rust — including async/await (tokio) and a solid grasp of concurrency.</li></ul></ul><ul><ul><li>Backend / data-systems experience — you have built and operated high-performance services or data pipelines in production.</li><li>Databases — practical experience with PostgreSQL and/or SQLite: schema design, query optimi