← All jobs
Database Engineer
Cambridge, Massachusetts, United States; Palo Alto, California, United States; Singapore; Tokyo, Japan · On-site · Backend
Apply well, not just fast
Create a free account and upload your resume to get a match score, keyword gaps, a tailored resume, a cover letter and interview prep for this job.
About the role
ClickHouseElasticsearchGoRustC++CLinuxSRE
Own the data layer behind one of the biggest crawlers on the web.
Ahrefs helps marketers get their brands found in search, in AI answers and on social. Under the product sits one of the largest datasets on the web, and someone has to keep it fast, correct and alive.
The team
The Database team owns our databases and storage end to end, from the source code to production. We run ClickHouse, MooseFS, SeaweedFS, TiDB and Elasticsearch on about 1,200 servers holding hundreds of petabytes, in data centres in Singapore, the US and the UK.
We don’t file tickets with vendors and wait. When a system doesn’t do what we need, we change its source, prove the change on production data and roll it out ourselves.
The job
You’ll build and run our data layer: ClickHouse, the MooseFS and SeaweedFS storage under it, and the TiDB and Elasticsearch clusters beside it. You write the code, you ship it, and you’re there when it meets production. You’ll work with AI coding agents as a normal part of the job.
Examples of what you’ll work on
- Build storage and query features in ClickHouse, such as replication over a shared file system, and storage policies that place data by its merge history.
- Keep up with upstream ClickHouse LTS releases, keep CI green and ship our own releases regularly.
- Make MooseFS and SeaweedFS highly available and durable: Raft-based metadata servers, follower reads, an intent log, automatic re-replication.
- Find performance problems in production profiles and fix them in the code, from query plans to FUSE clients.
- Trace data corruption to its root cause, even when it’s in compression, the memory allocator or the compiler, and repair the damaged data.
- Roll out releases and storage migrations across about 1,200 servers in three regions, without downtime.
- Run and tune TiDB, TiKV, TiCDC and Elasticsearch: scheduling, replication lag, backups, disk balance.
- Check risky designs with TLA+ and fault injection, and automate whatever repeats with watchdogs, balancers and dashboards.
- Build an SRE agent that watches our database clusters, diagnoses incidents and proposes fixes.
You’re probably right for this if
- You write strong C++, C and Rust, can work in Go, and feel at home in codebases of millions of lines.
- You know database storage engines deeply: merges or compaction, replication logs, query execution.
- You understand distributed consensus (Raft or Paxos) and what happens when things fail.
- You know Linux storage internals: page cache, fsync, FUSE, file systems, and how NVMe and HDDs really behave.
- You’ve run databases or storage on hundreds of nodes, and led the recovery when an incident hit.
- You debug with gdb, perf and sanitizers.
- You measure a change on production data before you call it a win.
Good to have
- Contributions to an open-source database or file system.
- OCaml. Much of our backend is written in it.
- Puppet or a similar configuration management tool.
Why Ahrefs?
We give smart people real ownership and don’t micromanage them. Here that means a few hundred petabytes and the source code of the systems that hold them. Small team, no layers of process, and the hardware to do the job properly. We value honesty, results and simple solutions over complicated ones.
Ahrefs does not engage with agencies or third-party recruitment providers for the roles we hire for. If we need help, we’ll let you know.
Location: Singapore, Tokyo, Palo Alto (CA) or Cambridge (MA). On-site; you’ll need the right to work in the office you choose.
Ahrefs does not engage with agencies or third party recruitment solutions for the roles we hire for. If at any point we need help, we'll let you know!