Como programadores y autodidactas, ¿cómo logras mantenerte enseñándote algo nuevo?

Estoy de acuerdo con Aditya sobre trabajar realmente en un proyecto real.

La primera vez que comencé a aprender a ‘programar’ hace 4 años fue hackear una plantilla Drupal para un sitio web dinámico. Durante mucho tiempo fue increíblemente doloroso. Recuerdo querer hacer algunas modificaciones muy básicas a un formulario de inicio de sesión, y me tomó aproximadamente 8 horas en total. Esto es algo que probablemente podría hacer ahora en menos de 10 minutos.

Lo que me hizo seguir:

1. No estaba tratando de aprender por saber cómo programar … Estaba tratando de crear un sitio web específico con el objetivo de poder dejar mi trabajo (no funcionó como lo había planeado, pero esa es otra historia ). Más que nada quería crear este sitio web, pero no tenía dinero para pagarle a nadie para que lo hiciera por mí.

2. La sensación que tienes al resolver un problema que te ha estado molestando durante un tiempo. Tengo innumerables ejemplos de tratar de lograr algo y no funciona y pasar horas y horas en él, buscar en Google y Stackoverflow, etc., frustrarme increíblemente, jurar en mi computadora y en el mundo en general. Sin embargo, lo que hizo que valiera la pena fue la sensación de logro que obtuve cuando finalmente funcionó, y también me di cuenta de que cada vez más lentamente me estaba volviendo más rápido para resolver estos problemas.

3. Encontré un lenguaje que me encantaba usar y me entusiasmaba mucho. Dado que mi punto de partida fue el desarrollo web, comencé a jugar con PHP, que realmente no lo hizo por mí. Pero muy pronto descubrí a Ruby y me encantó, su simplicidad y lo fácil que hizo que todo se sintiera. Hice algunos cursos en línea, me mudé a Rails (lo que me da ganas de hacer trampa).

La curva de aprendizaje se sentía bastante empinada a veces, y estaba más que lista para rendirme en muchas ocasiones, pero en realidad después de un tiempo me di cuenta de que realmente estaba empezando a disfrutarla y la sensación de logro que me dio para construir algo.

Ciertamente no me considero un programador experto, y estoy seguro de que la mayor parte de mi código es bastante ineficiente, pero logré lo que quería hacer, que era capaz de construir versiones funcionales de mis ideas que podría comenzar. Pruebas con usuarios reales, y sin tener que invertir mucho dinero en desarrollo.

Sigue intentando
Haga un compromiso de pasar al menos media hora al día durante un mes (temporizador + calendario = sus mejores amigos).
Comience poco a poco comprometiéndose con una cosa extra. Después de un par de meses, se dará cuenta de que hacer hábitos o cumplir con sus objetivos se ha convertido en una tarea mucho más fácil.
Sin duda, algunas veces fallarás y te llevará más de un año dominar los hábitos de formato, pero ten en cuenta que:

  • No hay una salida fácil, la fuerza de voluntad es limitada y también lo es su tiempo y energía, que aprender a usar es algo que debe hacer
  • Algunas cosas pueden no valer la pena los recursos para hacer / aprender. Curate tus propios deseos
  • En mi opinión, vale la pena invertir en la OMI, ya que ayuda a tu estado mental en general (desde sentirte indefenso y confundido hasta ser más poderoso para enfrentar tu propio cerebro).

Le sugiero que se una al curso “Aprender a aprender” en Coursera.
Requiere un mínimo de esfuerzo semanal y es divertido de ver mientras se trata de cómo funciona su cerebro y cómo mejorar su aprendizaje.

El cerebro humano es como la CPU. Cada uno de nosotros tiene nuestro propio tamaño de RAM y espacio en ROM. Se cree que los humanos no pueden concentrarse más de 20 minutos en una clase. Lo leí en algunos estudios estadísticos. Esta es la razón por la que perdemos interés en el trabajo que más amamos. La forma en que encontré para mantenerme aprendiendo cosas nuevas es crear ejemplos para las cosas que estudiaste. Un ejemplo simple como sigue: Las cosas que aprendes se almacenan en la memoria RAM. Pero su memoria RAM es volátil y de tamaño limitado. Esta es la razón después de un período de tiempo, necesita transferir los contenidos a la ROM. Pero antes de transferir, cree un puntero al contenido aprendido y colóquelo en ubicaciones de memoria contiguas y almacene el puntero en la RAM. Esto realmente te ayuda a entender un concepto y a entregarlo a otros. Se sentirá bien cuando se lo explique a otros con ejemplos y se sentirá motivado a aprender. Esta es solo mi forma de aprender y un intento de explicar las cosas. Por favor, tenga en cuenta los errores técnicos si los hubiere. Por fin, todos los grandes conceptos en programación se basan en las cosas más simples de la vida. Solo explota este hecho

Igual que aquí. Pero he visto que trabajar en proyectos reales ayuda mucho. Si aprendes rápido y no encuentras cosas difíciles de entender, solo para mantener tu interés es conseguir un trabajo que requiera que trabajes en problemas difíciles de manera intrínseca, la tecnología de aprendizaje se presenta como un efecto secundario importante. Lo que ayuda es no solo aprender sobre las cosas inmediatas que necesita, sino también cubrir el tema cuando lo esté utilizando para resolver un problema real. Esto se puede hacer en corto lapso.

Como otros han mencionado, ponlo a trabajar. El cerebro humano no está realmente construido para “aprender” (lo que sea que eso signifique) una API o una metodología arquitectónica como algo propio. Ciertamente, no fueron creados desde esa perspectiva.

Por lo general, elijo un proyecto y me sumerjo, aprendiendo lo que necesito a medida que avanzo, en lugar de sentarme a “estudiar” cualquier cosa.

Eso significa que el interés no es lo suficientemente grande :).
Empecé a aprender a programar para crear un juego Mod de GTA San Anadreas, tenía un solo objetivo y solo un objetivo en mente, cambiar el juego jajaja y funcionó.

Cuando haces un inicio, no hay forma de saberlo todo mientras creas el producto, pero la pasión y el interés de crear el producto te impulsan.

Este “muro” se llama miedo. Las cosas empiezan a ponerse difíciles y empiezas a pensar que no puedes hacerlo. Tal vez usted no sea consciente de esto, trate de ser honesto consigo mismo y piense realmente cuáles son los componentes básicos de su muro.

Las cosas se ponen difíciles, renuncias y la próxima vez se refuerza esta idea de que no se puede hacer algo … y estás atrapado en un bucle.

Pasos de bebé (también conocido como refuerzo positivo)
Mediación (sé consciente de tus propios miedos)

Necesitas entender realmente que cualquier “Muro” es de tu propia creación.

Creo que esto es bastante común y también he luchado con esto a veces. Incluso si su interés es bastante alto, creo que el enfoque que tome puede hacer una gran diferencia.

Algunos temas son abrumadores, por lo que es útil enfocarse en algo manejable. Por lo general, comienzo por recopilar varios recursos que hacen un buen trabajo de destilación de los conceptos básicos de un área en la que estoy interesado. Me sumerjo en ellos durante unos días para obtener varios puntos de vista y trabajar con algunos ejemplos básicos. Creo que este es un paso importante porque sienta las bases para trabajar y ayuda a minimizar la frustración. Después de eso, puse mi mirada en tratar de resolver un problema específico por mi cuenta que incorpora el nuevo tema. A veces podría basarme en un ejemplo. La mayor parte de lo que me interesa tiene que ver con las matemáticas y la ingeniería, así que para mí la resolución de problemas tiene lugar en Matlab, donde puedo crear prototipos de algo. Encuentro que puedo sumergirme fácilmente en la solución del problema y el subproducto de ese proceso es donde se lleva a cabo el mejor aprendizaje. Aprender un nuevo lenguaje de programación o algún aspecto de un lenguaje puede ser ligeramente diferente, pero creo que se aplican las mismas ideas:

1. mantenerlo enfocado y manejable
2. Aprender algunos principios básicos por adelantado.
3. recompénsese con tratar de resolver un problema específico que lo comprometa

La emoción de crear algo con su nueva habilidad lo impulsará hacia adelante y le permitirá desarrollarlo en el futuro. El paso (2) requiere algo de disciplina. Resista la tentación de pasar por alto los conceptos básicos (que conducirán a la frustración). Creo que también es importante dedicar un tiempo entre los esfuerzos para reflexionar sobre lo que has aprendido y darte la oportunidad de tener una nueva perspectiva después de una pausa.

Bueno, si estás realmente interesado en él, no lo harías, lo que hiciste.