Staff Software Engineer — Search Platform, Ingestion & Indexing
Thomson Reuters · Ann Arbor, MI · 5 days ago
HybridInformation Technology$136k/yrFull-time
About the role
The Advanced Content Engineering (ACE) team is seeking a Staff Software Engineer to lead the design, implementation, and operational health of the document ingestion pipeline and search index management systems.
Responsibilities
- Design, develop, and own the end-to-end document ingestion pipeline — a Kafka-based stream processing architecture that moves documents through parsing, chunking, enrichment (entity extraction, embedding generation, metadata enrichment), and indexing stages — including all fault tolerance, version ordering, and at-least-once delivery guarantees.
- Define, build, test, deploy, scale, and operate pluggable, configurable pipeline components (parsers, chunkers, enrichers, indexers) that client teams can assemble into custom topologies via the platform's self-service APIs, while maintaining reliable, observable, and performant execution.
- Own the platform's Protobuf-based document schema and schema registry integration — establishing schema governance standards, enforcing backward-compatible evolution, and ensuring reliable serialization across all pipeline stages.
- Lead the migration of ingestion infrastructure from OpenSearch to Vespa, including design of Vespa document processors, custom Kafka feeders, and application package architecture — resolving complex technical challenges that have little or no precedent within the team.
- Customize and operationalize models integrated into the ingestion pipeline — re-ranking models, embedding models, and enrichment components — including inference serving behind a stable API surface, latency SLO management, hardware and runtime configuration (batching, quantization), and scaling.
- Build and operate the model promotion pipeline: the CI/CD workflow that moves a model artifact from the fine-tuning team through staging to production, including versioning, canary rollouts, and rollback mechanisms — ensuring the platform team can operate model updates independently without depending on the research team for production changes.
- Define and maintain integration contracts between custom models and downstream pipeline components — governing input/output schemas, compatibility requirements, and the governance process for model updates that ensures search pipeline consumers are not broken by changes upstream.
- Instrument model serving for production observability: latency distributions, throughput, error rates, and quality signals such as re-ranking score distributions — enabling the team to detect regressions or model drift without requiring the fine-tuning team’s involvement.
- Own the search engine layer end-to-end: design and operate Vespa (and OpenSearch during transition) index configurations, ranking profiles, schema definitions, and application package lifecycle management — applying architectural principles that scale to the platform's long-term content and tenancy goals.
- Implement and maintain the Component Registry and Index Registry — the platform's catalog of reusable processing components and active index configurations — with a focus on correctness, observability, and safe concurrent modification.
- Develop the full-reindex and incremental-update orchestration logic, including change detection, document tracking, Kafka topic management, and DynamoDB-backed state management.
- Design and implement resilient fault tolerance mechanisms — dead-letter queues, retry strategies with exponential backoff, circuit breakers, consumer lag monitoring — that make the pipeline robust to downstream failures and transient errors.
- Drive system-level performance architecture: profiling ingestion throughput and indexing latency, identifying bottlenecks, and implementing optimizations that meet platform SLOs under peak load.
- Treat delivery friction as the enemy: identify and remove obstacles that slow the team's ability to ship ingestion and indexing changes to production safely and frequently — improving CI/CD pipelines, deployment automation, and local development workflows as a standing priority.
- Instrument pipeline components with distributed tracing, structured logging, and rich metrics — establishing documentation standards and knowledge management practices so that the team and platform consumers can understand system behavior at all times.
- Partner with TR Labs and research scientists to ensure that new search components can be evaluated in isolation — with automated offline evaluation on every build and a clear path from evaluation results to production promotion decisions.
- Deliver effective presentations on complex technical concepts to both technical and non-technical stakeholders; develop strategic plans for technology implementation that align with business objectives.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
- 8+ years of software engineering experience, with demonstrated progression to staff-level or equivalent technical leadership — including ownership of a functional area and leadership of significant cross-functional projects.
- Deep expertise in distributed stream processing: designing, building, and operating high-throughput, fault-tolerant event-driven pipelines using Kafka or equivalent technologies at production scale.
- Production experience with Vespa, OpenSearch, or Elasticsearch — including schema design, ranking profile configuration, and end-to-end application lifecycle management.
- Mastery of Python with strategic awareness of language and framework selection; strong software engineering fundamentals including test strategy, performance architecture, and system design.
- Proficiency with AWS cloud services used in data pipeline and search infrastructure (MSK, ECS, Lambda, DynamoDB, Step Functions, CloudWatch), with infrastructure-as-code experience (Terraform or AWS CDK).
- Demonstrated ability to take full operational responsibility end-to-end — defining SLOs, building observability, running on-call, and driving systematic improvements from incident retrospectives — with a track record of shipping to production frequently and removing delivery friction proactively.
- Comfort and fluency with AI-assisted development tools; you use them to move faster and produce higher-quality work, not as a novelty.
- Track record of establishing architectural principles, cross-system design patterns, and documentation standards that improve the broader team’s engineering quality.