Senior Software Engineer (Agentic Search) – Web Rendering (Chromium)
Job Description
About Tavily
We're building the infrastructure layer for agentic web interaction at scale. Our API is designed from the ground up to power Retrieval-Augmented Generation (RAG) and real-time reasoning in AI systems. By connecting LLMs to high-quality, trustworthy web content, we help developers build agents that are not only intelligent — but also informed.
We work with some of the most innovative teams in AI — from small startups shaping the ecosystem to the largest enterprises deploying AI at scale. Whether it's powering sales assistants, research copilots, or internal knowledge tools, we're the missing link between LLMs and the real world.
The Role
We are looking for a Senior Software Engineer to work on the rendering infrastructure of a novel search engine tailored for agentic AI consumption.
In this role, you will focus on loading modern web pages in a browser that we patch and build ourselves, so that content is rendered completely and reliably at a cost that works across billions of pages. You will work inside Chromium to remove what we do not need, make the rest faster and cheaper, and keep our build current as Chromium moves. Your work ensures that high-quality content is consistently available to the indexing and retrieval systems downstream.
In this position, your responsibility will be to
- Change Chromium in its heavy core (Blink, the V8 integration, the compositor, the network service) to cut CPU, memory and startup cost per page
- Strip Chromium down for agent workloads: skip what nobody needs, such as image and media decoding, web font downloads, and rasterization and GPU work where no one needs pixels, while keeping what page scripts depend on to run correctly (style, layout, animation frames, observers), and work out what breaks, or renders differently, when you do
- Keep the browser compatible with the web: make sure that what we remove does not change how the sites we load behave or render
- Profile and tune fleets of browsers: the process model, memory per renderer, startup, isolation and crash handling
- Build the production system around it: how browsers are launched, pooled, recycled and monitored
You may be a good fit if you
Have 5+ years of experience building production systems, and are an expert in several of the following areas.
Inside the browser
- Strong C++ in a large, performance-critical codebase, ideally Chromium, Blink or V8, or a comparable browser engine (Rust is a plus)
- Chromium architecture: the process model, Mojo IPC, the rendering pipeline (DOM, style, layout, paint, compositing), and the network service
- Building, debugging and shipping custom Chromium builds: the build system, tracing, crash analysis, and maintaining patches across releases
Performance and systems
- Profiling CPU, memory and I/O for browser fleets, with tools such as perf, tracing and flame graphs
- Linux process isolation and resource management, concurrency, and memory management
- Have run browsers in production, or built the infrastructure that does, and can describe where the time and memory went
Strong candidates may also have experience with
- Contributions to Chromium, Blink, V8, Firefox, WebKit or another browser engine
- Building or maintaining a patched browser that you wrote the patches for
- Browser instrumentation, including the Chrome DevTools Protocol
- Working familiarity with how modern frontend frameworks render (SSR, CSR, streaming, hydration)
- Distributed systems, Kubernetes, and Go or Python
The kind of problems you will work on
- Cut the cost of loading a page in half. Where do CPU and memory go, and what would you change in the browser?
- Turn off the GPU and image decoding for agent workloads. What breaks, and what changes in how pages load and render?
- A page runs a script that never yields. How do we detect and stop it without help from the page?
- Chromium ships a new version. How do we bring a large set of patches forward in days, not weeks?
- Decide when a page is finished, for pages with analytics beacons, long polling and endless scrolling.
We conduct coding interviews as part of the process.