Software Architect
Indexed description
About the job
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.
- Plugin or pack-style contract design, eventing patterns (outbox/inbox), REST API design, AWS (Bedrock a plus).
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.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search