Software Engineer, ML Data Systems
5mo ago
USASeniordata infrastructureprivacysystem designpipelinetelemetry
Build and maintain data infrastructure for ML systems ensuring privacy and product reliability.
Responsibilities
- Cursor ships daily. Every release leaves signals behind: telemetry, prompts, completions, agent runs, sessions. Those signals power model improvement, evals, and experimentation. Data infrastructure is what turns them into something teams can trust.
- A lot of systems here started simple so we could move fast. Over time, the constraints change and the “good enough” version becomes the bottleneck. This role owns the full ladder: patch what should be patched, redesign what should be redesigned, ship the replacement, and operate it.
- Privacy guarantees are part of correctness. What we can retain and use depends on Privacy Mode and org configuration, and getting that wrong breaks a product promise. We choose work by business impact: what blocks product and model teams today, and what will block them next month.
Requirements
- We’re looking for someone who has built real systems at scale and cares about correctness, cost, and ergonomics.
- Strong signals include:
- Deep experience with Spark (Databricks or open-source Spark both count)
- Production experience with Ray Data
- Hands-on ownership of large data pipelines and storage systems
- Comfort debugging performance issues across client instrumentation, streaming, storage, and model-facing workflows, as well as, compute, storage, and networking layers
- Clear thinking about data modeling and long-term maintainability
- You have good judgment about when to patch and when to rebuild
- Nice to have
- Experience running or scaling ClickHouse
- Familiarity with dbt, Dagster, or similar orchestration and modeling tools
- We're in-person with cozy offices in North Beach, San Francisco and Manhattan, New York, replete with well-stocked libraries.
Other
- Our mission is to automate coding. The first step in our journey is to build the best tool for professional programmers, using a combination of inventive research, design, and engineering. Our organization is very flat, and our team is small and talent dense. We particularly like people who are truth-seeking, passionate, and creative. We enjoy spirited debate, crazy ideas, and shipping code.
- A core pipeline started as a pragmatic reuse of infrastructure built for something else. It works, but it cannot guarantee properties downstream consumers now need (for example, point-in-time consistency). You design and ship the replacement while keeping the existing system running.
- A new product surface ships without instrumentation. You talk to the team, define what needs to be captured, and wire it through before the absence becomes anyone else’s problem.
- Eval coverage drops. You trace it to an instrumentation gap introduced weeks ago by a product change nobody flagged. You fix the gap, add a contract so it cannot recur, and ship the dashboard that would have caught it earlier.
- Multiple consumers depend on overlapping data. You design schema evolution and validation so changes in one place do not silently degrade the others.
- Storage costs rise faster than usage. You decide what is worth keeping, implement retention and compression, and delete what is not.
- If there appears to be a fit, we'll reach to schedule 2-3 short technicals. After, we'll schedule an onsite in our office, where you'll work on a small project, discuss ideas, and meet the team.
- #LI-DNI