ServiceNow logo

Staff Software Engineer (Agent Evaluation Platform)

ServiceNow

On-siteleadPosted 12h ago

Job description

  • Moveworks’ AI agents don’t just generate text — they act. They plan, call tools, and change real state in enterprise systems on behalf of 5.5 million employees

  • That makes the central problem of our team an unusually hard measurement problem: how do you score what an agent did — across a multi-step trajectory through a world it changed — precisely enough that the score can teach it to do better?

  • That signal is what this role owns. You’ll build the judgement layer of our agent evaluation platform: the rubrics, the judges, the calibration against human labels, the methodology that makes a score mean something

  • And the payoff is larger than a report card — a judge good enough to grade a trajectory is a judge good enough to train against. The same calibrated signal that explains why an agent failed becomes the reward signal that stops it failing

  • This isn’t a pretraining role, and it isn’t a testing role. It’s applied ML at a point where the methodology genuinely isn’t settled: LLMs judging LLMs is an open research problem, and we’re working it against agents that take real, irreversible actions in stateful, multi-tenant enterprise environments

  • We’re hiring across three areas. You’ll anchor on one and touch the others; which one is a conversation we have with you, not a slot we drop you into

  • The runtime that executes multi-turn agent scenarios end-to-end — stand up the environment and user simulator, drive the user↔agent↔world loop, collect transcripts, traces, and final state, run validators and scoring, tear down

  • Scheduling, retries, high-concurrency execution, and run isolation at production dataset sizes

  • Versioned specs, datasets, and reports, with run-to-run comparison as a first-class operation

  • Consolidating evals that run today as one-off workflows onto a single orchestration service — one source of truth, one place to schedule and retry

  • Establishing a reliability floor and an SLO for the harness itself

  • Getting to self-serve, so any team runs an eval without bespoke integration

  • Leading the move to OpenTelemetry-native observability for the agent platform, replacing the parallel per-service logging, correlation, and redaction mechanisms in use today

  • The span data model for agent trajectories — prompts, tool calls, plan updates, outcomes — so a trajectory is queryable, not reconstructed by hand from log files

  • Trace context propagation across async boundaries and sessions that stay alive for minutes or hours

  • Making full prompts and completions survive the pipeline intact, and keeping eval traffic from contaminating its own data

  • Fault attribution and cross-run diffing: which component actually broke, and what changed since the last green run

  • The debug surface support and harness engineers use, and the tracing contract with the team that builds the agent

  • The simulation environment itself: stateful fakes of the enterprise systems agents call — ITSM, HR, knowledge bases, inventory — backed by a real datastore that persists changes during a run, so a created ticket is visible to a later read

  • Per-run data injection and programmatic setup/teardown so every run is hermetic and repeatable

  • LLM-driven user simulators for open-ended personas, and scripted state-machine simulators for deterministic flows

  • Contract-testing mocks against real API schemas in CI, so simulation fidelity can’t quietly drift as vendor APIs change

  • Ahead of us: isolated sandbox environments reproducing the config, identity, search content, and permissions an agent actually reads — provisioned from an identical baseline and torn down every run

  • And across all three: laying the foundation for using eval signal to optimize the agent, not just measure it

Benefits

  • Generous family leave

  • Matched donations

  • Annual learning stipends

  • Flexible PTO

  • Competitive retirement plan

  • Paid volunteer time- Experience in at least 3 of these:

  • GRPC/protobuf service and interface design

  • Observability internals as a builder, not just a user: OpenTelemetry SDKs and collectors, semantic conventions, span context propagation, high-cardinality trace data

  • Concurrent and async programming: Python asyncio, Go concurrency, structured cancellation

  • Distributed systems: idempotency, delivery guarantees, isolation, and — unusually central here — determinism and reproducibility

  • Orchestration and workflow runtimes: DAG execution, scheduling, retries, backfills, high-concurrency job systems (Temporal, Airflow, Argo, or something you built yourself)

  • Data-intensive pipelines: high-volume ingest, schema evolution, sampling and retention trade-offs