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
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”?
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
Sabemos qué es el “Tutorial Hell” pero, ¿por qué continuamos en él?
Hay varias razones.
- 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!
- 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.
- 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
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
Es muy cierto todo lo que analizas, interesante el termino, falto añadir algunos puntos para poder salirse de eso, comentarte que estoy en proceso de querer salirme, sigo en el tutorial hell, pero veo una luz en el tunel de la siguiente forma: Primero un proyecto real, en mi caso estoy haciendo mi CV Web, estoy con un tutorial de un diseño que me gusto, pero mi CV requiere mas cosas que lo que me da el tutorial, ahi es donde uno lo piensa cien veces antes de hacer jejeje, en mi caso HTML-CSS-JS , no quise complicarme y quise aprender la raiz de todo antes de pasar a los frameworks, y encontre la documentacion de esos tres lenguajes en español, https://developer.mozilla.org/es/docs/Web/JavaScript, pero tambien otra cosa que vi que ayuda a no encapsularte en el tutorial hell, es pensar en tu proyecto segun como avanzas el tutorial, por ejemplo; en mi CV Web, lo cambio toda la colorimetria, y eso te despierta un poco de enamorarte de lo seguro, de ahi maquetar a lo tuyo y decir mmm, esto mas puedo añadir, concluye el tutorial y continuar con tu proyecto hasta concluirlo, lo otro es desafios, por ejemplo el tutorial que segui esta con jquery todo, estoy aprendiendo a programar angular y no me sirve templates con jquery, entonces ahi tengo el desafio de aprender primero bien JS, y ahi es el apoyo lo que dices, stackoverflow, comunidad, amigos, documentacion base, tal vez otro tutorial pero especifico a lo que necesitas, y asi un aprende. Felicidades excelente articulo!!. Te dejo el link de mi portafolio para que lo veas, todavia no esta completado pero en unos dias, ya estara ahi saludos!!!.
https://dev.to/davidmm1707/how-to-escape-from-tutorial-hell-and-never-come-back-bb6
Creo que deberías darle los créditos a otra persona. Todo el material que expuesto en tu pagina le pertenece a otra persona.
Luis, a lo mejor no te has fijado, pero el autor de este post es justamente el mismo del post en inglés que mencionas en tu comentario.