OEC Analytics is the analytics platform for OEC's product suite: a governed semantic layer over OEC's data, a query execution path that serves it, and an embeddable widget runtime that product teams render inside their own applications - multi-tenant, with governance in the core rather than bolted on per consumer. Its flagship surface is a conversational AI Analyst: users ask questions of their data in natural language and build dashboards by describing them. Product lines plug in through a declarative domain pack contract, not bespoke integrations.
The platform is early. Module boundaries, the pack model, and the AI Analyst's production build are being defined now, not maintained — on top of a formal decision record and machine-enforced architecture tests that already exist.
Key Responsibilities & Duties (essential to the job)
- Owns the module boundary model — isolation, contracts-only dependencies, composition roots — as specs precise enough for agents to implement, and architecture tests that enforce them in CI.
- Drives the ADR process, and audits for drift between documented decisions and real implementation, including agent-generated code.
- Authors the playbooks coding agents work from, reviews their output against spec, and decides which changes — schema, cross-module contracts, security — need human sign-off.
- Grows the shared platform library (eventing, mediation, auditing, observability), driven by real module needs rather than ported wholesale.
- Defines how non-deterministic output is verified — an eval harness in CI that gates prompt and model changes.
- Defines and governs the domain pack extensibility model, including the semantic definitions the AI Analyst reasons over.
- Gatekeeps new module and pack proposals, assessing integration cost, reuse, and capability-inventory fit before implementation begins
- Scouts and justifies new technologies and methodologies, including AI and agentic tooling, for adoption at OEC.
- Escalation point for cross-team design issues; mentors engineers on platform conventions and on writing agent-ready specs.
Experience, Skills and Key Competencies
Required
- 7+ years building software, including hands‑on architecture of modular or service‑oriented backends where you introduced and enforced the boundaries — not just designed them.
- Strong .NET/C#, ASP.NET Core, and EF Core, with comfort enforcing dependency-direction rules across a multi‑project solution.
- Written ADRs or an equivalent lightweight decision process, clear enough for engineers and agents to act on without shared tacit context. Excellent written communication is core to this role.
- Partnering with tech leadership and product management on roadmap alignment.
Preferred
- Directed AI coding agents (Claude Code) on real production codebases — multi‑file, multi‑step implementation work, not chat‑based suggestions.
- Architected LLM‑backed product features: structured tool calling, keeping the model outside the trust boundary, and measuring non‑deterministic output rather than hand‑reviewing it.
- Verification that scales without a human in the loop: architecture tests and linters for what you can assert, eval harnesses for what you can only measure.
- Security architecture for systems that execute model‑proposed actions — sandboxed execution, allowlist validation of generated queries, pre‑query tenant credential scoping.
- Polyglot comfort: the AI Analyst is a Python service alongside the .NET backend.
- Analytics/BI platforms, semantic modeling (dbt/MetricFlow‑style), and TypeScript micro‑frontends (currently single‑spa) — useful, and we will support ramp‑up here.
Must also be able to demonstrate the following skills and abilities
- Holds a line on architectural boundaries under delivery pressure, while staying pragmatic about incremental adoption.
- Proves architectural patterns out — with specs, tests, and agents — before mandating them.
- Collaborates well across platform engineering and the downstream product teams integrating with Analytics.
- Judges trade‑offs between delivery speed and long‑term coherence, including how much autonomy to grant an agent and how accurate a model‑generated answer must be before a customer sees it.