Full Stack Agentic Developer
About Charles River Associates
Charles River Associates is a leading global consulting firm that provides economic, financial, and business management expertise to major law firms, corporations and governments around the world. CRA advises clients on economic and financial matters pertaining to litigation and regulatory proceedings, and guides corporations through critical business strategy and performance-related issues. Since 1965, clients have engaged CRA for its combination of industry experience and rigorous, fact-based analysis that provide clients with clear, implementable solutions to complex business concerns.
Position Overview
Charles River Associates is seeking a Full Stack Agentic Developer to help build and evolve a web-based AI platform that enables experts to translate domain expertise into scalable, validated AI-driven workflows. This is a senior full stack engineering role for someone who began with strong product and platform skills and has advanced into LLM-powered agentic systems.
The product combines a React/Vite web client, a Node.js/TypeScript backend proxy, Azure-hosted services, and isolated remote execution environments where AI agents run tools against sandboxed project workspaces. This role bridges the application layer and the agent layer: user experience, APIs, session and file workflows, real-time streaming, custom agent runtime behavior, proprietary tools, model-provider integrations, prompt and context systems, reliability, and observability.
The ideal candidate is not a narrow frontend engineer, not a pure backend engineer, and not a prompt-only AI specialist. CRA needs a hands-on full stack developer who can design excellent product experiences, write production-grade TypeScript and React, extend Node.js/Express APIs, and also understand how agentic systems plan, use tools, recover from errors, stream activity, and produce work that users can inspect and trust.
Core Mission
The Full Stack Agentic Developer will own the path from user intent to agent action to reviewed output. This person will build the product workflows and underlying agentic capabilities that let consultants and domain experts create sessions, upload and organize materials, launch AI-assisted work, monitor agent activity in real time, review files and intermediate outputs, and rely on the platform for high-quality analytical work in confidential, high-stakes environments.
Key Responsibilities
Full Stack Product Development
- Build and evolve the React web application across core product surfaces: authentication, session setup, workspace navigation, file review, streaming agent activity, results review, and user-facing administration.
- Create reusable component patterns for complex, stateful workflows while keeping the application maintainable, accessible, and easy for the team to extend.
- Build and maintain Express/TypeScript API endpoints that support the web application, including session orchestration, file management, workspace operations, usage tracking, and new product capabilities.
- Integrate frontend workflows with backend services for authentication, LLM routing, usage tracking, agent orchestration, cloud storage, and PostgreSQL-backed application data.
- Translate complex backend and agent states into intuitive interface patterns, including empty states, progress states, error states, review states, and resumable workflows.
Real-Time Agent Experience
- Implement and improve the real-time streaming interface between the backend, agent runtime, and UI, primarily through server-sent events and related event-driven patterns.
- Render incremental agent output such as token-by-token text, tool execution cards, plans, task lists, progress indicators, cost and usage indicators, file changes, warnings, and final workflow states.
- Manage stream connection lifecycle, retries, cancellation, cooperative stop, stop/resume behavior, error recovery, and clear feedback when long-running agent workflows are in progress.
- Help define event contracts so the UI can present agent behavior clearly without exposing unnecessary implementation complexity to end users.
- Design UX and API patterns that help users understand what the agent is doing, what files it has changed, what outputs are ready for review, and what still requires human judgment.
Agentic Runtime and Tooling
- Own and improve parts of the custom multi-turn agent loop where the agent sends messages to model providers, parses streaming responses, executes tools, observes results, and iterates within an isolated cloud container.
- Develop proprietary tools that expand agent capabilities across file operations, analysis, transformation, visualization, document creation, data processing, validation, and workflow automation.
- Extend the containerized execution environment to support new languages, libraries, utilities, file types, analytical methods, and integrations needed by expert users.
- Design clear tool schemas, permission boundaries, workspace access patterns, input validation, and error messages that help agents use tools effectively and safely.
- Create reusable patterns for adding new tools so agent capabilities can expand without making the runtime brittle, opaque, or hard to debug.
LLM Provider, Prompt, and Context Systems
- Support multi-model integration across OpenAI, Anthropic, and other frontier or local models, including provider-specific message formats, tool-calling formats, streaming behavior, structured outputs, and error patterns.
- Build and maintain translation layers that normalize provider differences while preserving access to the strongest capabilities of each model.
- Design and maintain prompt and context systems that shape agent behavior, including analytical identity, methodology compliance, interaction modes, tool usage policies, quality standards, and escalation patterns.
- Implement token estimation, usage tracking, context compression, conversation summarization, prompt caching, and model-selection patterns for long-running analytical sessions.
- Evaluate how agent behavior changes across providers, model families, prompts, tools, and workflows, then adapt the product and runtime to improve quality, cost, speed, reliability, privacy, and user trust.
Session, File, and Workspace Lifecycle
- Own the user-facing lifecycle of an AI work session, including creation, configuration, file upload, streaming execution, interruption, resumption, result review, workspace cleanup, and teardown.
- Implement browser-to-cloud file flows including multi-file upload, progress tracking, validation, workspace browsing, previewing, downloading, and handling of large or mixed file types.
- Support interfaces and APIs that help users understand the state of remote workspaces, generated outputs, intermediate artifacts, source files, and final deliverables.
- Improve the connection between workspace state and agent state so users can review work product clearly and engineers can debug session behavior reliably.
Reliability, Security, and Observability
- Implement reliability patterns such as retry logic, rate-limit handling, tool error recovery, cooperative stop, graceful cancellation, resumability, and failure reporting.
- Build with enterprise readiness in mind, including secure browser authentication flows, JWT lifecycle, role-based access, CORS, CSRF considerations, auditability, privacy-sensitive UI patterns, and careful handling of confidential work product.
- Add structured logging, tracing, transcript capture, metrics, tests, and debugging tools so agent behavior can be understood at both the engineering and product level.
- Partner with product, domain experts, backend, infrastructure, and security stakeholders to ensure end-to-end features are reliable across the browser, API layer, cloud services, and agent execution environment.
- Contribute to delivery discipline by writing clear technical notes, estimating work thoughtfully, supporting sprint planning, and continuously improving development practices.
Desired Qualifications
- Bachelor's degree in Software Engineering, Engineering, or other relevant discipline with programming/technology experience, advanced degree desirable;
- 6+ years of professional software engineering experience, with strong hands-on ownership across frontend, backend, and production product systems;
- Strong TypeScript skills across the stack, including modern React development and Node.js/Express API development;
- Experience building component-driven React applications with complex state, multiple interconnected views, real-time updates, and user-facing workflows that require careful error handling;
- Experience building or consuming real-time interfaces using server-sent events, WebSockets, streaming APIs, or similar event-driven patterns;
- Experience building LLM-powered agentic systems that use tools, execute multi-turn workflows, manage state, and recover from errors; not just experience building static chatbots;
- Experience with LLM tool calling or function calling, including tool schema design, streaming tool input/output, multi-turn execution, and provider-specific implementation details;
- Strong prompt engineering ability for structured, multi-step workflows, including prompts that encode policies, methodology, roles, and tool usage expectations;
- Comfort working in Python for agent tools, data processing, automation, evaluation, and integration with analytical libraries;
- Good understanding of browser authentication flows, JWT lifecycle, token refresh, CORS, secure cookies, role-based access, and frontend/backend security boundaries;
- Familiarity with PostgreSQL and API-driven application design, including practical awareness of schema design, queries, migrations, and data access patterns;
- Experience with Docker or Linux-based execution environments and practical understanding of isolation, filesystem access, dependency management, and runtime troubleshooting;
- Strong product judgment, debugging instincts, documentation discipline, and ability to reason about AI behavior, software behavior, and user impact at the same time.
Strongly Preferred Experience
- Experience designing custom agent frameworks, agent runtimes, orchestration loops, tool-extension systems, or evaluation harnesses rather than relying entirely on off-the-shelf frameworks.
- Experience with OpenAI, Anthropic, and other model provider APIs, including streaming, tool use, structured outputs, usage tracking, rate limits, and provider-specific failures.
- Experience with file-heavy web applications, including upload progress, large file handling, previewing, workspace navigation, generated-output review, and download flows.
- Experience rendering markdown, structured outputs, tool activity, logs, transcripts, plans, or other rich incremental content in React.
- Experience with sandboxed or ephemeral compute patterns, dynamically provisioned containers, secure credential injection, and session-scoped runtime lifecycles.
- Experience with Azure services such as Static Web Apps, Container Apps, Container Instances, Blob Storage, Azure Database for PostgreSQL, Application Insights, or related cloud services.
- Experience with Docker, GitHub Actions, CI/CD practices, structured logging, cloud observability, and collaboration in a distributed engineering environment.
- Experience with headless browser automation, document generation, data analysis, visualization, file conversion, R, LaTeX, or workflow automation tools.
- Experience working in consulting, professional services, legal, economic, healthcare, life sciences, energy, financial services, or other confidential/high-stakes environments.
- Familiarity with responsible AI practices, model evaluation, transcript review, quality controls, AI governance, and enterprise AI adoption.
Core Environment
- Frontend: TypeScript, React, Vite, Tailwind CSS
- Backend: Node.js, Express, TypeScript
- Agent runtime: Custom multi-turn agent loop, proprietary tools, model-provider adapters, and streaming event protocol
- Languages: TypeScript, Node.js, Python; with R, LaTeX, and shell utilities available in execution environments
- Model providers: OpenAI, Anthropic, and other frontier or local models as needed
- Data: PostgreSQL and API-driven application state
- Streaming: Server-sent events and event-driven UI updates
- Runtime: Containerized Ubuntu-based agent environments with sandboxed project workspaces
- Cloud: Microsoft Azure-hosted web, backend, storage, database, container, and observability infrastructure
- Product context: Expert-driven AI workflows where transparency, reliability, confidentiality, and quality control are critical
Career Growth and Benefits
- CRA’s robust skills development programs, including a commitment to offering 100 hours of training annually through formal and informal programs, encourage you to thrive as an individual and team member. Training encompasses technical training, presentation skills, internal seminars, and career mentoring and performance coaching from an assigned senior colleague. Additional leadership and collaboration opportunities exist through internal firm development activities.
- We offer a comprehensive total rewards program including a superior benefits package, wellness programming to support physical, mental, emotional and financial well-being, and in-house immigration support for foreign nationals and international business travelers.
Work Location Flexibility
CRA creates a work environment that enables our colleagues to benefit from being together in the office to best deliver on our promise of career growth, mentorship and inclusivity. At the same time, we recognize that individuals realize a range of benefits when working from home periodically. We currently expect that individuals spend at least 3 to 4 days a week working in the office (which may include traveling to another CRA office or to client meetings), with specific days determined in coordination with your practice or team.
Our Commitment to Equal Employment Opportunity
Charles River Associates is an equal opportunity employer (EOE). All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, age, disability, status as a protected veteran, or any other protected characteristic under applicable law.
Salary and other compensation
A good-faith estimate of the annual base salary range for this position is $160,000 - $230,000. Stating pay within this range may vary based on factors such as education level, experience, skills, geographic location, market conditions, and other qualifications of the successful candidate. This position may be eligible for additional bonus incentive compensation. CRA offers a comprehensive benefits package, subject to eligibility requirements, which may include: medical, dental, and vision insurance; 401(k) retirement plan with employer match; life and disability insurance; paid time off (vacation, sick leave, holidays); paid parental leave; wellness programs and employee assistance resources; and commuter benefits.
Create a Job Alert
Interested in building your career at Charles River Associates? Get future opportunities sent straight to your email.
Apply for this job
*
indicates a required field

