feat: CV overhaul — modernize skills, add projects, fix proficiency scale
- Title: "Senior Technical Consultant & Full-Stack Developer" - Add Swift & macOS Development skill category (SoundInbox, Commando) - Rename "AI-Assisted Development" → "AI Engineering & Integration" with MCP, ADK, Gemini, CLIP - Remove "Design Tools" (Corel Draw, GIMP) and "Legacy Enterprise" (Struts, Yii, Zend) - Remove jQuery, Assembler, Groovy; add Swift to programming languages - Rewrite Team Management with professional language - Proficiency scale: 1-5 → 1-10 (validation, tests, chat agent prompt) - Add SoundInbox (Swift) and Commando (Go+SwiftUI) to projects - Remove personal details: dateOfBirth, placeOfBirth, domestika, driverLicense - Trim weak LinkedIn Learning courses (speed reading, persuasive UX) - Fix Spanish soft_skills duplicates - Chat agent: 11 new assertions (proficiency scale, new projects, removed skills) - Fix hardcoded year 2025 in TestDefaultCVShortcut → time.Now().Year()
This commit is contained in:
+105
-73
@@ -1,22 +1,22 @@
|
||||
{
|
||||
"personal": {
|
||||
"name": "Juan Andrés Moreno Rubio",
|
||||
"title": "Consultor Técnico Senior, Desarrollador FullStack",
|
||||
"title": "Consultor Técnico Senior & Desarrollador Full-Stack",
|
||||
"titleBadges": [
|
||||
"Consultor Técnico",
|
||||
"Ingeniero Full-Stack",
|
||||
"Especialista en Autenticación",
|
||||
"Arquitecto de Soluciones"
|
||||
"Contribuidor Open Source"
|
||||
],
|
||||
"location": "Arrecife, Las Palmas de Gran Canaria, España",
|
||||
"email": "txeo.msx@gmail.com",
|
||||
"phone": "",
|
||||
"dateOfBirth": "1980-03-02",
|
||||
"placeOfBirth": "Plasencia (Cáceres), España",
|
||||
"dateOfBirth": "",
|
||||
"placeOfBirth": "",
|
||||
"citizenship": "Española",
|
||||
"linkedin": "https://www.linkedin.com/in/juan-andres-moreno-rubio",
|
||||
"github": "https://github.com/juanatsap",
|
||||
"domestika": "https://www.domestika.org/es/txeo/portfolio",
|
||||
"domestika": "",
|
||||
"website": "https://juan.andres.morenorub.io",
|
||||
"photo": "/static/images/profile.jpg",
|
||||
"firstName": "Juan Andrés",
|
||||
@@ -26,12 +26,12 @@
|
||||
"seo": {
|
||||
"pageTitle": "Curriculum Vitae",
|
||||
"metaTitle": "CV Profesional",
|
||||
"metaDescription": "18 años de experiencia en desarrollo web, SAP CDC, React, Node.js, Go, HTMX y desarrollo asistido por IA",
|
||||
"ogDescription": "Consultor Técnico Senior con 18 años de experiencia",
|
||||
"keywords": "CV, Curriculum Vitae, Desarrollador FullStack, SAP CDC, React, Node.js, Go, HTMX, IA, Desarrollo Web, Consultor Técnico"
|
||||
"metaDescription": "Consultor Técnico Senior y Desarrollador Full-Stack — Go, HTMX, React, Node.js. SAP CDC, sistemas de autenticación, integración IA, herramientas open-source",
|
||||
"ogDescription": "Consultor Técnico Senior & Desarrollador Full-Stack — Go, IA, HTMX, SAP CDC",
|
||||
"keywords": "CV, Curriculum Vitae, Desarrollador FullStack, Go, Swift, macOS, MCP, IA, HTMX, React, Node.js, SAP CDC, Apps Nativas, Herramientas CLI, Open Source"
|
||||
},
|
||||
"summary": "Desarrollador full-stack especializado en sistemas de alta disponibilidad. He participado en plataformas de Juegos Olímpicos, sistemas de autenticación aeroportuaria con millones de usuarios, y desarrollado unos 20 sitios web para diversos sectores (e-commerce, empresariales, institucionales). Consultor certificado de SAP Customer Data Cloud, asesorando a 35-40 clientes internacionales en soluciones de identidad digital.",
|
||||
"skillsSummary": "Desarrollador <strong>full-stack</strong> con experiencia en <strong>Go</strong>, <strong>Node.js</strong>, <strong>React</strong> y <strong>HTMX</strong> para <strong>aplicaciones modernas</strong>, además de conocimientos en Java y PHP para proyectos legacy. He trabajado en <strong>unos 20 sitios web</strong> y realizado <strong>consultoría para 35-40 clientes internacionales</strong>, desde e-commerce y plataformas empresariales hasta <strong>sistemas de autenticación</strong> que gestionan <strong>millones de usuarios</strong>. Familiarizado con flujos de trabajo asistidos por <strong>IA</strong> y gestión de infraestructura (<strong>Linux</strong>, <strong>Docker</strong>, <strong>CI/CD</strong>). Me adapto bien tanto al trabajo independiente como colaborativo en equipos internacionales.",
|
||||
"summary": "Desarrollador full-stack especializado en sistemas de autenticación y plataformas de alta disponibilidad. He participado en plataformas de Juegos Olímpicos, sistemas de autenticación aeroportuaria con millones de usuarios, y desarrollado unos 20 sitios web para diversos sectores. Consultor certificado de SAP Customer Data Cloud, asesorando a 35-40 clientes internacionales en soluciones de identidad digital. También desarrollo herramientas open-source y aplicaciones nativas de forma independiente a través de Drolosoft.",
|
||||
"skillsSummary": "Desarrollador <strong>full-stack</strong> con experiencia en <strong>Go</strong>, <strong>Node.js</strong>, <strong>React</strong> y <strong>HTMX</strong> para aplicaciones modernas. He realizado <strong>consultoría para 35-40 clientes internacionales</strong>, desde e-commerce y plataformas empresariales hasta <strong>sistemas de autenticación</strong> que gestionan <strong>millones de usuarios</strong>. Integro <strong>herramientas de IA</strong> en mis flujos de desarrollo y construyo proyectos que usan <strong>LLMs</strong> y <strong>MCP</strong>. También creo <strong>herramientas open-source</strong> y <strong>apps nativas macOS</strong> de forma independiente. Cómodo gestionando infraestructura con <strong>Linux</strong>, <strong>Docker</strong> y <strong>CI/CD</strong>.",
|
||||
"experience": [
|
||||
{
|
||||
"position": "Consultor Técnico Senior SAP",
|
||||
@@ -350,24 +350,23 @@
|
||||
"technical": [
|
||||
{
|
||||
"category": "Lenguajes de Programación",
|
||||
"proficiency": 4,
|
||||
"proficiency": 7,
|
||||
"items": [
|
||||
"JavaScript (ES6+)",
|
||||
"Go",
|
||||
"Swift",
|
||||
"JavaScript (ES6+)",
|
||||
"TypeScript",
|
||||
"Node.js",
|
||||
"Python",
|
||||
"Shell Scripting (Bash/Unix)",
|
||||
"PHP",
|
||||
"Java",
|
||||
"Groovy",
|
||||
"SQL",
|
||||
"Assembler"
|
||||
"SQL"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Ecosistema JavaScript",
|
||||
"proficiency": 5,
|
||||
"proficiency": 8,
|
||||
"sidebar": "left",
|
||||
"items": [
|
||||
"Node.js y Express",
|
||||
@@ -380,7 +379,7 @@
|
||||
},
|
||||
{
|
||||
"category": "Ecosistema Go",
|
||||
"proficiency": 5,
|
||||
"proficiency": 8,
|
||||
"sidebar": "left",
|
||||
"items": [
|
||||
"Hono - Framework Web de Alto Rendimiento",
|
||||
@@ -393,15 +392,26 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Tecnologías Frontend",
|
||||
"category": "Swift y Desarrollo macOS",
|
||||
"proficiency": 5,
|
||||
"sidebar": "left",
|
||||
"items": [
|
||||
"Swift 6 y SwiftUI",
|
||||
"AppKit y APIs macOS",
|
||||
"Aplicaciones Nativas de Barra de Menú",
|
||||
"UserNotifications y AVFoundation",
|
||||
"Distribución y Notarización de Apps macOS"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Tecnologías Frontend",
|
||||
"proficiency": 9,
|
||||
"sidebar": "left",
|
||||
"items": [
|
||||
"HTMX - Aplicaciones Basadas en Hipermedia",
|
||||
"HTML5 y Web Semántica",
|
||||
"CSS3, Tailwind CSS, SASS/LESS",
|
||||
"JavaScript - Manipulación DOM y AJAX",
|
||||
"jQuery",
|
||||
"Mejora Progresiva y Accesibilidad",
|
||||
"Diseño Responsive y Mobile-First",
|
||||
"Motores de Plantillas (Handlebars, Panini, Mustache)"
|
||||
@@ -409,7 +419,7 @@
|
||||
},
|
||||
{
|
||||
"category": "Tecnologías Backend",
|
||||
"proficiency": 5,
|
||||
"proficiency": 8,
|
||||
"sidebar": "left",
|
||||
"items": [
|
||||
"Go - Stack Principal Actual",
|
||||
@@ -420,21 +430,9 @@
|
||||
"Diseño y Optimización de Bases de Datos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Tecnologías Enterprise Anteriores",
|
||||
"proficiency": 3,
|
||||
"sidebar": "left",
|
||||
"items": [
|
||||
"Java y J2EE",
|
||||
"Spring Framework, Struts, Hibernate",
|
||||
"PHP y WordPress",
|
||||
"Yii Framework, Zend Framework",
|
||||
"Servidores de Aplicaciones Enterprise (Tomcat, JBoss, WebLogic)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Infraestructura y Servidores",
|
||||
"proficiency": 5,
|
||||
"proficiency": 7,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"Administración de Servidores Linux",
|
||||
@@ -446,7 +444,7 @@
|
||||
},
|
||||
{
|
||||
"category": "DevOps y CI/CD",
|
||||
"proficiency": 5,
|
||||
"proficiency": 7,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"Diseño e Implementación de Pipelines CI/CD",
|
||||
@@ -458,7 +456,7 @@
|
||||
},
|
||||
{
|
||||
"category": "Bases de Datos",
|
||||
"proficiency": 4,
|
||||
"proficiency": 6,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"PostgreSQL",
|
||||
@@ -472,32 +470,19 @@
|
||||
},
|
||||
{
|
||||
"category": "Gestión de Equipos",
|
||||
"proficiency": 4,
|
||||
"proficiency": 6,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"Preparación y puesta en marcha de proyectos",
|
||||
"Comunicación fluida con los clientes",
|
||||
"Contratación de personal",
|
||||
"Gestión de tareas",
|
||||
"Reportes mensuales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Herramientas de Diseño",
|
||||
"proficiency": 3,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"Corel Draw",
|
||||
"Adobe PhotoShop",
|
||||
"Adobe Illustrator",
|
||||
"Affinity",
|
||||
"Excalidraw",
|
||||
"GIMP"
|
||||
"Coordinación de Equipos Multidisciplinares",
|
||||
"Asesoramiento a Clientes y Gestión de Stakeholders",
|
||||
"Mentoría Técnica e Incorporación",
|
||||
"Planificación y Entrega de Proyectos",
|
||||
"Colaboración en Equipos Internacionales"
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Tecnologías SAP",
|
||||
"proficiency": 5,
|
||||
"proficiency": 9,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"SAP Customer Data Cloud (CDC)",
|
||||
@@ -507,15 +492,16 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"category": "Desarrollo Asistido por IA",
|
||||
"proficiency": 5,
|
||||
"category": "Ingeniería IA e Integración",
|
||||
"proficiency": 7,
|
||||
"sidebar": "right",
|
||||
"items": [
|
||||
"Flujos de Desarrollo con IA (Claude Code, Copilot, GPT-4)",
|
||||
"Desarrollo Basado en Agentes y Especificaciones",
|
||||
"Ingeniería de Prompts e Integración de IA",
|
||||
"Generación Automática de Código y Documentación",
|
||||
"APIs OpenAI y Anthropic"
|
||||
"Servidores MCP (Model Context Protocol)",
|
||||
"Google ADK e Integración con Gemini",
|
||||
"APIs de LLMs (OpenAI, Anthropic, Google)",
|
||||
"Flujos de Desarrollo con IA (Claude Code, Copilot)",
|
||||
"Embeddings CLIP y Búsqueda Visual",
|
||||
"Flujos de Trabajo Agénticos y Automatización"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -528,12 +514,7 @@
|
||||
"Formación y Mentoría",
|
||||
"Gestión de Relaciones con Clientes",
|
||||
"Flexibilidad y Adaptabilidad",
|
||||
"Marketing y Gestión de Recursos",
|
||||
"Preparación y puesta en marcha de proyectos",
|
||||
"Comunicación fluida con los clientes",
|
||||
"Contratación de personal",
|
||||
"Gestión de tareas",
|
||||
"Reportes mensuales"
|
||||
"Desarrollo de Producto y Publicación"
|
||||
]
|
||||
},
|
||||
"languages": [
|
||||
@@ -613,6 +594,59 @@
|
||||
],
|
||||
"projectID": "cmux-resurrect"
|
||||
},
|
||||
{
|
||||
"title": "SoundInbox - Alertas Sonoras de Email para macOS",
|
||||
"projectName": "SoundInbox",
|
||||
"projectDesc": "Alertas Sonoras de Email para macOS",
|
||||
"url": "https://drolosoft.com/soundinbox.html?lang=es",
|
||||
"gitRepoUrl": "https://github.com/drolosoft/soundinbox",
|
||||
"projectLogo": "soundinbox.png",
|
||||
"location": "Online",
|
||||
"startDate": "2026",
|
||||
"current": true,
|
||||
"technologies": [
|
||||
"Swift 6",
|
||||
"SwiftUI",
|
||||
"AppKit",
|
||||
"AVFoundation",
|
||||
"macOS Nativo"
|
||||
],
|
||||
"shortDescription": "App nativa open-source de barra de menú para macOS que convierte emails importantes en sonidos inconfundibles. Detección basada en fórmulas con sonidos de alerta seleccionados, motor de reglas personalizado y cero dependencias.",
|
||||
"responsibilities": [
|
||||
"Desarrollé aplicación nativa de barra de menú para macOS en Swift 6 con SwiftUI y AppKit",
|
||||
"Implementé motor de detección de emails basado en fórmulas con lógica AND/OR y coincidencia regex",
|
||||
"Creé 10 fórmulas de detección predefinidas (pagos, ventas, urgente, envíos, seguridad)",
|
||||
"Diseñé historial de coincidencias con estadísticas y 15 sonidos de alerta seleccionados",
|
||||
"Publicado como open-source con 137 tests en 11 suites de pruebas"
|
||||
],
|
||||
"projectID": "soundinbox"
|
||||
},
|
||||
{
|
||||
"title": "Commando - Gestor de Comandos de Terminal para macOS",
|
||||
"projectName": "Commando",
|
||||
"projectDesc": "Gestor de Comandos de Terminal para macOS",
|
||||
"url": "https://drolosoft.com/commando.html?lang=es",
|
||||
"projectLogo": "commando.png",
|
||||
"location": "Online",
|
||||
"startDate": "2026",
|
||||
"current": true,
|
||||
"technologies": [
|
||||
"Go",
|
||||
"SwiftUI",
|
||||
"SQLite FTS5",
|
||||
"macOS Nativo",
|
||||
"Herramientas CLI"
|
||||
],
|
||||
"shortDescription": "Gestor nativo de comandos de terminal para macOS combinando backend Go con frontend SwiftUI. Organiza, busca y ejecuta comandos con búsqueda de texto completo, gestor TUI y descubrimiento de alias.",
|
||||
"responsibilities": [
|
||||
"Desarrollé app híbrida nativa para macOS combinando backend Go con frontend SwiftUI",
|
||||
"Implementé búsqueda de texto completo usando SQLite FTS5 con ranking BM25 (<50ms resultados)",
|
||||
"Creé gestor TUI para lanzar interfaces de terminal (htop, lazygit, lazydocker)",
|
||||
"Desarrollé gestor de alias que descubre y gestiona aliases de shell en bash, zsh y fish",
|
||||
"Diseñé modelo freemium con funciones básicas gratuitas y tier Pro para herramientas avanzadas"
|
||||
],
|
||||
"projectID": "commando"
|
||||
},
|
||||
{
|
||||
"title": "Somos Una Ola - Iniciativa de Limpieza de Playas",
|
||||
"projectName": "Somos Una Ola",
|
||||
@@ -839,10 +873,8 @@
|
||||
"duration": "Varios",
|
||||
"shortDescription": "Cursos de desarrollo profesional en tecnologías SAP, diseño UX, seguridad y análisis de datos a través de la plataforma de formación integral de LinkedIn Learning.",
|
||||
"responsibilities": [
|
||||
"<iconify-icon icon='mdi:book-open-page-variant' width='60' height='60' class='default-company-icon' style='color: #D97706;'></iconify-icon><div><strong>Aprende lectura rápida</strong> <em>Abril 2020</em>: Técnicas de lectura rápida y estrategias de comprensión para desarrollo profesional y procesamiento eficiente de información</div>",
|
||||
"<iconify-icon icon='mdi:cloud' width='60' height='60' class='default-company-icon' style='color: #0FAAFF;'></iconify-icon><div><strong>A Tour of the SAP Cloud Platform</strong> <em>Febrero 2020</em>: Visión general completa de servicios de SAP Cloud Platform, arquitectura y capacidades de integración para soluciones empresariales en la nube</div>",
|
||||
"<iconify-icon icon='mdi:android' width='60' height='60' class='default-company-icon' style='color: #3DDC84;'></iconify-icon><div><strong>Learning Android Security</strong> <em>Febrero 2020</em>: Mejores prácticas de seguridad Android, métodos de encriptación, prácticas de codificación segura y fundamentos de seguridad de aplicaciones móviles</div>",
|
||||
"<iconify-icon icon='mdi:account-group' width='60' height='60' class='default-company-icon' style='color: #EC4899;'></iconify-icon><div><strong>Persuasive UX: Creating Credibility</strong> <em>Enero 2020</em>: Principios de diseño de experiencia de usuario enfocados en generar confianza, credibilidad y patrones de diseño persuasivo para aplicaciones web</div>",
|
||||
"<iconify-icon icon='mdi:database' width='60' height='60' class='default-company-icon' style='color: #3B82F6;'></iconify-icon><div><strong>Big Data Foundations: Techniques and Concepts</strong> <em>Diciembre 2019</em>: Fundamentos de tecnologías big data, computación distribuida, frameworks de procesamiento de datos y técnicas de análisis</div>"
|
||||
],
|
||||
"courseID": "certificaciones-linkedin-learn"
|
||||
@@ -981,11 +1013,11 @@
|
||||
}
|
||||
],
|
||||
"other": {
|
||||
"driverLicense": "Tipo B"
|
||||
"driverLicense": ""
|
||||
},
|
||||
"meta": {
|
||||
"version": "2025-11-09",
|
||||
"lastUpdated": "2025-11-08",
|
||||
"version": "2026-04-12",
|
||||
"lastUpdated": "2026-04-12",
|
||||
"format": "JSON Resume Extended",
|
||||
"language": "es"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user