About this role
Descripción del puesto / Funciones <p>Estamos buscando un/a Full Stack Web Developer con fuerte orientación backend para unirse al equipo de productos de IA que desarrolla una plataforma Multi-cloud de GenAI (Azure, AWS, Google Cloud), con foco principal en el servicio Secure GPT.</p><p>Se trata de un rol técnico clave en un entorno internacional, donde contribuirás al diseño, desarrollo y evolución de capacidades avanzadas de IA generativa, garantizando seguridad, escalabilidad y cumplimiento regulatorio.</p><strong>Funciones:</strong><br><br><ul><li>Diseñar, desarrollar y mejorar funcionalidades del servicio <strong>Secure GPT</strong> (RAG, agentes, comprensión de documentos, traducción, APIs, automatización).</li><li>Participar en todo el ciclo de desarrollo: análisis, diseño técnico, implementación, testing, documentación y monitorización.</li><li>Construir y mantener APIs robustas y escalables.</li><li>Definir y monitorizar KPIs de uso y rendimiento del producto.</li><li>Desarrollar automatizaciones y mejoras de eficiencia en la plataforma.</li><li>Colaborar con Tech Lead y Product Owner en un equipo internacional.</li><li>Asegurar el cumplimiento de estándares de <strong>seguridad, compliance y arquitectura corporativa</strong></li></ul><br> Requisitos mínimos <ul><li>+5 años en desarrollo web backend (idealmente en entornos Azure o cloud).</li><li><strong>Node.js (backend)</strong> y <strong>React / Next.js (frontend ligero)</strong>.</li><li>Diseño e implementación de <strong>APIs REST/GraphQL</strong>.</li><li>Experiencia completa en testing:<ul><li>Unit testing.</li><li>End-to-end (E2E).</li></ul></li><li>Azure:<ul><li>App Services.</li><li>Cosmos DB.</li><li>Application Insights.</li><li>Observabilidad y monitoring.</li></ul></li><li>CI/CD con <strong>Azure DevOps.</strong></li><li>Conocimientos de <strong>Infrastructure as Code (IaC).</strong></li><li>Experiencia con APIs de IA: OpenAI, Azure AI, Anthropic o Gemini.</li><li>Conocimiento de:<ul><li>RAG (Retrieval-Augmented Generation).</li><li>Agentes / agentic frameworks.</li></ul></li><li>Experiencia en <strong>prompt engineering</strong> (diseño, iteración y optimización de prompts).</li><li>Mentalidad autónoma: ownership end-to-end de funcionalidades.</li><li>Enfoque proactivo y orientado a soluciones.</li><li>Capacidad de trabajar en entornos cambiantes.</li><li>Buen nivel de comunicación en inglés (mínimo B1).</li><li>Trabajo en equipo en contextos internacionales.</li></ul><br> Idiomas <ul><li>Idiomas: Español e Inglés.</li></ul> Ubicación <ul><li>Ubicación: Barcelona.</li><li>Viajes ocasionales: Francia, España o Portugal.</li></ul> ¿Por qué nosotros? <p style="border:0px solid;margin:0px;color:rgb(32,32,32);font-family:Inter, '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Open Sans', 'system-ui', '-apple-system', 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:14px;font-style:normal;font-weight:400;text-transform:none;background-color:rgb(255,255,255);"><span style="border:0px solid;margin:0px;">¡Un </span><span style="border:0px solid;margin:0px;">día </span><span style="border:0px solid;margin:0px;">libre </span><span style="border:0px solid;margin:0px;">por </span><span style="border:0px solid;margin:0px;">tu </span><span style="border:0px solid;margin:0px;">cumpleaños </span><span style="border:0px solid;margin:0px;">para </span><span style="border:0px solid;margin:0px;">que </span><span style="border:0px solid;margin:0px;">lo </span><span style="border:0px solid;margin:0px;">celebres </span><span style="border:0px solid;margin:0px;">como </span><span style="border:0px solid;margin:0px;">quieras!</span></p><p style="border:0px solid;margin:0px;color:rgb(32,32,32);font-family:Inter, '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Open Sans', 'system-ui', '-apple-system', 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:14px;font-style:normal;font-weight:400;text-transform:none;background-color:rgb(255,255,255);"><span style="border:0px solid;margin:0px;">Mejoras </span><span style="border:0px solid;margin:0px;">en </span><span style="border:0px solid;margin:0px;">permisos </span><span style="border:0px solid;margin:0px;">retribuidos </span><span style="border:0px solid;margin:0px;">para </span><span style="border:0px solid;margin:0px;">un </span><span style="border:0px solid;margin:0px;">mejor </span><span style="border:0px solid;margin:0px;">equilibrio </span><span style="border:0px solid;margin:0px;">personal </span><span style="border:0px solid;margin:0px;">y </span><span style="border:0px solid;margin:0px;">profesional.</span></p><p style="border:0px solid;margin:0px;color:rgb(32,32,32);font-family:Inter, '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Open Sans', 'system-ui', '-apple-system', 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:14px;font-style:normal;font-weight:400;text-transform:none;background-color:rgb(255,255,255);"><span style="border:0px solid;margin:0px;">Acceso </span><span style="border:0px solid;margin:0px;">a </span><span style="border:0px solid;margin:0px;">seguro </span><span style="border:0px solid;margin:0px;">médico </span><span style="border:0px solid;margin:0px;">privado </span><span style="border:0px solid;margin:0px;">para </span><span style="border:0px solid;margin:0px;">tu </span><span style="border:0px solid;margin:0px;">tranquilidad.</span></p><p style="border:0px solid;margin:0px;color:rgb(32,32,32);font-family:Inter, '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Open Sans', 'system-ui', '-apple-system', 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:14px;font-style:normal;font-weight:400;text-transform:none;background-color:rgb(255,255,255);"><span style="border:0px solid;margin:0px;">Días </span><span style="border:0px solid;margin:0px;">de </span><span style="border:0px solid;margin:0px;">vacaciones </span><span style="border:0px solid;margin:0px;">extra </span><span style="border:0px solid;margin:0px;">según </span><span style="border:0px solid;margin:0px;">tu </span><span style="border:0px solid;margin:0px;">antigüedad, </span><span style="border:0px solid;margin:0px;">porque </span><span style="border:0px solid;margin:0px;">valoramos </span><span style="border:0px solid;margin:0px;">tu </span><span style="border:0px solid;margin:0px;">descanso </span><span style="border:0px solid;margin:0px;">y </span><span style="border:0px solid;margin:0px;">bienestar.</span></p><p style="border:0px solid;margin:0px;color:rgb(32,32,32);font-family:Inter, '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Open Sans', 'system-ui', '-apple-system', 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:14px;font-style:normal;font-weight:400;text-transform:none;background-color:rgb(255,255,255);"><span style="border:0px solid;margin:0px;">En </span><span style="border:0px solid;margin:0px;">Pasiona </span><span style="border:0px solid;margin:0px;">apostamos </span><span style="border:0px solid;margin:0px;">por </span><span style="border:0px solid;margin:0px;">la </span><span style="border:0px solid;margin:0px;">diversidad </span><span style="border:0px solid;margin:0px;">y </span><span style="border:0px solid;margin:0px;">la </span><span style="border:0px solid;margin:0px;">igualdad </span><span style="border:0px solid;margin:0px;">de </span><span style="border:0px solid;margin:0px;">oportunidades.</span></p><p style="border:0px solid;margin:0px;color:rgb(32,32,32);font-family:Inter, '-apple-system', BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', 'Open Sans', 'system-ui', '-apple-system', 'Segoe UI', Roboto, Ubuntu, Cantarell, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';font-size:14px;font-style:normal;font-weight:400;text-transform:none;background-color:rgb(255,255,255);"><span style="border:0px solid;margin:0px;">Animamos </span><span style="border:0px solid;margin:0px;">a </span><span style="border:0px solid;margin:0px;">postularse </span><span style="border:0px solid;margin:0px;">a </span><span style="border:0px solid;margin:0px;">todas </span><span style="border:0px solid;margin:0px;">las </span><span style="border:0px solid;margin:0px;">personas, </span><span style="border:0px solid;margin:0px;">con </span><span style="border:0px solid;margin:0px;">independencia </span><span style="border:0px solid;margin:0px;">de </span><span style="border:0px solid;margin:0px;">su </span><span style="border:0px solid;margin:0px;">género, </span><span style="border:0px solid;margin:0px;">edad, </span><span style="border:0px solid;margin:0px;">discapacidad, </span><span style="border:0px solid;margin:0px;">orientación </span><span style="border:0px solid;margin:0px;">sexual, </span><span style="border:0px solid;margin:0px;">identidad </span><span style="border:0px solid;margin:0px;">de </span><span style="border:0px solid;margin:0px;">género, </span><span style="border:0px solid;margin:0px;">origen </span><span style="border:0px solid;margin:0px;">étnico, </span><span style="border:0px solid;margin:0px;">religión </span><span style="border:0px solid;margin:0px;">u </span><span style="border:0px solid;margin:0px;">otras </span><span style="border:0px solid;margin:0px;">circunstancias </span><span style="border:0px solid;margin:0px;">personales </span><span style="border:0px solid;margin:0px;">o </span><span style="border:0px solid;margin:0px;">sociales.</span></p>