About this role
Manager, Software Engineering — Customer Files Orchestration
Overview of the Role
CoCounsel Legal is seeking a Software Engineering Manager to lead the team that owns the Customer Files Orchestration Service – the system that makes a customer documents usable by CoCounsel Legal's agents.
Every file a customer brings to CoCounsel passes through this team: upload, storage, extraction, embedding, and indexing, orchestrated end-to-end. You make millions of customer files available to CoCounsel. Bringing a customer's content together with Thomson Reuters' world-class proprietary content and the latest frontier models – including TR's own custom large language models – is what makes our products highly differentiated and our agent experiences genuinely grounded. This team is a critical part of what makes that combination possible.
It is also, unavoidably, a hard distributed systems problem. Supporting millions of files means real engineering: dedicated workers, fair queuing so one busy customer cannot starve another, durable state, idempotent processing, and honest reasoning about consistency and delivery guarantees across systems.
The team owns what it builds, designing, implementing, testing, deploying, scaling, and operating the service end-to-end. This role will help take a recently formed, cross-functional group and shape it into a durable, high-performing engineering team with clear ownership, a stable operational posture, and the credibility to lead decisions about design, roadmaps, and opportunity costs within the team and across stakeholders.
Job Description:
In this position, you will:
Service & Technical Leadership
-
Own customer file orchestration service end-to-end – Upload, storage, content extraction, embedding, indexing, and observability and monitoring – balancing new capability delivery against reliability.
-
Drive API-first execution – The file and workspace APIs this team owns serves a growing set of consumers beyond orchestration, and this team treats them as a product – clear ownership, versioned contracts, documented behavior, deliberate change management, and independent deployability – not an incidental collection of backend endpoints
-
Lead the team's judgment on the problems that define the domain – Consistency models (where eventual consistency is acceptable and where a strongly-consistent read is the only correct answer), delivery guarantees (at-least-once with idempotent processors versus the cost of true exactly-once), lease and heartbeat models for crash recovery, and state transitions across asynchronous service boundaries
-
Own the queuing and flow-control architecture – Fair queuing, rate limiting, backpressure, circuit breaking, dead-letter handling, and autoscaling.
-
Champion full operational ownership – The team designs, builds, tests, deploys, scales, and operates what it ships – with on-call, incident response, SLOs, and testing treated as first-class engineering work, not afterthoughts.
-
Partner with platforms and client applications teams to deliver a world class product – Leverage robust orchestration across other (internal and external) services to enable both human users and agents with world-class experiences.
Team Management
-
Build and lead the Files Orchestration engineering team – Hiring, onboarding, performance, and career development – turning a recently-formed cross-functional group into a stable team with clear, durable ownership
-
Develop engineers who combine distributed systems depth with real operational responsibility – Lead an engineering team who owns their work from the first line of code to the production dashboard, and who own testing/QA, deployments, and support rather than handing them off.
-
Translate complex orchestration and scale trade-offs to product managers and business leaders – Making the meaning of a throughput number and the risk in a deadline legible to non-engineers.
-
Establish operating rhythms and ways of working – Establish principled ways of working, empowering the team to own their operating rhythms: roadmap, stand-ups, demos, retros, support rotations, and beyond.
-
Strong technical leadership via effective negotiation and influence – Earn the trust of leaders and external teams, negotiating capacity and roadmaps to converge on technical decisions that result in world class products.
Strategic Delivery
-
Define and maintain engineering processes – Rigorous design, code review, testing, and instrumentation good enough to proactively identify and fix issues, provide great support and reliable service.
-
Establish service health benchmarks – Ingest throughput, end-to-end time-to-available, failure and retry rates, per-tenant fairness under load, and API reliability SLOs – used to drive continuous improvement rather than to decorate a dashboard.
-
Sequence foundational infrastructure work against product deadlines – Know when to ship the pragmatic stopgap, when to insist on the structural fix, and how to make the difference visible to leadership.
-
Align the roadmap with CoCounsel's priorities – Collaborate closely with product management and adjacent engineering teams to deliver high-quality capabilities and strong technical foundations.
Key Responsibilities
You're an ideal fit if you have:
-
Required qualifications
-
Bachelor's or master's degree – Computer Science, Engineering, or related field.
-
Direct people management experience – 8+ years of software engineering experience, including 3+ years of managing engineers. You have hired, coached, and managed performance, and you want to keep doing it.
-
Large-scale, enterprise orchestration systems – Demonstrated experience designing and operating them in production: pipelines that move large volumes of work through multiple stages, across service boundaries, with retries, partial failure, and long-running steps as the normal case rather than the exception.
-
Extensive AWS and production Python experience – This is a Python service on AWS, and you should be able to engage with the code and the infrastructure credibly.
-
Concurrency in Python, and a healthy respect for how treacherous it is – You understand the GIL and what it does and does not protect you from; you have written and debugged production asyncio code.
-
Containerized workloads on Kubernetes – Our workers and APIs run as pods with event-driven autoscaling. You do not need to write the manifests, but you do need to reason pod-level concurrency, resource limits, scaling behavior, and when scaling out is the wrong answer to a bottleneck.
-
Consistency models – You can explain where eventual consistency is safe and where it silently corrupts a user-visible outcome, and you have debugged the difference in production.
-
Delivery guarantees – At-least-once versus exactly-once, why idempotency is usually the real answer.
-
Queues, fair queuing, rate limiting, and backpressure – Deep, practical understanding, including multi-tenant fairness and noisy-neighbor isolation, and the judgment for where flow control belongs in a system.
-
API-first instincts – Versioned contracts, clear ownership, backward compatibility, and treating an internal API as a product with consumers rather than an implementation detail. You have strong opinions about where business logic belongs in a system.
-
Building, owning, and operating a production service end-to-end – You have carried the pager for something and you believe building and operating are inseparable.
-
Distributed systems and cloud fundamentals – Advanced knowledge of distributed systems design, cloud infrastructure, observability, and SDLC best practices.
-
Communication and alignment – Excellent communication and the ability to build alignment across engineering, product, and architecture, includi