Cómo convertirse en un experto en programación a través del autoestudio si ya conoce 2 lenguajes de programación y estructura de datos

Te falta conocimiento de:

  • Componentes informáticos de bajo nivel.
  • Construcciones de programación de alto nivel como tipos de datos algebraicos, coincidencia de patrones, módulos de orden superior, tipos de tipo superior, etc.
  • Otros paradigmas de programación como funcional, reescritura de términos, lógica, etc.
  • Programación paralela basada en tareas.

Por eso recomiendo aprender:

  • Ensamblador: aprenda la asignación de registros y las convenciones de llamadas.
  • Esquema: aprenda sobre EVAL.
  • F #: aprenda sobre los tipos de datos algebraicos, la coincidencia de patrones de estilo ML, la comunicación de procesos secuenciales con MailboxProcessor y la programación paralela basada en tareas.
  • Haskell: aprende sobre la extrema pureza.
  • Mathematica: aprenda sobre la reescritura de términos y su idoneidad para la programación simbólica.
  • Prólogo: aprende sobre programación lógica.

También recomendaría hacer algunos gráficos de computadora usando OpenGL. También puede probar la programación para Linux, Windows, iOS y Android.

Estuve en el mismo bote que ustedes hace unos años. Estudié ingeniería eléctrica pero me gustó más la creación de software, así que obtuve todas mis prácticas como investigador de ciencias de la computación o ingeniero de software. Ahora trabajo a tiempo completo como ingeniero de software en finanzas.

Tienes la idea correcta al tomar cursos de informática y aprender diferentes tipos de lenguajes de programación. Java es ideal para grandes aplicaciones sensibles a la latencia, Python es ideal para scripts rápidos y GUI, y MATLAB es ideal para problemas de ingeniería. Tienes un sólido conjunto de habilidades iniciales para convertirte en una gran programación en el futuro.

Según la etapa en la que se encuentre, no se preocupe por aprender más lenguajes de programación o temas de informática en este momento. Primero enfóquese en construir proyectos de software con el conocimiento que ya tiene. Implementar lo que aprendiste será la mejor manera de aprender más.

Elija qué tipo de software desea crear: web, móvil, escritorio. En mi opinión, la web es la más fácil de comenzar porque hay muchos cursos gratuitos en línea para ella y, dado que te gusta la creación de redes, aprenderás sobre las redes en el proceso de creación de aplicaciones web.

Elija un pequeño proyecto para comenzar. Construir una página web estática y ponerla en línea es un buen punto de partida para aprender HTML y CSS.

Luego intenta algo que interactúa con una base de datos. Un buen proyecto es crear un blog simple que permita a un usuario escribir una publicación y luego publicarla en línea.

A partir de ahí, sigue construyendo proyectos más complicados.

Si quieres aprender Ruby on Rails, prueba estos 2 tutoriales: Tutorial de introducción a Rails y Ruby on Rails (3ª ed.). Con suerte, alguien que conozca el desarrollo web con Python puede publicar algunos buenos tutoriales para usted en los comentarios.

Además, consulte mi publicación de blog para obtener una descripción general de cómo convertirse en un desarrollador de software avanzado: Cómo convertirse en un desarrollador avanzado.

Al contrario de lo que otros han dicho, la programación no es simplemente una “herramienta”. Suele venir con paradigmas, filosofías, pilas de tecnología, etc.

Sugeriría que se concentre en esos otros factores. El lenguaje en sí es como el libro de la portada. La programación es más que sintaxis, se trata de resolver problemas de escenarios de la vida real.

Python es genial para aprender programación funcional, estándares de código limpio y “la forma pitónica”, que aplico en cualquier otro idioma al que voy.

C # / Java son excelentes para soluciones integrales escalables de extremo a extremo. Me enfocaría en EntityFramework, Repository Pattern, MVC y WebAPI

JavaScript Lamentablemente, este último está impulsando Internet, por lo que dominarlo es más que bueno tenerlo hoy en día. Me enfocaría en AngularJS, bootstrap, ui-router, bootstrap angular y promesas encadenadas

Simplemente no intente aprender una gran cantidad de lenguajes de programación. No obtienes nada solo aprendiendo sin practicar. Java y Python son enormes con muchas aplicaciones. Deja de preocuparte por aprender un idioma y comienza a codificar / resolver problemas usando los idiomas que conoces. Intenta implementar muchos algoritmos usando los idiomas que conoces

Debe apreciar que la programación es una “herramienta” para ayudarlo a resolver problemas. Como EE, puede usar la programación en una variedad de subcampos, como: algoritmos, procesamiento de imágenes y señales, comunicaciones, control integrado, por nombrar solo algunos. Aprende a resolver problemas. Adaptarse de un lenguaje de computadora a otro es típicamente sencillo. Saber un idioma es de poca utilidad si no sabe cómo resolver el problema subyacente. Todavía tienes camino por recorrer.

Vea la respuesta de Richard Kenneth Eng a ¿Por qué no debería aprender Python?

La única forma de aprender a programar es escribir software, cometer errores, aprender de tus errores. Aprender lenguajes de programación NO es lo mismo que aprender a programar.

Tal vez sea una observación tonta, pero tal vez debería considerar tomar una concentración menor en ciencias de la computación o ingeniería de software, y luego estudiar lo que viene a continuación en el plan de estudios.

Si está en la escuela y paga un buen dinero para estar allí, aproveche los cursos que se ofrecen y la orientación disponible de su asesor y otros profesores. Tienes mucho tiempo para estudiar por tu cuenta cuando estás fuera de la escuela.

(A menos que su escuela sea una mierda, en cuyo caso tiene un conjunto diferente de problemas que enfrentar).

No solo aprendas y aprendas y aprendas, nunca serás un experto solo leyendo y aprendiendo, tienes que poner todo tu conocimiento en práctica. ¡Esto te dará la experiencia! Es por eso que un programador de software tarda años en ser un experto.
¿Qué crees que le pasará a un aspirante a chef si sigue leyendo el libro de cómo cocinar y memorizando recetas y nunca cocina?
Encuentre un proyecto personal e intente codificarlo realmente en Java o Python (los dos idiomas que afirmó saber).

Mientras adquiere experiencia en programación, eventualmente necesitará más capacitación. Cómo elegir Cursos de Ciencias de la Computación describe el plan de estudios de licenciatura de Ciencias de la Computación, así como las muchas especializaciones. También discute el OMSCS – Instituto de Tecnología de Georgia. Entonces, dependiendo de sus intereses en términos de especialización, determina lo que debe estudiar a continuación.

More Interesting

Soy un graduado en informática de la India interesado en obtener una maestría en economía / finanzas. No tengo experiencia previa en economía / finanzas. ¿A qué universidades puedo postular en los Estados Unidos / Reino Unido?

Pronto obtendré un doctorado en geología, y mi especialidad de pregrado también está en geología. ¿Es posible obtener un puesto de facultad en Informática?

¿Qué debo hacer como actividades paralelas como estudiante de CS?

Estoy casado, tengo un bebé de 1 mes y puedo financiar hasta 20 mil rupias. Quiero seguir una maestría en informática. ¿Es bueno o malo ir a una maestría?

¿Cuál es el trabajo diario de los desarrolladores de R?

¿Cuál fue el viaje de Dale Thomas para convertirse en programador de gráficos por computadora?

¿Debo volver a la universidad para ponerme al día con el rápido avance de las tecnologías de aprendizaje automático? ¿Especialmente aprendizaje profundo?

¿Debo ir a Merced for Computer Science o ir a SJSU no declarado para transferir a CS?

¿Es necesario hacer un B.Tech para convertirse en un programador de computadoras?

¿Qué campos o profesiones relacionadas con la informática, la programación o la ingeniería de software serán muy valiosas para 2020 o 2025?

¿Qué tan importante es un título en la universidad para convertirse en un programador de computadoras (es necesario para ser exitoso)?

¿Cómo hacer una certificación ABAP? Cuanto costara

¿Cuáles son las cosas que debo aprender como un probador de automatización que usa Selenium?

¿Cómo es ser profesor de informática?

¿Qué habilidades debo adquirir durante las vacaciones de invierno para ser un buen candidato para una pasantía de ingeniería de software para el verano de 2017?