No importa la ruta que tomes, realmente no importa mientras practiques una tonelada de mierda. Mira los idiomas populares y decide con cuál quieres empezar. Iría con uno de los siguientes: Java, Swift, Kotlin, C, C ++, Dart, Php. No importa tanto, y antes de conseguir un trabajo haciéndolo, probablemente querrás haber rebotado un poco.
En lugar de dar instrucciones paso a paso, te daré algunos consejos. Por favor, preste atención a estos, no solo sean "sí, lo que sea". Seguir estos consejos te hará crecer mucho más rápido, y si realmente sigues estos consejos por completo, probablemente será el programador de aprendizaje más rápido de la historia. ** Nadie sigue estas reglas hasta mucho más tarde de lo que deberían, y todos se arrepenten un poco. ** No es un gran problema porque todos lo hacen, pero puedes hacer una gran diferencia. Podría estar listo para el trabajo en 3 meses fácil si practica todos los días y hace esto. Si no lo hace, diría que probablemente esté viendo aproximadamente 1 a 3 años de práctica al menos antes de que alguien lo contrate.
Entonces, sin más preámbulos, y en un orden suelto de la mayoría a menos importante, mi guía para aprender a programar:
Practica mucho más de lo que estudias/lees. No solo lea cómo hacer las cosas, pruébalas. Encontrarás que la mayoría de las veces, hay complejidades que no se mencionan en el texto y aprenderás mucho más. El hecho de que creas que sabes cómo hacer una clase en C ++ no significa que ni siquiera sabes cómo hacer que el código compile. Este es, con mucho, el punto más importante.
No aprenda un lenguaje de programación, aprenda a programar. Claro, usará un lenguaje de programación y será competente con él, pero es solo una herramienta. Si recoges un libro de principio a fin en un idioma, habrás aprendido muchas cosas que nunca vas a usar. Si insiste en usar un libro de texto, use uno que enfatice ejemplos o le enseñe una práctica de programación como el desarrollo web o el aprendizaje automático. La mayoría de los libros de texto centrados en el lenguaje de programación no son buenos como nada más que una referencia. Además, es realmente importante no estar vinculado a ningún idioma, especialmente como principiante. Hay un montón de excelente material que se enseña en un idioma determinado, pero es universalmente importante. Debería poder aprender de ejemplos escritos en un idioma que nunca haya usado.
Prueba cosas al azar. Pruebe nuevos marcos, paquetes, idiomas, ideas, etc. solo para ver cómo funcionan. ¿Nunca hice una aplicación? Pruébalo. ¿Nunca usé un marco JS front -end? Pruébalo. Comprar un arduino. Obtenga un libro sobre diseño orientado a objetos. Intente usar una base de datos NoSQL para su próximo proyecto, o intente usar una base de datos alojada en AWS.
No te tomes días libres. Tomarse tiempo libre te lleva "fuera de la zona". Desea estos problemas en el fondo de su mente en todo momento. Tomar días de descanso te obliga a volver a la zona y recordar las cosas. Se me ocurren soluciones a problemas o ideas geniales todo el tiempo, ya sea que conduzca a casa desde el trabajo o en el gimnasio.
Haga de la programación un pasatiempo. Aprende a disfrutarlo. Esto viene con alejarse de leer libros de texto y practicar más. Haz una mierda genial. Obtener experiencia. No digas "Escuché que es una mala idea". Diga "Esa es una mala idea, esto es lo que me pasó cuando probé eso". A nadie le importa lo que lees en un libro de texto, lo prometo. Bueno, al menos no tanto como les importa lo que experimentó de primera mano.
Terminar proecto 100%. No digas 'eh, ya está hecho'. y sigue adelante. Terminarlo. Publicarlo. Dile a tus padres y amigos que lo usen. Nunca sabrás cuánto trabajo se quedó realmente. El final de un proyecto puede introducir agujeros masivos en su código. Incluso Moreso, una vez que lo haya lanzado, sus usuarios encontrarán mucho más. Obtengalo y haga que la gente lo use.
Red. Internet me ha presentado a muchos programadores geniales que tienen toneladas de conocimiento para darme. Trabajar en un equipo tanto como sea posible, le enseñará cómo las empresas hacen las cosas a escala. Control de versiones, gestión de tareas, documentación de código, legibilidad de código, acoplamiento suelto de objetos, etc. son mucho más importantes cuando se trabaja en proyectos con otros.
Lea los blogs tecnológicos y los sitios de información. TechCrunch, TechMeme, Medium, Quora, Stackoverflow, LinkedIn y Facebook son los que más uso. Mis noticias sobre todas están llenas de la información más reciente sobre la industria tecnológica.
Si la gente lee esto, lo editaré como pienso más.