Hola, soy Blazej. Al comienzo de mi viaje de aprendizaje de codificación, me prometí a mí mismo que no haría trampa.
Al resolver cualquier ejercicio, me prometí a mí mismo que no buscaría la solución hasta que mi propio código estuviera funcionando.
Decidí ir con The Odin Project porque estaba cansado de los cursos de Udemy y los videos de YouTube, que no estaban nada mal, pero sentía que no me llevaban a ninguna parte.
Me resultaba difícil concentrarme después de sólo tres minutos de ver cada vídeo y mis pensamientos empezaban a divagar. Pero este es el tema de otra publicación de blog.
El plan de estudios del Proyecto Odin se basa en leer documentación y resolver ejercicios, crear proyectos, leer más documentación, resolver aún más ejercicios y construir aún más proyectos que, como habrás adivinado, se vuelven más difíciles a medida que avanzas.
Todo iba bien hasta que llegué a este punto:
Recuerdo que era un fin de semana largo y estuve los 4 días intentando solucionarlo todo. Los primeros ejercicios transcurrieron sin problemas, pero me quedé atascado en Palíndromos (que finalmente resolví) y Fibonacci.
Oh, sí... Eso fue un asesino. Pero podrías preguntar, no hay ejercicios de este tipo enumerados en la imagen de arriba, ¿verdad? Sí, pero a medida que vayas al repositorio mencionado, los encontrarás en las posiciones 8 y 9.
Me tomó tanto tiempo resolver los ejercicios anteriores que perdí la noción de dónde debía detenerme y seguí adelante.
Estaba pensando mucho, tomando té tras té. A medida que pasó el tiempo, mis pensamientos comenzaron a cambiar drásticamente de "es todo simple, lo haré" a "probablemente algo anda mal, mi proceso de pensamiento parece ser correcto, debe haber algún error en el ejercicio en sí". ¿Quizás debería buscar la solución?
Cuando estudio, utilizo la técnica Pomodoro : 25 minutos de concentración seguidos de un descanso de 5 minutos.
Los Pomodoros pasaban y logré llegar al punto en el que pude obtener algún tipo de secuencia de Fibonacci... pero todavía no parecía correcto.
En ese momento pensé: "Está bien, llegué a este punto, probablemente haya algo que aprenderé más adelante, así puedo echar un vistazo a la solución y seguir adelante".
Hice lo que pensé... Por supuesto, pensé: “Oh, sí, es así de fácil y está pensado de manera lógica. Ok, ¡sigamos adelante entonces!”
Después de Fibonacci, había un ejercicio de objetos por resolver y estaba confundido porque aún no habíamos llegado a los objetos en ese punto en TOP.
Y tenía razón, me adelanté algunas lecciones por error…
Sólo me aseguró que hacer trampa era lo correcto y que pronto aprendería algo nuevo que me haría resolverlo más tarde o con más facilidad. ¡Ja ja!
Pasaron un par de lecciones, que me llevaron alrededor de una semana, y estaba de regreso en Palíndromos y Fibonacci. Esta vez, aunque un poco estresado...
Los palíndromos transcurrieron sin problemas y me senté a hacer Fibonacci. Debo mencionar aquí que cuando abrí el archivo con el ejercicio, por supuesto estaba resuelto, así que traté de no mirar mucho el código.
Simplemente marqué todo y lo eliminé. Sin embargo, recordé que la primera línea era:
let fib = [];
Empecé a resolverlo. Nada funcionaba. Decidí preparar la cena y salir a caminar. Cada vez que estaba lejos de la computadora, mi cerebro volvía a Fibonacci.
Sentí como si tuviera VSCode corriendo en mi cabeza. Lo juro, en lugar de ver patatas fritas cocinándose en mi freidora, solo pude ver líneas de código Fibonacci (especialmente ese maldito bucle y la declaración 'si').
La sensación divertida fue, por supuesto, imaginar alguna solución solo para darme cuenta 5 segundos después de que ya había probado esto o simplemente me di cuenta de que JavaScript no funciona así en absoluto.
Comí y salí a caminar. 1 hora de caminata = 1 hora de pensamiento profundo. Tenía 3 nuevas soluciones escritas en mis notas y estaba 100% seguro de que funcionarían.
Adivina cuál de ellos funcionó. Sí, tienes razón, ¡NINGUNO! Seguía obteniendo los mismos resultados. En ese momento pensé en agregar algo a la matriz.
Sabía que necesitaba algo allí. Pero en lo más profundo de mi cerebro, recibía la respuesta: "Sin embargo, cuando eliminaste el ejercicio resuelto antes, esa matriz estaba vacía". Me mentí a mí mismo.
Volví a leer la documentación y algunos artículos, pero sabía que esta vez no podía hacer trampa. Ya había aprendido que hacer trampa no ayuda a largo plazo, y me enfrentaría al mismo problema más adelante si hacía trampa ahora.
Pasaron tres horas. Ya no estaba frustrado. Quería que esto se resolviera y quería entender qué estaba haciendo mal. También sentí que sabía cómo funcionaba este bucle y me pareció que ya había probado todas las configuraciones con declaraciones condicionales.
La única solución que tenía en la cabeza era buscar ayuda en el canal de Discord.
ya lo solucione!!!! Mira, tuve que poner valores en esa matriz y extraer el condicional antes del ciclo. Eso es lo que mi cerebro me decía en realidad 10 o más horas antes.
Pero como había visto un poco de la solución, seguí mintiéndome a mí mismo para no hacerlo, creyendo que era diferente. Ehh.
La segunda lección que aprendí ese día fue, por supuesto, pedir ayuda. Pero recomiendo encarecidamente a todos que pasen por el proceso de leer la documentación y tratar de resolver todo por su cuenta, especialmente cuando todavía están aprendiendo.
Aprendí muchísimo durante este proceso y creo que no volveré a cometer este error.
Ahora estoy mucho más preparado para chocar contra otra pared con algún otro ejercicio. ¡Estoy familiarizado con el proceso ahora!