Logotipo FactoriaF5

Guía de uso

Versión 1.0.0

Principios del Modelo de Competencias

Beneficios de este enfoque

  • Escalabilidad: Puedes cambiar o añadir herramientas sin modificar la definición de la competencia.
  • Neutralidad: Las competencias son válidas para distintos stacks tecnológicos.
  • Claridad: Separa el aprendizaje conceptual (competencias e indicadores) del aprendizaje técnico (herramientas e indicadores de herramienta).

Buenas prácticas implementadas

  • Separación clara entre competencias, herramientas e indicadores.
  • Competencias centradas en habilidades y comportamientos, no en tecnologías concretas.
  • Herramientas como tecnologías específicas, asociadas a competencias.
  • Indicadores como criterios de evaluación, tanto para competencias como para herramientas.
  • Recursos con criterios de calidad e integrados en herramientas y competencias y con contribuidores identificables.
  • Niveles de dominio y progresión en las competencias y en las herramientas.
  • Evita duplicidades y mantiene la claridad en la definición de competencias.

La Regla del 3: Principio Mnemotécnico

Para facilitar la comprensión y memorización del modelo, hemos implementado la regla del 3 como principio mnemotécnico:

  • 3 Dimensiones: Competencias, Herramientas y Recursos
  • 3 Niveles de dominio en competencias e indicadores Inicial, Medio y Avanzado
  • 3 Indicadores por Nivel en competencias e indicadores: Como referencia estándar para evaluar el progreso

Esta estructura tripartita facilita la organización mental del contenido y proporciona una referencia clara para la evaluación y el desarrollo de competencias.

Áreas

Las áreas representan categorías profesionales y/o disciplinas del conocimiento que nos permiten organizar y clasificar las competencias.

Estas etiquetas son muy flexibles y se actualizan para adaptarse a las nuevas demandas del mercado laboral y las tendencias tecnológicas.

Competencias

Las competencias se centran en los conocimientos, habilidades y comportamientos observables (el "qué" y el "cómo").

  • Se centran en conocimientos, habilidades y comportamientos observables
  • No dependen de herramientas concretas, siendo válidas para distintos stacks
  • Incluyen indicadores de evaluación y en un futuro tendremos tiempos aproximados de desarrollo

Herramientas

Las herramientas son el "con qué". Son tecnologías, librerías o frameworks específicos que se vinculan a competencias, permitiendo flexibilidad y actualización tecnológica.

  • Son tecnologías, librerías o frameworks específicos
  • Se mantienen como entidades independientes para permitir reutilización y gestión flexible
  • Se asocian con competencias específicas, permitiendo evaluación precisa del conocimiento técnico
  • Pueden estar asociadas a áreas específicas, mostrando iconos visuales para facilitar la identificación

🎯 Iconos de Áreas en Herramientas

Cuando una herramienta está directamente asociada a un área específica, se muestra un icono circular blanco con el símbolo del área en el botón de la herramienta.

Esto te ayuda a identificar rápidamente qué herramientas están relacionadas con áreas particulares (como IA, Web, Accesibilidad, etc.) y facilita la navegación visual en la interfaz.

⚠️ Nota Importante

Las herramientas en este sistema son librerías, frameworks, plataformas, entornos o herramientas de desarrollo. Los algoritmos concretos (como SVM, Random Forest, Logistic Regression, etc.) deben considerarse indicadores de herramienta, no herramientas.

Niveles de Dominio

Tanto las competencias como las herramientas se evalúan en tres niveles de dominio:

  • Inicial (Nivel 1): Conocimientos básicos y habilidades fundamentales
  • Medio (Nivel 2): Aplicación práctica y dominio intermedio
  • Avanzado (Nivel 3): Maestría y capacidad de enseñanza

📋 Nota sobre Indicadores

Los indicadores de herramienta pueden estar vinculados a competencias específicas o mostrarse en todas las competencias que utilicen esa herramienta.

Recursos

Los recursos son materiales de apoyo que pueden estar asociados directamente a competencias (recursos generales) o a herramientas específicas (recursos de herramienta) o a ambos.

Tipos de Recursos

  • Recursos Generales de Competencia: Materiales de apoyo directamente asociados a una competencia específica. Estos recursos aparecen en la sección "Recursos relacionados con la competencia" y son independientes de las herramientas.
  • Recursos Específicos de Herramienta: Materiales de apoyo asociados a herramientas tecnológicas específicas. Estos recursos aparecen dentro de cada herramienta y están vinculados a tecnologías concretas.
  • Recursos que están asociados a ambas: Materiales de apoyo que están asociados a una competencia y a unaa herramientas específicaa. Estos recursos aparecen en la sección "Recursos relacionados con la competencia" y en la sección "Recursos relacionados con la herramienta".

Tipos de Contenido Aceptados

  • Certificaciones oficiales y reconocidas en la industria
  • Cursos externos de calidad de plataformas
  • Repositorios en GitHub con contenido para clases, obligatoriamente dentro de la organización de F5. Los README del contenido idealmente deben tener un indice, teoría y code de práctica, recursos adicionales (Libros, vídeos, etc.).
  • Presentaciones de Google o de Canvas (con enlaces de visualización accesibles y alojadas en organizaciones de F5).
  • Proyectos en GitHub para coders, obligatoriamente dentro de la organización de F5. Idealmente con la solución vinculada al repo de forma privada.

Espacios para subir materiales, talleres y clases

Para centralizar todos los contenidos y mantener la organización, los materiales deben subirse en los siguientes espacios:

  • Organizaciones de GitHub de Factoría F5
    • Uso: subir repositorios con el código de las clases y talleres.
    • Requisitos: Las clases se redactarán principalmente en los README (con Markdown) de cada repositorio (con índice, teoría, ejercicios prácticos y recursos adicionales).
    • Nota: Si se utiliza una presentación de apoyo, esta se creará en Canva y, siempre que corresponda, se deberá adjuntar el enlace en el README del repositorio de la clase.
  • Presentaciones y Documentos en organizaciones de Factoría F5 (Canva / Google Drive)
    • Uso: creación y alojamiento de presentaciones y documentos utilizados en las clases.
    • Requisitos:
      • Pueden realizarse en Canva o en Google Drive (Docs, Slides).
      • Deben estar claramente titulados y vinculados a la competencia, taller o herramienta correspondiente.
      • Algunas presentaciones o documentos estarán asociados directamente a un repositorio; otros podrán existir de forma independiente (por ejemplo, materiales de cursos transversales o de varias competencias).

Criterios de Calidad

  • Deben estar bien etiquetados para facilitar su búsqueda y organización
  • La cantidad de contribuidores es un indicador de la calidad del recurso
  • Es recomendable especificar comentarios relavantes sobre el los recursos asó como el precio y la disponibilidad del recurso en las observaciones

💡 Cuándo usar cada tipo

  • Recursos Generales: Para materiales que abordan la competencia de forma integral, sin centrarse en una herramienta específica
  • Recursos de Herramienta: Para materiales que enseñan el uso específico de una tecnología o framework

Edición y exportación de tus competencias favoritas

  • Puedes editar tu lista de competencias favoritas desde la sección correspondiente de la plataforma.
  • Una vez descargado el PDF, si necesitas editar el contenido o conservar el formato en Word, utiliza la herramienta online iLovePDF: PDF a Word. Esta herramienta mantiene el formato, los colores y las tablas del PDF al convertirlo a un documento Word editable.
  • Así podrás personalizar tu documento, añadir comentarios o adaptarlo a tus necesidades sin perder la maquetación original.

Guía SQL para añadir herramientas y recursos

Para añadir nuevas herramientas y recursos directamente en la base de datos MySQL, sigue estos pasos:

Pasos principales:

  1. Crear la herramienta en la tabla tool
  2. Vincular la herramienta a una competencia en competence_tools
  3. Añadir referente a la herramienta en tool_referents
  4. Crear indicadores para la herramienta en indicator
  5. Vincular indicadores a la herramienta en tool_indicators
  6. Crear recursos en resource
  7. Vincular recursos a herramientas o competencias

📋 Script SQL Completo - Crear Herramienta

1-- Crear herramienta React
2INSERT INTO `tool` (name, description) VALUES ('React', 'Biblioteca de JavaScript para construir interfaces de usuario');
3SET @tool_id = LAST_INSERT_ID();
4
5-- Vincular a competencia
6INSERT INTO `competence_tools` (competence_id, tool_id) VALUES (10, @tool_id);
7
8-- Añadir referente
9INSERT INTO `tool_referents` (tool_id, referent_id) VALUES (@tool_id, 4);
10
11-- Crear indicadores
12INSERT INTO `indicator` (name, description, level_id) VALUES
13('Componentes básicos', 'Crea componentes funcionales simples', 1),
14('Hooks personalizados', 'Desarrolla hooks reutilizables', 2),
15('Optimización avanzada', 'Implementa técnicas de optimización', 3);
16
17-- Vincular indicadores a herramienta
18INSERT INTO `tool_indicators` (tool_id, indicator_id) VALUES
19(@tool_id, LAST_INSERT_ID()-2),
20(@tool_id, LAST_INSERT_ID()-1),
21(@tool_id, LAST_INSERT_ID());
22
23-- Crear recurso
24INSERT INTO `resource` (label, url, comments) VALUES
25('React Documentation', 'https://react.dev/', 'Documentación oficial de React');
26SET @resource_id = LAST_INSERT_ID();
27
28-- Vincular recurso a herramienta
29INSERT INTO `tool_resources` (tool_id, resource_id) VALUES (@tool_id, @resource_id);
30
31-- Añadir tipo y proveedor
32INSERT INTO `resource_types` (resource_id, type_id) VALUES (@resource_id, 1);
33INSERT INTO `resource_providers` (resource_id, provider_id) VALUES (@resource_id, 1);
34

📋 Script SQL Completo - Actualizar Competencia con IA

Ejemplo de cómo actualizar una competencia existente y añadir indicadores relacionados con IA:

1-- 1. Actualizar nombre y descripción de la competencia existente
2UPDATE `competence`
3SET name = 'Configura y automatiza su entorno de trabajo con IA',
4description = 'Configura su espacio digital de forma eficiente y segura, integrando herramientas tecnológicas e inteligencia artificial para automatizar flujos de trabajo, mejorar la productividad y resolver tareas técnicas o repetitivas.'
5WHERE id = 20;
6
7-- 2. Definir directamente el ID de la competencia
8SET @competence_id = 20;
9
10-- 3. Insertar los 5 indicadores
11INSERT INTO `indicator` (`name`, `description`, `level_id`) VALUES
12('Explora fundamentos de cloud y su relación con la IA', 'Comprende conceptos clave de computación en la nube y certificaciones relacionadas con IA.', 1),
13('Diseña flujos de trabajo automatizados', 'Conecta herramientas digitales (correo, tareas, calendario, etc.) mediante IA para optimizar procesos.', 2),
14('Obtiene resúmenes automáticos de reuniones virtuales', 'Usa IA generativa para analizar grabaciones o transcripciones y generar actas o ideas clave.', 2),
15('Usa asistentes de código como GitHub Copilot', 'Aplica modelos generativos en el desarrollo de software: codifica, depura y documenta.', 3),
16('Crea scripts o apps con modelos generativos', 'Genera soluciones técnicas utilizando IA para tareas específicas en programación o automatización.', 3);
17
18-- 4. Obtener los IDs generados de los indicadores
19SET @indicator1 = LAST_INSERT_ID();
20SET @indicator2 = @indicator1 + 1;
21SET @indicator3 = @indicator1 + 2;
22SET @indicator4 = @indicator1 + 3;
23SET @indicator5 = @indicator1 + 4;
24
25-- 5. Relacionar los indicadores con la competencia
26INSERT INTO `competence_indicators` (`competence_id`, `indicator_id`) VALUES
27(@competence_id, @indicator1),
28(@competence_id, @indicator2),
29(@competence_id, @indicator3),
30(@competence_id, @indicator4),
31(@competence_id, @indicator5);
32
33-- 6. Relacionar los indicadores con IA Gen (id = 6)
34INSERT INTO `indicator_areas` (`indicator_id`, `area_id`) VALUES
35(@indicator1, 6),
36(@indicator2, 6),
37(@indicator3, 6),
38(@indicator4, 6),
39(@indicator5, 6);
40
41                            

💡 Nota: Este script es útil para actualizar competencias existentes mientras se desarrolla el frontend para gestión de datos. Los LLMs pueden ayudarte a generar scripts similares basándose en la estructura de la base de datos.

📋 Script SQL Completo - Añadir un Recurso

Query de ejemplo para añadir un recurso nuevo en 6 pasos.

1-- Script SQL para añadir un nuevo recurso a la herramienta Jest existente 
2-- 1. Obtener el ID de la herramienta este ejemplo sera con Jest
3SET @tool_id = (SELECT id FROM tool WHERE name = 'Jest' LIMIT 1);
4
5-- Verificar que la herramienta Jest existe
6SELECT @tool_id as jest_tool_id;
7
8-- 2. Crear el nuevo recurso en la tabla resource
9 INSERT INTO resource (label, url, comments)
10VALUES (
11'FizzBuzz Kata TDD',
12'https://github.com/Factoria-F5-madrid/FizzBuzz-Practice-Guide',
13 'Kata paso a paso usando TDD con JavaScript y Jest. Práctica completa para aprender testing.'
14);
15
16-- 3. Obtener el ID del recurso recién creado
17SET @resource_id = LAST_INSERT_ID();
18-- 4. Vincular el recurso a la herramienta Jest en tool_resources
19INSERT INTO tool_resources (tool_id, resource_id)
20 VALUES (@tool_id, @resource_id);
21
22-- 5. Añadir tipo de recurso en resource_types
23-- id sacado de la tabla resource_type ( atencion sin s al final): 'en este ejemplo es el 1 por ser repositorio'
24-- tipos de recurso : 1: Repositorio, 2: certificación, 3: Presentación, 4: canva, 5: Juego, 6: web, 7: canal, 8: proyecto, 9: IAgen
25INSERT INTO resource_types (resource_id, type_id)
26VALUES (@resource_id, 1);
27
28
29-- 6. Vincular el recurso a un referente específico
30-- El referente de este ejemplo es el 1 que es Celia
31-- 1: Celia, 2: Ana, 3: Alex, 4: Jorge, 5: Paloma, 6: David, 9: Jonnathan
32
33 INSERT INTO resource_referents (resource_id, referent_id)
34 VALUES (@resource_id, 1);

Nota: Recomendamos hacer las query una a una para evitar errores

⚠️ Notas Importantes

  • IDs existentes: Verificar que los IDs de competencias, referentes, tipos y proveedores existen
  • Transacciones: Usar START TRANSACTION; y COMMIT; para operaciones múltiples
  • Backup: Hacer backup antes de modificar la base de datos
  • Validación: Verificar que las relaciones son correctas después de insertar