Full Stack Agentic Developer

Charles River AssociatesWashington, DC
$160,000 - $230,000Hybrid

About The Position

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. 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.

Requirements

  • 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

Nice To Haves

  • 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.

Responsibilities

  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.

Benefits

  • 100 hours of training annually through formal and informal programs
  • Technical training
  • Presentation skills training
  • Internal seminars
  • Career mentoring
  • Performance coaching
  • Leadership and collaboration opportunities
  • Comprehensive total rewards program
  • Superior benefits package
  • Wellness programming to support physical, mental, emotional and financial well-being
  • In-house immigration support for foreign nationals and international business travelers
  • Medical insurance
  • Dental insurance
  • Vision insurance
  • 401(k) retirement plan with employer match
  • Life insurance
  • Disability insurance
  • Paid time off (vacation, sick leave, holidays)
  • Paid parental leave
  • Employee assistance resources
  • Commuter benefits
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service