Cómo aprender a codificar: el enfoque lo es todo

A continuación, se ofrecen consejos para aprender a codificar de una forma más eficaz. Están respaldados por investigaciones en neurociencia, psicología del comportamiento y más de una década de experiencia.

Puedes pasar meses yendo al gimnasio y aún así ver cero resultados debido a cómo te ejercitas.

La mayoría de nosotros lo sabemos.

Lo mismo se aplica a la codificación.

Puede pasar meses aprendiendo, probando cosas diferentes, saltando tutoriales y aún así sentirse como un principiante, en el mejor de los casos, un principiante avanzado.

Y duele.

Esto hace que se pregunte si hay una manera de aprender más rápido, mejor y más eficientemente.

Ahi esta.

Pero lo primero es lo primero.

"La velocidad seguirá cuando el mecanismo de los movimientos esté más seguro".

- Rafael Sabatini

Si no comprende los fundamentos del aprendizaje, no importa qué tan rápido vaya, todavía está construyendo sobre una base inestable. Y no quieres eso.

Entonces, con eso, vayamos a eso.

Los tutoriales de 2 minutos

Si te dijera que hay un tutorial de 2 minutos para ayudarte a dominar JavaScript de inmediato, ¿lo revisarías?

Si respondió "sí" o "no" , no importa.

Es decir, siempre que entienda en el fondo que un breve tutorial por sí solo va en contra del principio de dominar cualquier dominio.

Así es como funciona el dominio en pocas palabras:

  1. Comience con un gran volcado de información.
  2. Compare los nuevos aprendizajes con los que ya sabía antes.
  3. Enumere las diferencias entre la información antigua y la nueva.
  4. Ponte a prueba creando tus aprendizajes desde cero.
  5. Y finalmente, enséñele a alguien más.

Esta. Toma. Años.

Es por eso que los atajos por sí solos no son suficientes.

Entonces, la próxima vez que vea un tutorial único en la vida que le promete dominio de una sola vez, recuerde que, en el mejor de los casos, simplemente le brinda un volcado de información.

Internaliza esto y tu base será sólida.

Entonces la velocidad seguirá.

¿Cómo lidias con la lucha?

He visto a personas dejar de programar porque no quieren luchar con errores.

Eso es como odiar el gimnasio porque no quieres que te duelan los entrenamientos.

Pero el hecho es este: no huye de los errores, se entrena para encontrarlos más rápido.

Porque un programador competente es simplemente un eficaz detective de errores.

Cada vez que se sienta frustrado por los errores, recuerde que aquí es donde se abre una oportunidad de aprendizaje. No te lo saltes.

“La tolerancia es el mayor regalo de la mente; requiere el mismo esfuerzo del cerebro que se necesita para mantener el equilibrio en una bicicleta. ”- Helen Keller

La investigación en neurociencia confirma que la práctica no solo te hace perfecto, es una práctica deliberada para mejorar en una tarea específica que te hace mejor.

Y la práctica deliberada implica luchar. Con bichos.

Por lo tanto, su expectativa no debería ser codificar sin problemas.

Más bien, su mantra debería ser:

  • Tu codificas.
  • Tu depuras.
  • Luchas.
  • Superas.
  • Y repites.

Cuanto antes aceptes esto, más eficiente será tu aprendizaje.

Entonces, si en este punto no ha tenido ningún problema, simplemente está jugando. Y perder el tiempo.

Pero si, por otro lado, siente que tiene dificultades cada vez, entonces la siguiente sección es para usted.

No eres tonto, estás aprendiendo al nivel equivocado

Comencemos con una pequeña analogía.

Imagínese aprender el idioma inglés (el idioma de las excepciones).

Empiezas con un tutorial que te motiva a aprender a deletrear palabras grandes como ELEFANTE .

Pero no funciona.

Después de castigarte durante tanto tiempo, decides ir a un tutorial inferior y aprender a deletrear palabras más pequeñas como ANT .

Pero luego sigues luchando.

Entonces concluye que es tonto porque bajó su nivel de tutorial y todavía no entendió nada. Tienes prueba - prueba negativa.

Pero cuando un nuevo maestro investiga por qué estás luchando, descubre que has estado luchando porque ...

De hecho, no conoces el alfabeto inglés.

Senior hombre caucásico sosteniendo pancarta vacía en blanco cubriendo la boca con la mano, sorprendido y temeroso de equivocarse.  expresión de sorpresa

Traigamos esto de vuelta a la codificación.

Algunas personas se lanzan a los tutoriales para principiantes para comenzar a aprender inmediatamente React o Angular (ELEPHANT) .

Entonces se dan cuenta de que no tiene sentido, así que pasan a aprender JavaScript (ANT) como introducción al mundo de la programación.

Pero eso todavía no tiene sentido para ellos, por lo que renunciaron.

“Estoy harto de aprender a codificar. Esto claramente no es para mí ".El niño sostiene una bandera blanca en la nieve.  Por lo general, mis hermanos no se iluminan de alegría cuando les pregunto si pueden ser un tema para una foto mía, pero ese día, mi hermano pequeño estaba más que dispuesto.  ¿Quizás se está calentando con eso?  ¿Tal vez solo quería que me callara?  (gracias, Jace. Te amo)

Pero simplemente están trabajando con algo que está demasiado avanzado.

Incluso los cursos de introducción pueden ser avanzados porque su pensamiento aún no está conectado a la programación en general.

No veo esto lo suficientemente recomendado, pero si tiene problemas con los cursos de introducción, debería considerar Introducción a la programación para niños.

No es una vergüenza encontrar algo más bajo que los cursos de introducción y comenzar desde allí para construir.

Aprenda con herramientas como:

  • Alicia.
  • Rasguño.
  • Codewars.

Como eres mayor, es probable que los revises más rápido.

Pero te darán la introducción suave que tanto necesitas, que tiene sentido y aumenta tu apetito por la programación.

De nuevo, esto no tiene nada que ver con el ego.

Es tu viaje de aprendizaje.

Si aprende el alfabeto primero:

  • Obtendrá la confianza necesaria para comenzar a deletrear ANT.
  • Luego ELEFANTE, como su próximo gran paso.
  • Y algún día palabras como pneumonoultramicroscopicsilicovolcanoconiosis .

No importa en qué disciplina o área de codificación salte, esto vale tanto para la Introducción a Python como para la Introducción al aprendizaje automático .

Aprenderá de manera más eficiente si aprende en el nivel adecuado .

Mejore su forma de aprender con la repetición espaciada

Esta técnica es de investigación en neurociencia. Lo describiré rápidamente.

Cómo funciona:

  • Usted aprende.
  • Recuerde en 48 horas.
  • Luego, revíselo en 72 horas.

Haciendo esto:

  • Olvidarás menos.
  • Conectar nuevas ideas con viejas y;
  • Retenga más en la memoria a largo plazo.

Pongo 48 y 72 horas como ejemplo, pero puede ampliar esa línea de tiempo a días y semanas. La conclusión más importante es no aprender simplemente una vez.

Pero reservar un tiempo intencionalmente para que regrese y revise.

Cuanto mayor sea la demora entre revisiones, más se enterrará en la memoria a largo plazo.

  • Duolingo lo usa.
  • Quizlet lo adoptó.
  • También puedes aplicarlo.

1 proyecto> 10 hola mundos

No te dejes atrapar por hello worldssiempre.

Entiendo la emoción de completar ejercicios simples:

print “I am awesome” print “You’re cool” print “Wait, are we cool?” print “OMG! Guys! Like I can so print all day” 

Pero tengo que ser honesto contigo, esto no es suficiente.

Volviendo a nuestra analogía ANT, no importa cuántas formas en que reorganices las palabras ANT, nunca llegarás a ELEPHANT.

No importa cuántos tutoriales de introducción aprenda, nunca pasará de lo básico a menos que se esfuerce más allá de eso.

Pero no sé qué proyectos comenzar como principiante. "

Sin preocupaciones.

A continuación se muestran 3 ejemplos:

  • Conversor de divisas: cree un programa que convierta divisas de una unidad a otra, por ejemplo, convirtiendo rupias indias en dólares, libras en euros, etc.
  • Generador de contraseña aleatoria: cree un programa que tome algunas palabras del usuario y genere una contraseña aleatoria usando esas palabras.
  • Adivina el número : pide a un usuario que adivine un número entre 1 y 50. Si adivina fuera de ese rango, muestra un mensaje de error pidiéndole que adivine nuevamente. Siempre que adivinen el número equivocado, pregúntales si quieren seguir jugando o si quieren dejar de jugar. Finalmente, cuando el usuario finalmente adivine el número correcto, felicítelo y muéstrele la cantidad de intentos que tuvo.

Si los encuentra aburridos, aquí hay otras ideas de proyectos de programación para principiantes para elegir.

Y si todas te parecen demasiado difíciles o aburridas, envíame un mensaje en Twitter y crearé algo a tu medida.

Recuerde, esto no se trata de ego.

Se trata de tu nivel de aprendizaje y crecimiento.

La motivación es como darse una ducha caliente

Tomar una ducha caliente se siente bien, deberías hacerlo.

Pero si tu agua caliente está fuera por 2 semanas, ¿no te duchas?

La pregunta suena ridícula.

Pero de la misma manera, no debes basar tu aprendizaje solo en los días en los que estés motivado.

Hay muchos días emocionantes en la codificación, pero también habrá días oscuros y desmotivadores.

Honestamente, esto no es solo con la codificación. Es con vida y embarcarse en cualquier nueva aventura.

Pero tienes que entrenar para aparecer no solo cuando te sientes muy inspirado, sino también en días aburridos y aburridos.

Esto no significa olvidar la motivación por completo.

Lejos de ahi. Esto es lo que debería hacer en su lugar:

En los días en que se sienta súper motivado, use su motivación para comprometerse rápidamente con algo grande que lo mantendrá responsable cuando la motivación se agote.

¿Cómo?

Únase a un movimiento de responsabilidad como:

  • 30 días de código
  • 100DaysOfCode

Alguna cosa.

Cualquier cosa.

Para mantenerte responsable en los días lentos.

En Psicología del Comportamiento, esto se conoce como compromiso previo.

Utiliza los momentos en los que es optimista para comprometerse en el futuro para cuando no tenga ninguna motivación. Utilice esta técnica y se mantendrá activo durante un período de tiempo más largo.

El viaje del aprendizaje es interminable

Nadie te enseña realmente a aprender.

La atención se centra principalmente en qué aprender. Pero aprender a aprender es fundamental si quieres llegar lejos.

Recomiendo este curso si quieres profundizar en el arte de aprender.

Es posible que haya comenzado con la idea de simplemente aprender a codificar o convertirse algún día en desarrollador.

Pero hay más.

vino-hasta-este-lejos.jpg

Cuando salgas del otro lado, saldrás no solo como un desarrollador.

Pero como una persona renovada porque ha adquirido una nueva forma de aprender y abordar las cosas.

No me malinterpretes.

Esto no es fácil de exprimir un limón, trabajarás como el infierno.

Pero al final, valdrá la pena no solo por la codificación, sino por la alegría de transformarse a sí mismo.

¡Gracias por leer!

Y eso es una envoltura. No voy a mentir, esto tomó muchas horas y reflexión para armar.

  1. Sígueme en Twitter: soy más activo en Twitter. Si te gustó esto, dale me gusta y retuitea este hilo para ayudar a correr la voz. ¿Tiene preguntas? Mi DM siempre está abierto.
  2. Únase a mi comunidad de correo electrónico: estoy reuniendo recursos para ayudar a los nuevos programadores y desarrolladores jóvenes a sentirse menos abrumados, manejar el síndrome del impostor y aprender de manera más inteligente. Si está interesado, únase a esta lista de correo electrónico.
  3. ¿Quieres leer más? Vea más de mis artículos para desarrolladores principiantes y junior.

Atención : me encanta la investigación, por lo que suelo respaldar mis consejos y mi enfoque con conceptos de la psicología del comportamiento y la neurociencia.