Redwood Materials
Charles River Associates
Desarrollador Agéntico Full Stack
Acerca de Charles River Associates
Charles River Associates es una consultora global líder que proporciona conocimientos económicos, financieros y de gestión empresarial a importantes bufetes de abogados, corporaciones y gobiernos de todo el mundo.
CRA asesora a clientes en asuntos económicos y financieros relacionados con litigios y procedimientos regulatorios, y guía a las corporaciones a través de cuestiones críticas de estrategia empresarial y rendimiento. Desde 1965, los clientes han recurrido a CRA por su combinación de experiencia sectorial y análisis rigurosos basados en hechos que proporcionan a los clientes soluciones claras e implementables para complejas preocupaciones empresariales.
Descripción del puesto
Charles River Associates está buscando un Desarrollador Agéntico Full Stack para ayudar a construir y evolucionar una plataforma de IA basada en web que permita a los expertos traducir su experiencia de dominio en flujos de trabajo escalables y validados impulsados por IA. Este es un puesto de ingeniería full stack senior para alguien que comenzó con sólidas habilidades de producto y plataforma y ha avanzado hacia sistemas agénticos impulsados por LLM.
El producto combina un cliente web React/Vite, un proxy backend Node.js/TypeScript, servicios alojados en Azure y entornos de ejecución remotos aislados donde los agentes de IA ejecutan herramientas contra espacios de trabajo de proyectos en un entorno controlado. Este puesto une la capa de aplicación y la capa de agente: experiencia de usuario, APIs, flujos de trabajo de sesión y archivos, streaming en tiempo real, comportamiento personalizado del tiempo de ejecución del agente, herramientas propietarias, integraciones de proveedores de modelos, sistemas de prompt y contexto, fiabilidad y observabilidad.
El candidato ideal no es un ingeniero de frontend de nicho, ni un ingeniero de backend puro, ni un especialista en IA solo de prompts. CRA necesita un desarrollador full stack práctico que pueda diseñar excelentes experiencias de producto, escribir código de producción en TypeScript y React, extender APIs de Node.js/Express, y también comprender cómo los sistemas agénticos planifican, usan herramientas, se recuperan de errores, transmiten actividad y producen trabajo que los usuarios pueden inspeccionar y en el que confiar.
Misión Principal
El Desarrollador Agéntico Full Stack será responsable del camino desde la intención del usuario hasta la acción del agente y la salida revisada. Esta persona construirá los flujos de trabajo del producto y las capacidades agénticas subyacentes que permiten a los consultores y expertos de dominio crear sesiones, cargar y organizar materiales, iniciar trabajos asistidos por IA, monitorear la actividad del agente en tiempo real, revisar archivos y salidas intermedias, y confiar en la plataforma para un trabajo analítico de alta calidad en entornos confidenciales y de alto riesgo.
Responsabilidades Clave
DESARROLLO DE PRODUCTO FULL STACK
- Construir y evolucionar la aplicación web React en las superficies principales del producto: autenticación, configuración de sesión, navegación del espacio de trabajo, revisión de archivos, transmisión de actividad del agente, revisión de resultados y administración para el usuario.
- Crear patrones de componentes reutilizables para flujos de trabajo complejos y con estado, manteniendo la aplicación mantenible, accesible y fácil de extender para el equipo.
- Construir y mantener endpoints de API de Express/TypeScript que soporten la aplicación web, incluyendo orquestación de sesiones, gestión de archivos, operaciones del espacio de trabajo, seguimiento de uso y nuevas capacidades de producto. *
- Integrar flujos de trabajo de frontend con servicios de backend para autenticación, enrutamiento de LLM, seguimiento de uso, orquestación de agentes, almacenamiento en la nube y datos de aplicación basados en PostgreSQL. *
- Traducir estados complejos de backend y agente en patrones de interfaz intuitivos, incluyendo estados vacíos, estados de progreso, estados de error, estados de revisión y flujos de trabajo reanudables.
EXPERIENCIA DE AGENTE EN TIEMPO REAL
- Implementar y mejorar la interfaz de streaming en tiempo real entre el backend, el tiempo de ejecución del agente y la UI, principalmente a través de eventos enviados por el servidor y patrones relacionados basados en eventos. *
- Renderizar la salida incremental del agente, como texto token a token, tarjetas de ejecución de herramientas, planes, listas de tareas, indicadores de progreso, indicadores de coste y uso, cambios de archivos, advertencias y estados finales del flujo de trabajo. *
- Gestionar el ciclo de vida de la conexión de streaming, reintentos, cancelación, parada cooperativa, comportamiento de parada/reanudación, recuperación de errores y retroalimentación clara cuando los flujos de trabajo de agente de larga duración están en curso. *
- Ayudar a definir contratos de eventos para que la UI pueda presentar el comportamiento del agente claramente sin exponer una complejidad de implementación innecesaria a los usuarios finales. *
- Diseñar patrones de UX y API que ayuden a los usuarios a comprender lo que el agente está haciendo, qué archivos ha modificado, qué salidas están listas para su revisión y qué todavía requiere juicio humano.
TIEMPO DE EJECUCIÓN Y HERRAMIENTAS DEL AGENTE
- Ser responsable y mejorar partes del bucle de agente personalizado de múltiples turnos donde el agente envía mensajes a los proveedores de modelos, analiza respuestas de streaming, ejecuta herramientas, observa resultados e itera dentro de un contenedor de nube aislado. *
- Desarrollar herramientas propietarias que amplíen las capacidades del agente en operaciones de archivos, análisis, transformación, visualización, creación de documentos, procesamiento de datos, validación y automatización de flujos de trabajo. *
- Extender el entorno de ejecución en contenedor para soportar nuevos lenguajes, bibliotecas, utilidades, tipos de archivo, métodos analíticos e integraciones necesarias por los usuarios expertos. *
- Diseñar esquemas de herramientas claros, límites de permisos, patrones de acceso al espacio de trabajo, validación de entrada y mensajes de error que ayuden a los agentes a usar las herramientas de manera efectiva y segura. *
- Crear patrones reutilizables para añadir nuevas herramientas para que las capacidades del agente puedan expandirse sin hacer que el tiempo de ejecución sea frágil, opaco o difícil de depurar.
PROVEEDOR DE LLM, SISTEMAS DE PROMPT Y CONTEXTO
- Soporte para integración multi-modelo entre OpenAI, Anthropic y otros modelos frontera o locales, incluyendo formatos de mensajes específicos del proveedor, formatos de llamada a herramientas, comportamiento de streaming, salidas estructuradas y patrones de error. *
- Construir y mantener capas de traducción que normalicen las diferencias entre proveedores, preservando el acceso a las capacidades más potentes de cada modelo. *
- Diseñar y mantener sistemas de prompt y contexto que den forma al comportamiento del agente, incluyendo identidad analítica, cumplimiento de metodología, modos de interacción, políticas de uso de herramientas, estándares de calidad y patrones de escalada. *
- Implementar estimación de tokens, seguimiento de uso, compresión de contexto, resumen de conversación, caché de prompts y patrones de selección de modelos para sesiones analíticas de larga duración. *
- Evaluar cómo cambia el comportamiento del agente entre proveedores, familias de modelos, prompts, herramientas y flujos de trabajo, y luego adaptar el producto y el tiempo de ejecución para mejorar la calidad, el coste, la velocidad, la fiabilidad, la privacidad y la confianza del usuario.
CICLO DE VIDA DE SESIÓN, ARCHIVOS Y ESPACIO DE TRABAJO
- Ser responsable del ciclo de vida de la sesión de trabajo de IA visible para el usuario, incluyendo creación, configuración, carga de archivos, ejecución en streaming, interrupción, reanudación, revisión de resultados, limpieza del espacio de trabajo y desmontaje. *
- Implementar flujos de archivos del navegador a la nube, incluyendo carga de múltiples archivos, seguimiento de progreso, validación, navegación del espacio de trabajo, previsualización, descarga y manejo de tipos de archivo grandes o mixtos. *
- Soporte para interfaces y APIs que ayuden a los usuarios a comprender el estado de los espacios de trabajo remotos, las salidas generadas, los artefactos intermedios, los archivos de origen y los entregables finales. *
- Mejorar la conexión entre el estado del espacio de trabajo y el estado del agente para que los usuarios puedan revisar el producto de trabajo claramente y los ingenieros puedan depurar el comportamiento de la sesión de manera fiable.
FIABILIDAD, SEGURIDAD Y OBSERVABILIDAD *
- Implementar patrones de fiabilidad como lógica de reintento, manejo de límites de tasa, recuperación de errores de herramientas, parada cooperativa, cancelación graciosa, reanudabilidad y reporte de fallos. *
- Construir con la preparación empresarial en mente, incluyendo flujos de autenticación seguros en el navegador, ciclo de vida de JWT, acceso basado en roles, consideraciones de CORS, CSRF, auditabilidad, patrones de interfaz sensibles a la privacidad y manejo cuidadoso del producto de trabajo confidencial. *
- Añadir registro estructurado, trazado, captura de transcripciones, métricas, pruebas y herramientas de depuración para que el comportamiento del agente pueda ser comprendido tanto a nivel de ingeniería como de producto. *
- Colaborar con partes interesadas de producto, expertos de dominio, backend, infraestructura y seguridad para asegurar que las características de extremo a extremo sean fiables en el navegador, la capa de API, los servicios en la nube y el entorno de ejecución del agente. *
- Contribuir a la disciplina de entrega escribiendo notas técnicas claras, estimando el trabajo de manera reflexiva, apoyando la planificación de sprints y mejorando continuamente las prácticas de desarrollo.
Cualificaciones Deseadas
- Título de Grado en Ingeniería de Software, Ingeniería o disciplina relevante con experiencia en programación/tecnología, título avanzado deseable;
- Más de 6 años de experiencia profesional en ingeniería de software, con sólida propiedad práctica en frontend, backend y sistemas de producto en producción;
- Sólidas habilidades en TypeScript en toda la pila, incluyendo desarrollo moderno de React y desarrollo de API de Node.js/Express;
- Experiencia en la construcción de aplicaciones de React basadas en componentes con estado complejo, múltiples vistas interconectadas, actualizaciones en tiempo real y flujos de trabajo para el usuario que requieren un manejo cuidadoso de errores;
- Experiencia en la construcción o consumo de interfaces en tiempo real utilizando eventos enviados por el servidor, WebSockets, APIs de streaming o patrones similares basados en eventos; *
- Experiencia en la construcción de sistemas agénticos impulsados por LLM que usan herramientas, ejecutan flujos de trabajo de múltiples turnos, gestionan el estado y se recuperan de errores; no solo experiencia en la construcción de chatbots estáticos; *
- Experiencia con llamadas a herramientas o llamadas a funciones de LLM, incluyendo diseño de esquemas de herramientas, streaming de entrada/salida de herramientas, ejecución de múltiples turnos y detalles de implementación específicos del proveedor; *
- Sólida capacidad de ingeniería de prompts para flujos de trabajo estructurados y de múltiples pasos, incluyendo prompts que codifican políticas, metodología, roles y expectativas de uso de herramientas; *
- Comodidad trabajando en Python para herramientas de agente, procesamiento de datos, automatización, evaluación e integración con bibliotecas analíticas; *
- Buen entendimiento de los flujos de autenticación del navegador, ciclo de vida de JWT, refresco de tokens, CORS, cookies seguras, acceso basado en roles y límites de seguridad de frontend/backend; *
- Familiaridad con el diseño de aplicaciones basadas en PostgreSQL y API, incluyendo conciencia práctica del diseño de esquemas, consultas, migraciones y patrones de acceso a datos; *
- Experiencia con entornos de ejecución basados en Docker o Linux y comprensión práctica del aislamiento, acceso al sistema de archivos, gestión de dependencias y depuración del tiempo de ejecución; *
- Sólido juicio de producto, instintos de depuración, disciplina de documentación y capacidad para razonar sobre el comportamiento de la IA, el comportamiento del software y el impacto del usuario al mismo tiempo.
Experiencia Fuertemente Preferida
- Experiencia en el diseño de frameworks de agente personalizados, tiempos de ejecución de agente, bucles de orquestación, sistemas de extensión de herramientas o harnesses de evaluación en lugar de depender completamente de frameworks listos para usar. *
- Experiencia con OpenAI, Anthropic y otros proveedores de modelos APIs, incluyendo streaming, uso de herramientas, salidas estructuradas, seguimiento de uso, límites de tasa y fallos específicos del proveedor. *
- Experiencia con aplicaciones web con muchos archivos, incluyendo progreso de carga, manejo de archivos grandes, previsualización, navegación del espacio de trabajo, revisión de salidas generadas y flujos de descarga. *
- Experiencia en la renderización de markdown, salidas estructuradas, actividad de herramientas, logs, transcripciones, planes u otro contenido incremental rico en React. *
- Experiencia con patrones de cómputo en sandbox o efímeros, contenedores aprovisionados dinámicamente, inyección segura de credenciales y ciclos de vida de tiempo de ejecución con ámbito de sesión. *
- Experiencia con servicios de Azure como Aplicaciones Web Estáticas, Aplicaciones de Contenedores, Instancias de Contenedores, Almacenamiento de Blobs, Base de Datos de Azure para PostgreSQL, Application Insights o servicios en la nube relacionados. *
- Experiencia con Docker, Acciones de GitHub, prácticas de CI/CD, registro estructurado, observabilidad en la nube y colaboración en un entorno de ingeniería distribuido. *
- Experiencia con automatización de navegadores sin cabeza, generación de documentos, análisis de datos, visualización, conversión de archivos, R, LaTeX o herramientas de automatización de flujos de trabajo. *
- Experiencia trabajando en consultoría, servicios profesionales, legal, económico, sanitario, ciencias de la vida, energía, servicios financieros u otros entornos confidenciales/de alto riesgo. *
- Familiaridad con prácticas de IA responsable, evaluación de modelos, revisión de transcripciones, controles de calidad, gobernanza de IA y adopción de IA empresarial.
Entorno Principal
- Frontend: TypeScript, React, Vite, Tailwind CSS
- Backend: Node.js, Express, TypeScript *
- Tiempo de ejecución del agente: Bucle de agente personalizado de múltiples turnos, herramientas propietarias, adaptadores de proveedor de modelos y protocolo de eventos de streaming
- Lenguajes: TypeScript, Node.js, Python; con R, LaTeX y utilidades de shell disponibles en los entornos de ejecución *
- Proveedores de modelos: OpenAI, Anthropic y otros modelos frontera o locales según sea necesario *
- Datos: Estado de la aplicación basado en PostgreSQL y API *
- Streaming: Eventos enviados por el servidor y actualizaciones de UI basadas en eventos *
- Tiempo de ejecución: Entornos de agente basados en Ubuntu en contenedor con espacios de trabajo de proyectos en sandbox *
- Nube: Infraestructura de web, backend, almacenamiento, base de datos, contenedor y observabilidad alojada en Microsoft Azure *
- Contexto del producto: Flujos de trabajo de IA dirigidos por expertos donde la transparencia, la fiabilidad, la confidencialidad y el control de calidad son críticos
Flexibilidad de Ubicación de Trabajo
CRA crea un entorno de trabajo que permite a nuestros colegas beneficiarse de estar juntos en la oficina para cumplir mejor nuestra promesa de crecimiento profesional, mentoría e inclusión. Al mismo tiempo, reconocemos que los individuos obtienen una variedad de beneficios al trabajar desde casa periódicamente. Actualmente esperamos que las personas pasen al menos 3 a 4 días a la semana trabajando en la oficina (lo que puede incluir viajar a otra oficina de CRA o a reuniones con clientes), con días específicos determinados en coordinación con su práctica o equipo.
Nuestro Compromiso con la Igualdad de Oportunidades de Empleo
Charles River Associates es un empleador con igualdad de oportunidades (EOE). Todos los solicitantes cualificados recibirán consideración para el empleo sin distinción de raza, color, religión, sexo, origen nacional, edad, discapacidad, condición de veterano protegido o cualquier otra característica protegida por la ley aplicable.
Salario y otras compensaciones
Una estimación de buena fe del rango salarial base anual para este puesto es de $150,000 - $230,000. El salario real dentro de este rango puede variar según factores como el nivel educativo, la experiencia, las habilidades, la ubicación geográfica, las condiciones del mercado y otras cualificaciones del candidato seleccionado. Este puesto puede ser elegible para una compensación adicional de bonificación por incentivos. CRA ofrece un paquete integral de beneficios, sujeto a los requisitos de elegibilidad, que puede incluir: seguro médico, dental y de visión; plan de jubilación 401(k) con aportación del empleador; seguro de vida y de invalidez; tiempo libre remunerado (vacaciones, baja por enfermedad, días festivos); baja parental remunerada; programas de bienestar y recursos de asistencia al empleado; y beneficios de transporte.
Crecimiento Profesional y Beneficios
- Los sólidos programas de desarrollo de habilidades de CRA crai.com/cra-careers/talent-development/, incluyendo un compromiso de ofrecer 100 horas de formación anuales a través de programas formales e informales, le animan a prosperar como miembro individual y de equipo. La formación abarca formación técnica, habilidades de presentación, seminarios internos y mentoría profesional y coaching de rendimiento de un colega senior asignado. Existen oportunidades adicionales de liderazgo y colaboración a través de actividades internas de desarrollo de la firma.
- Ofrecemos un programa integral de recompensas totales que incluye un paquete de beneficios superior, programación de bienestar crai.com/benefits/ para apoyar el bienestar físico, mental, emocional y financiero, y soporte de inmigración interno crai.com/cra-careers/immigration-global-mobility/ para ciudadanos extranjeros y viajeros de negocios internacionales.
