Amo los videojuegos y ese amor por ellos permea muchas cosas de las que hago, y una regla de oro a la hora de darle personalidad a una marca personal es imprimir de sinceridad todo el contenido que generemos y que querramos compartir con la comunidad. Asi que decidí gamificar mi proceso de aprendizaje y avance profesional convirtiendo todo mi portafolio y evidencias en una aventura RPG.
Todo RPG moderno tiene arboles de habilidades y esquemas de progresión que se van formando por medio de la obtención de puntos de experiencia y niveles, por lo que los jugadores pueden ir avanzando en la aventura realizando misiones (quests) obtiendo experiencia mediante la consecución de estas, sumando niveles e intercambiando estos puntos y niveles por habilidades que son tambien incrementales.
A continuación te muestro algunos ejemplos de estos arboles de habilidades.
El arbol de habilidades de Horizon Zero Dawn
El arbol de habilidades de God of War
El arbol de habilidades de Assasins Creed Origins
El arbol de habilidades de Cyberpunk 2077
Captas la idea ¿no? El concepto del arbol de habiliades es trabajar arduamente en una habilidad determinada obteniendo puntos de experiencia mediante la realización de actividades, misiones o retos para luego cambiar o redimir dichos puntos en nuevas habilidades o subiendo de nivel las mismas. Yukai Chou en su libro The Octalysis Framework explica cada una de las aristas que hacen que una experiencia sea enriquecedora, divertida y motivante ya sea en juegos o en aplicaciones de cualquier contexto (como por ejemplo: Facebook, Google Maps o Duolingo) y para este caso la arista del Octalysis Framework que trabajé para generar mi propio arbol de habilidades fue la numero 2: Desarrollo y Logro
Para lograr un sentido de progresión en el jugador se dan puntos de experiencia o items por cada tarea realizada de modo que a través del tiempo se tenga la sensación de que vamos mejorando y obteniendo mas y mas habilidades que nos ayudan a llegar a nuestro objetivo con poder y maestría.
Asi púes, desarrolle un arbol de habilidades para cada una de los aspectos en los que quiero obtener maestría y dominio, y en este post quiero explicarte uno de ellos. El Desarrollador de Software.
Actualmente estoy recuperando mis “coding powers” mediante la plataforma platzi.com en la que me arme de varias rutas de aprendizaje, y en cada ruta de aprendizaje tengo una serie de cursos agrupados por niveles: Básico, intemedio y avanzado. Asi que, empezando por la escuela de desarrollo web tengo un total de 52 cursos repartidos en los niveles anteriormente mencionados, de modo que agrupe estos niveles y designe una serie de entregables y evidencias que debo entregar para cada uno de la siguiente manera:
Proyectos: 5 puntos de experiencia
Artículos: 3 puntos de experiencia
Y en cada nivel hay un numero total de artículos y proyectos personales que debo completar. Ahora, el numero de articulos lo tomé por el numero de unidades que hay en cada curso de cada nivel (repito, nivel basico, intermedio y avanzado) asi que por ejemplo, si en un curso hay 4 unidades, debo escribir 4 entradas de blog o articulos donde yo explique lo que aprendí en dichos articulos. La explicación debe ser muy buena y esta curada por el método Feynman que aplico al estudiar.
Hojas de dificultad en el arbol
Puntos de experiencia por tarea
De este modo si escribo un articulo tengo 3 puntos de experiencia, si escribo 2 entonces tengo 6 puntos de experiencia, y si hago un proyecto tengo 5 puntos de experiencia, si hago 2 entonces tengo 10 puntos de experiencia y asi sucesivamente. Por cada 100 puntos de experiencia subo un nivel y con ciertos niveles obtenidos puedo desbloquear la oprtunidad de hacer otras escuelas de mayor dificultad como la de ciencia de datos o matemáticas; o escuelas con mayor interes a futuro como la de desarrollo de videojuegos.
Con este arbol de habilidades tengo entonces sistematizado mi motivación díaria de dedicarle al menos 4 horas al día a mi entrenamiento constante en desarrollo web.
Pero la cosa no termina ahi, ya que también cuantifico el numero de Pens (codepen.io), líneas de código en mis proyectos, articulos en mi blog, commits en github, y code katas (en codewars.com); asi como también tengo un pequeño dashboard con los proyectos que ya defini que voy a incluir en mi portafolio y en mi perfil de github y que tienen alguna salida comercial o aplicación real. En este dashboard defino tambien el nivel de funcionalidad que debo alcanzar para cada proyecto (Documento de requerimientos, Front-end, Base de datos, lógica de negocios) y el número de puntos de experiencia para cada proyecto.
Espero que esta pequeña guía te haya sido de utilidad y que puedas armar también tu propio arbol de habilidades y de progresión con todo lo que hagas, y esto no aplica solo al código sino tambien a cualquier habilidad que quieras aprender, lo importante es saber encontrar los entregables que debes ir creando para obtener los puntos de experiencia y los niveles.
Por último te dejo unos enlaces en los que puedes profundizar mas en este tema y que me ayudaron bastante en esta tarea.
Use skill trees to learn new skills in a fun and painless way
Sistema de gamificación: OCTALYSIS FRAMEWORK- (ESPAÑOL)
Gamification to improve our world: Yu-kai Chou at TEDxLausanne
The Beginner’s Guide to Gamification (4 of 90): Gamification Framework “Octalysis”