About the Role
About Merget
Your agents work in parallel. Merget makes their code work together.
Merget is a semantic merge queue. Instead of looking only at where text overlaps, we find how changes across pull requests actually interact, resolve conflicts in parallel, and prepare pull requests to land cleanly. Teams keep their agents, their existing Git workflow, and their required checks and reviews. The core is a code graph engine we built in-house in Rust.
The Role
You've spent your career writing queries against code property graphs, building indexers, or working with ASTs, control flow, and dataflow representations. This is a chance to build the engine underneath, as a founding engineer.
You'll own the hardest part of the product: extending our analysis to languages that existing tooling doesn't cover, and making the system that uses it fast and reliable in production. That means reading language specs and compiler internals, deciding what program representation is actually useful for a given language, and getting it to work on real repositories that don't build cleanly.
You'll also own what you ship end to end: the services around the engine, the infrastructure they run on, the dashboard our users work in, and the monitoring that tells us when something is wrong before a design partner does.
What You'll Work On
- Design and build graph extraction for new languages: the intermediate representation, symbol and reference resolution, and incremental updates as repositories change.
- Extend the analysis itself, improving what we can detect and how precisely we can detect it.
- Work on engine performance and correctness on large and messy codebases.
- Build and operate the services around the engine, including the Git and CI integrations, the APIs, and the orchestration that resolves conflicts in parallel.
- Build the frontend our users work in, including the dashboard where they see queues, findings, and agent activity.
- Own deployment and reliability: infrastructure as code, deployment pipelines, and observability that surfaces real problems rather than noise.
- Work directly with design partners. You'll hear what's breaking firsthand and decide, with the team, what's worth building.
What We're Looking For
- Program analysis experience. You've worked with ASTs, control flow graphs, data flow graphs, program dependence graphs, call graphs, taint analysis, or symbol resolution, in a security, compiler, or developer tooling context. Equivalent academic work counts.
- Experience with code analysis or code intelligence tooling. CodeQL, Semgrep, Joern and code property graphs, SCIP, LSIF, LSP, tree-sitter, rust-analyzer, Graphify, Infer, or compiler frontends. We care that you understand how these systems work and could build one, not which specific tool you used.
- Experience building indexers or language frontends. Including handling build system variation and codebases that don't compile cleanly.
- Strong systems engineering. Production work in Rust and Go, or deep experience in comparable systems languages and the ability to become productive in both quickly.
- Experience shipping and running software in production. Cloud architecture, containers and orchestration, CI/CD, infrastructure as code, and observability through metrics, tracing, logging, and alerting that actually catches failures.
- Fluency with agentic coding tools. Such as Claude Code, Cursor, or Codex. We use them heavily, and our users are teams that run several at once.
- Product judgment. You can look at a design partner's request and reason about whether it's worth building, what it costs, and what it means for everyone else using Merget.
- Comfort with ambiguity and early-stage pace. Specs will evolve as we learn.
Requirements
Program analysis experience
You've worked with ASTs, control flow graphs, and other program representations.
Code analysis tooling
Experience with tools like CodeQL, Semgrep, or rust-analyzer is essential.
Building indexers
Experience in building indexers or language frontends is required.
Systems engineering
Strong background in systems engineering, particularly in Rust and Go.
Production software experience
Experience shipping and running software in production environments.
Nice to Have
Familiarity with agentic coding tools like Claude Code or Codex.
Ability to assess design partner requests and their implications.