Has acabado un tutorial de programación en un tiempo récord. ¡Felicidades! ¡Ahora toca hacer otro! Y así caer en una espiral de la que es difícil escapar. Difícil hasta ahora.

Casi todos nosotros hemos perdido tiempo en el “Tutorial Hell”, encadenando tutorial después de otro tutorial, teniendo una ilusión de seguridad y progreso, tan sólo para ser rota cuando nos ha tocado lidiar con la vida real.

Hablemos sobre ello. Pero especialmente, hablemos cómo podemos escapar de él y reconocer si estamos dentro de él.

Contents

Introducción

Antes de ponerle solución, tenemos que saber qué es, por qué caemos en esta trampa y qué nos hace quedarnos atrapados.

Si has entrado simplemente para saber la solución, aquí la tienes:  No hagas ningún tutorial más. Haz tus propios proyectos y/o colabora con proyectos Open Source. Ya está. Eso es todo.

Pero si quieres entender por qué esto nos pasa, en mayor o menor medida, a todos, y quieres solucionar tu problema, continúa leyendo.

¿Qué es el “Tutorial Hell”?

Portada de Lebanon Hanover – Besides The Abyss

 

Contestémos una pregunta importante: ¿Qué es el “Tutorial Hell”? Por primera vez en mi vida, encontré una buena definición en el Urban Dictionary:

‘Tutorial hell’ es típicamente el estado donde un programador principiante siente que “tiene algo de idea” de cómo crear cosas simples, pero nada complejo o escalable. Necesitan un tutorial para cada otra cosa un poco más compleja.

“Tutorial Hell” (o el Infierno de los Tutoriales. Una especie de purgatorio) es cuando acabamos un tutorial con una sensación de aprendizaje y conocimiento, para inmediatamente encadenar otro tutorial después del primer. O del segundo. O del quinto.

Si intentas escribir código por ti mismo, te sientes abrumado/a. No sabes por dónde empezar o ni tan solo qué hacer. Entonces, ¿qué haces? Otro tutorial.

Acabar un tutorial -> Intentar crear algo por ti mismo -> Sientes que no sabes qué hacer -> Empezar otro tutorial -> Acabar un tutorial….

Y la rueda continua girando.

Los tutoriales te dan una sensación de que estás aprendiendo y que puedes mesurar tu progreso. Este tutorial dura 10 horas, así que si dedico 2 horas cada día,¡ en tan sólo una semana podré aprender C#!

Y entonces, empiezas un nuevo proyecto, te quedas atascado porque no sabes suficiente. Y, ¿Qué haces cuando no sabes suficiente de algo?

Más tutoriales.

¿Te suena?

Por qué caemos en él

How to escape from Tutorial Hell

Sabemos qué es el “Tutorial Hell” pero, ¿por qué continuamos en él?

Hay varias razones.

  1. Los tutoriales no tienen riesgo. Simplemente sigues lo que el instructor te dice. Si encuentras un error, copias el código del repositorio de Github, lo copias y ¡Tachán! ¡Ya funciona!
  2. También, los tutoriales nos dan una sensación de progreso. ¿Has acabado 2 tutoriales en Node.JS? ¡Ya eres un programador en Node.JS! Aunque no hayas hecho nunca auna API REST, el backend de una página o un programa pequeño, sientes que sabes utilizar Node.JS.
  3. El famoso “Síndrome del impostor” es una razón también. El miedo a ser expuesto cómo fraude hace a la gente seguir haciendo tutoriales en cadena hasta que se “Sientan preparados”. Pero nunca podrás sentirte preparado cuando todo se te ha dado en bandeja. No puedes crecer como programador sólo con tutoriales.

A veces, los principiantes tienen una de estas razones. Normalmente, 2 o más.

Sea cual sea la razón por la que estás aquí, es hora de buscar cómo podemos escapar de esto.

Cómo podemos escapar

How to escape from Tutorial Hell

Ya sabes que estás en el “Tutorial Hell”, y sabes por qué. Es hora de escapar.

Crea algo

La forma más fácil de escapar es no haciendo más tutoriales. ¡Dame un segundo antes de cerrar esta página! Sé que suena como el típico “¿Estas triste? ¡Pues ponte feliz!

Lo que tienes que hacer después de un tutorial es crear algo. Algo que te guste, algo que necesites, hasta la misma cosa que has hecho en el tutorial.

Usa el tutorial que has hecho como una introducción a tu lenguaje/framework. Usalo para tener una primera impresión: Aprender como crear un proyecto, hacer cosas básicas, las herramientas propias del lenguaje, sintaxis, estructura del proyecto, etc.

Después, replica lo que has visto en el tutorial o incluso dale tu toque personal.

¿Has acabado un tutorial de diseño donde has hecho tu propio CV que se ve genial? Hazlo de nuevo, pero esta vez, sin el tutorial. Si tienes algún problema o te quedas trabado, después de intentarlo durante unos minutos (u horas) de intentar arreglarlo, mira ese vídeo de nuevo, incorporalo a tu proyecto y continúa sin mirar más vídeos.

¿Has hecho un tutorial de Django dónde has creado una aplicación web para manejar los empleados de una compañía? Perfecto. Ahora crea una aplicación web para manejar una compañía. Trabajadores, productos, relaciones públicas, productos vendidos, añade una gráfica que muestre las ventas de este año, etc.

Encontrarás problemas que no sabrás cómo resolver. Y esta vez estás haciendo algo diferente de lo que viste en el tutorial, así que pregunta a tus amigos, compañeros de trabajo, busca en Google, pregunta en StackOverflow/dev.to/Reddit, busca información en artículos, blogs (como el mío!), etc para encontrar la solución a tu problema.

Puede parecer cansado. Y lo es. Pero también aprenderás muchísimo. Porqué no tendrás a nadie que te ayude. Tienes que leer y encontrar entre toda la información, aquello que necesites y desechar lo que no.

Utiliza los tutoriales cómo una base sobre la que construir algo, no cómo una muleta para todo lo que hagas.

Contribuye a proyectos Open Source

Suena intimidatorio, ¿verdad?

Si no eres un programador de verdad, ¿Cómo vas a escribir código para otras personas?

Nunca pensé sobre esto por la misma razón, pero parece ser que algunos principiantes aman hacerlo.

En vez de crear un proyecto desde cero, tomas un proyecto existente, de él, una parte pequeña, y la arreglas o añades alguna funcionalidad.

Y que te aprueben un Pull Request es una gran sensación (pero no esperes que el primero que envíes sea aprobado).

El Open Source tiene una gran comunidad que puede ayudarte si preguntas, es un lugar para conocer gente en sus foros (de tenerlos) y da buena imagen en tu CV.

Simplemente recuerda no morder más de lo que puedas tragar. No empieces creando Pull Requests en el Github de Django y acabas de acabar tu primer tutorial de 10 horas en Udemy.

Apunta a lo que conoces o un poco más. Algo que puedas aprender relativamente pronto. Algo que quieras aprender, y así forzarte a ti mismo a aprenderlo.

Conclusión

Resumen rápido:

  • Tutorial Hell es cuando encadenamos tutorial después de otro tutorial en vez de crear algo nosotros mismos.
  • Esto pasa porqué 1) No sentimos inseguros 2) Sufrimos del “Síndrome del impostor” 3) Nos da una sensación de progreso 4) No hay riesgo
  • Podemos solucionar esto creando nuestros propios proyectos y/o colaborando con más gente en proyectos open source

Yo también lo he sufrido. A veces, cuando quiero aprender algo nuevo, hay veces que escucho la llamada de hacer un tutorial después de acabar otro, ya que es seguro.

Recuerda lo que acabas de leer para no repetir los mismos errores.

Lo solucioné creando mis propios proyectos, y planeo empezar a colaborar con proyectos de código abierto como tutorialdb.

¿Como escapaste tú? Cuéntanos en los comentarios. Podrías ayudar a otra gente que esté leyendo ahora mismo.

Puedes leer el post original en inglés aquí: How to escape from Tutorial Hell and never come back