We're building the runtime infrastructure that powers Moveworks' AI agents — the systems that orchestrate, execute, and deliver agent responses to millions of enterprise users in real time. This is not an ML role. This is a distributed systems engineering role at the heart of the agentic AI wave.
Our AI agents can plan, execute multi-step workflows, call tools, wait on human input, and resume — all while maintaining correctness, observability, and low latency. The systems that make this possible are what you'll build and own.
- Agent orchestration engine — A state machine that manages long-running agent sessions, coordinating planning, execution, and user interaction across multiple LLM calls and tool invocations
- Distributed session management — Lease-based ownership using DynamoDB conditional writes, heartbeat protocols, and crash recovery via checkpointing
- Event-driven message pipeline — SQS FIFO queues for ordered delivery, Kafka consumers for event processing, and real-time streaming via gRPC and Socket.IO
- Structured concurrency — Python asyncio TaskGroups running multiple concurrent tasks per session (message polling, lease heartbeats, output publishing, orchestrator execution) with fail-fast semantics and graceful cancellation
- Observability infrastructure — OpenTelemetry instrumentation, distributed trace context propagation across async boundaries, custom span lifecycle management for sessions that span minutes
- Caching and state layers — Redis, DynamoDB KV stores with per-org/per-bot scoping, batch read optimization, and hot-reload configuration
You should have deep experience in at least 3 of these areas:
- Distributed systems: consistency models, idempotency, exactly-once delivery, distributed locking/leasing
- Concurrent/async programming: Python asyncio, Go goroutines, structured concurrency, cancellation handling
- Event-driven architectures: message queues (SQS, Kafka), pub/sub, backpressure, delivery guarantees
- Database systems for infrastructure: DynamoDB (conditional writes, transactions), Redis (connection pooling, pub/sub)
- Observability: OpenTelemetry, distributed tracing, span context propagation, Prometheus metrics
- gRPC/protobuf: streaming RPCs, service interface design, error handling patterns
- 5+ years building production backend/infrastructure systems
- Strong in Python or Go (ideally both)
- Experience designing and operating systems that handle real traffic at scale
- Comfort with ambiguity — these are novel problems without textbook solutions
ServiceNow is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, creed, religion, sex, sexual orientation, national origin or nationality, ancestry, age, disability, gender identity or expression, marital status, veteran status, or any other category protected by law.
In addition, all qualified applicants with arrest or conviction records will be considered for employment in accordance with legal requirements.
From Fortune. ©2025 Fortune Media IP Limited. All rights reserved. Used under license.
To be successful in this role you have:
You should have deep experience in at least 3 of these areas:
- Distributed systems: consistency models, idempotency, exactly-once delivery, distributed locking/leasing
- Concurrent/async programming: Python asyncio, Go goroutines, structured concurrency, cancellation handling
- Event-driven architectures: message queues (SQS, Kafka), pub/sub, backpressure, delivery guarantees
- Database systems for infrastructure: DynamoDB (conditional writes, transactions), Redis (connection pooling, pub/sub)
- Observability: OpenTelemetry, distributed tracing, span context propagation, Prometheus metrics
- gRPC/protobuf: streaming RPCs, service interface design, error handling patterns
- 5+ years building production backend/infrastructure systems
- Strong in Python or Go (ideally both)
- Experience designing and operating systems that handle real traffic at scale
- Comfort with ambiguity — these are novel problems without textbook solutions The Role
We're building the runtime infrastructure that powers Moveworks' AI agents — the systems that orchestrate, execute, and deliver agent responses to millions of enterprise users in real time. This is not an ML role. This is a distributed systems engineering role at the heart of the agentic AI wave.
Our AI agents can plan, execute multi-step workflows, call tools, wait on human input, and resume — all while maintaining correctness, observability, and low latency. The systems that make this possible are what you'll build and own.
- Agent orchestration engine — A state machine that manages long-running agent sessions, coordinating planning, execution, and user interaction across multiple LLM calls and tool invocations
- Distributed session management — Lease-based ownership using DynamoDB conditional writes, heartbeat protocols, and crash recovery via checkpointing
- Event-driven message pipeline — SQS FIFO queues for ordered delivery, Kafka consumers for event processing, and real-time streaming via gRPC and Socket.IO
- Structured concurrency — Python asyncio TaskGroups running multiple concurrent tasks per session (message polling, lease heartbeats, output publishing, orchestrator execution) with fail-fast semantics and graceful cancellation
- Observability infrastructure — OpenTelemetry instrumentation, distributed trace context propagation across async boundaries, custom span lifecycle management for sessions that span minutes
- Caching and state layers — Redis, DynamoDB KV stores with per-org/per-bot scoping, batch read optimization, and hot-reload configuration