En lugar de sugerir formas particulares de dominar ciertos tipos de programación, me gustaría abordar la abrumadora situación que parece estar experimentando. Después de leer la descripción de su pregunta, parece que tiene dos problemas:
- No conoces el “lugar óptimo para centrar tu atención”.
- Te preguntas cómo puedes mejorar una vez que conozcas ese enfoque.
Dónde enfocar su atención es lo más importante para hacerlo bien. Usted querrá dedicar tiempo a mejorar en las áreas que le interesan, y menos tiempo a convertirse en una parte de los intercambios que no le interesan. Puede aclarar su dirección haciendo una lluvia de ideas sobre qué es lo que quiere evitar con la programación. Programación es un término general para muchos tipos de actividades que comprenden una variedad de habilidades diferentes. Si está interesado en resolver problemas matemáticos difíciles algorítmicamente, no se preocupe demasiado por obsesionarse con HTML / CSS. Si está interesado en crear excelentes aplicaciones web como Quora, quizás piense en el procesamiento del lenguaje natural en el futuro pero no lo convierta en un foco aún. Si está interesado en convertirse en un trabajador competente, quizás se centre en las cosas que sugirió Jonas Bruun Nielsen.
Tenga en cuenta que su enfoque es su dirección y que no debe intentar aprender todo lo que hay para aprender sobre programación. Al menos no todavía. (Sugerencia: no puede). En una línea similar, aunque personalmente creo que una educación en informática es fundamentalmente útil para los curiosos algorítmicos y para aquellos interesados en la cultura académica, no creo que un enfoque general de aprendizaje de todo bajo El sol es, en general, la mejor forma de dominar cualquier cosa. Conozco buenos desarrolladores de aplicaciones web que no pudieron comenzar a sugerir la mejor estrategia ganadora para el primer jugador en una configuración dada de Nim .
Una vez que sepas cuál es tu enfoque, llegar allí es mucho más fácil. Es cierto que aquí hay una paradoja de elección; Todas las diferentes habilidades, tecnologías y metodologías que puede elegir para practicar no se sienten liberadoras cuando tiene que preocuparse por tomar una mala decisión. Pero la cantidad de opciones es buena porque cuando las has reducido por el enfoque, ninguna de las opciones es terrible , son efectivas (ya que te ayudan a alcanzar tu objetivo) incluso si resultan no ser las más eficientes ( una opción puede ser una forma un poco más rápida de llegar que otra). Pero en lugar de tratar de encontrar la manera más eficiente de llegar allí, comience a practicar lo que más le emociona y ahórrese un poco de tiempo en la parálisis de análisis. La ruta particular a la que recorres probablemente no sea tan importante como el hecho de que, independientemente de lo que elijas, aprenderás lo suficiente como para acercarte a tu objetivo específico.
- ¿Cómo puedes crear una visión para tu vida?
- ¿Cómo puedo ser más juguetón como adulto?
- ¿Cómo puedo enseñarme a sentir emociones y mejor poder pausar mi justificación intelectual y mi racionalización analítica?
- ¿Cómo haces la paz contigo mismo?
- ¿Qué estrategias efectivas utiliza para diferenciar entre personas reales y falsas?
Los pequeños proyectos con los que está entusiasmado son excelentes para mejorar las habilidades en la mayoría de las áreas. Es preferible que sea pequeño y manejable, pero para mantener los niveles de motivación, es aún más útil si está entusiasmado con el resultado final. Podría rayar una picazón personal, resolver un problema para su empresa o simplemente ser algo de lo que se sentiría orgulloso de presumir ante la gente. Puedes crear un proyecto que use casi cualquier tecnología sobre la que te gustaría aprender más. De esa manera, la finalización del proyecto es un indicador medible de si ha alcanzado su meta de aprendizaje a corto plazo. Los proyectos también pueden ser una gran oportunidad para ver una imagen más grande que sus subrutinas y variables, traer colaboradores, establecer una cartera o contribuir con algo a la comunidad de código abierto.