Soy programador profesional (más de 30 años de experiencia).
Seamos realistas: simplemente no puedes pasar 14 horas al día aprendiendo algo. Eso es simplemente imposible. Especialmente algo tan mentalmente agotador como la programación. Puedes intentarlo, pero perderás tu tiempo, no es eficiente. Aprende más inteligente
Hay investigaciones que muestran que trabajar más de unas pocas horas al día es inútil porque las siguientes horas son en su mayoría contraproducentes. He visto los resultados de primera mano.
- ¿Alguien ha tomado clases Pen Drive de Parag Gupta de sus clases satelitales? ¿Cómo fueron tus experiencias? ¿No es posible para mí tomar una clase F2F?
- En matemáticas o física teórica, ¿recomienda a los estudiantes que estudien una materia avanzada cuando no tienen una formación sólida en sus requisitos previos?
- ¿Cómo es ser un intelectual?
- Para un estudiante de secundaria, ¿debería estudiar un idioma que le guste o que sea útil?
- ¿Cuál es la forma de aprender sobre las diferentes transmisiones de MBA y elegir la mejor para mí?
Ahora, si lo que realmente quieres decir es cuánto puedes aprender si te dedicas al aprendizaje y lo haces todos los días, podemos discutirlo.
Dado que haces esa pregunta, deduzco que eres un principiante, que realmente no sabe de qué se trata la programación (¡eso es normal! También he estado allí).
Encontrará muchas explicaciones sobre cómo aprender idiomas, etc. en Quora (y en otros lugares). Pero me gustaría darle algunas sugerencias (basadas en una respuesta que di en otra pregunta):
- La mayoría de las veces, aprender un lenguaje de programación no es difícil, generalmente es la parte fácil . Lo que consume mucho tiempo (y algunas veces es difícil) es aprender las bibliotecas (las cosas que hacen posible usar el lenguaje sin escribir todo desde cero, un buen ejemplo es la GUI libray, que se utiliza para crear programas con interfaces, como su navegador). ).
- Otra parte difícil es aprender los conceptos utilizados cuando estás programando, en el sentido más amplio,. Eso es estructuras de datos, algoritmos, diseño, etc. Sin embargo, si está comenzando, esto no es un problema real. Simplemente comience a experimentar con el idioma, luego encontrará problemas y preguntas y poco a poco se dará cuenta de que muchos de ellos se contestan en libros / tutoriales, etc. No es necesario que los analice al principio, excepto si está estudiando Ingeniería de Software o Ciencias de la Computación.
- Comenzar con Python es una buena opción. Es fácil de aprender, muy potente y versátil. Y, sobre todo, tiene toneladas de material didáctico en forma de libros, tutoriales en línea y foros donde se discuten casi todos los aspectos.
- Al contrario de lo que piensa la gente, la programación no es simplemente saber cómo “decirle” a la computadora lo que debe hacer. Nuestro trabajo es traducir una necesidad (de un usuario) de manera que la computadora pueda “entender” (código). En un equipo grande, ese paso a menudo lo realiza alguien que luego entrega al programador un documento técnico que describe el programa que se debe crear. Pero no se equivoquen: el primer y mayor problema es la comunicación . Comunicación con el usuario, sus compañeros de trabajo, su gestión. No subestime eso, es la falla más grande de la mayoría de los programadores que he conocido.
- También hay muchos otros trabajos involucrados: diseño, arquitectura, pruebas, etc. Pero entenderás que mientras aprendes, comenzarán a aparecer obvios después de un tiempo.
Entonces, ¿cuánto puedes aprender en un año de arduo trabajo?
Supongo que usas Python para comenzar.
Si sigue un tutorial, debería tener una idea aproximada de lo básico en un día o dos (bucles, cadenas / números, condicionales, funciones, etc.). Ya debería poder hacer algunas cosas extremadamente simples (como imprimir en el defina los números impares entre 1 y 1000).
Después de una semana , debe tener suficientes elementos para sentirse frustrado, cuando se dé cuenta de que lo que realmente quiere es jugar con un programa “real” con elementos de la interfaz de usuario (como su navegador, Word y similares). Tendrá que aprender a administrar interfaces (ventanas, botones, etc.) Luego entenderá lo que quise decir cuando dije que el idioma en sí es la parte fácil
Por supuesto, tus primeros programas serán muy simples. Puede ser un poco frustrante al principio, pero entienda que programarlo como cualquier otra actividad: toma tiempo y práctica …
No se desanime, dentro de unas semanas debería poder hacer cosas simples pero gratificantes.
Después de un mes , debería poder entender cómo funcionan las GUI, al menos para las partes más usuales (las GUI están llenas de posibilidades muy complejas que no se usan con tanta frecuencia).
Después de 2 meses , si lo tomas en serio, debes comenzar a sentir realmente que te estás perdiendo algo. Ahí es cuando realmente debes darte cuenta de que necesitas trabajar en lo básico (la teoría ). ¿Recuerdas cuando escribí sobre estructuras de datos, algoritmos, diseño, etc.? Ahora, debe tener suficiente experiencia práctica para ver el interés de aprender sobre ellos en lugar de intentar reinventarlos. Debería comenzar a estudiarlos, encontrará mucha documentación y tutoriales en línea; busque Quora y stackOverflow para comenzar, o use un motor de búsqueda (YouTube también contiene muchos videos geniales sobre ellos).
¡No subestimes la teoría! Es una cosa que no cambia mucho, no importa qué proyecto quiera hacer, no importa qué tecnología use. No es una pérdida de tiempo. ¡Confía en mí en esto!
Ver videos y leer + practicar (¡muy importante!) Durante los próximos 10 meses (más o menos) debería darle las bases suficientes para comenzar a hacer programas realmente útiles (varias pantallas, conexión a bases de datos, o usar servicios web, administración de estado interno, etc.) ).
Qué tan bueno (competente) serás entonces depende de tu dedicación y habilidades (algunas personas son más rápidas que otras).
Coraje y buena suerte.