Soy un estudiante de informática, y sé que hay muchas maneras en este sector, pero no puedo decidir qué camino seguir. ¿Qué debo hacer para convertirme en un muy buen programador?

  1. Concéntrese en conocer métodos y conceptos , en lugar de detalles. Es más importante comprender: bucles, recursividad, estructuras de datos, programación orientada a objetos, control de versiones, etc., en lugar de lenguajes particulares, ya sea: C, C ++, Java, PHP, Ruby, Python, Perl, etc.
  2. Los detalles que debe aprender son estándares , como: Expresiones regulares, SQL y HTML. Estos son útiles en toda la gama de la informática.
  3. Pasa tiempo con diferentes lenguajes de programación [ver El programador pragmático]. Cada uno te enseñará cosas diferentes. C (y punteros) le enseñarán sobre el manejo de la memoria y las consideraciones de nivel inferior. Java te enseñará a codificar de forma orientada a objetos. Las secuencias de comandos de Shell le enseñarán a codificar de manera útil el código WORO *, etc.
  4. Al aprender, ignore el principio DRY **. En lugar de usar las bibliotecas de otra persona, escriba la suya. Mientras más código crudo escriba, mejor obtendrá. Luego, compárelo con las bibliotecas escritas por otra persona y busque las cosas que se perdió sin darse cuenta.
  5. Una vez que haya aprendido del n. ° 4, suba a bordo de un gran proyecto de código abierto a través de GitHub, etc.
  6. En este punto, probablemente tenga una idea de los aspectos del comercio que disfruta más que otros. Comienza a especializarte en eso.

* Escribe una vez, corre una vez.
** No te repitas.

Por supuesto, para convertirte en un buen programador necesitas tener experiencia.
Pero mientras comienza a programar y obtiene su experiencia, aquí hay algunas cosas que lo ayudarán a aprovechar al máximo la experiencia que obtiene:

  1. Huir de la programación de copiar y pegar. Copiar y pegar es la mejor manera de programar sin aprender nada.
  2. Siempre dedique parte de su tiempo al aprendizaje puro: cuando encuentre un trabajo o comience a trabajar en un proyecto, encontrará nuevas tecnologías y marcos. Cuando alguna de estas tecnologías le interese, dedique algo de tiempo a leer sobre ella, no solo tratando de leer los tutoriales mínimos para terminar lo que necesita hacer.
  3. No caigas en la desesperación por la inmensidad de cosas que no sabes. A medida que pasa el tiempo, más y más tecnologías / conceptos / lenguajes serán familiares y será más fácil aprender cosas que se basan en ellos.
  4. Lea el código de otras personas: las bibliotecas de código abierto son excelentes para esto. Esto mejorará tus habilidades como programador y te mostrará nuevas formas de escribir código que no has pensado.
  5. Deje que otra persona revise su código y le dé su opinión. Y ser de mente abierta para critisim .
  6. Siempre intente escribir código limpio (legible, sin duplicación, etc.). Este es un desafío continuo para un desarrollador, pero es muy gratificante y muy significativo.
  7. Escribe pruebas para tu código. Una vez más, este es un desafío continuo, pero si te acostumbras, la calidad de tu código mejorará significativamente.

El mejor campo para elegir es el más interesante / emocionante para usted. Como dijiste, hay muchas ramas en informática. Así que pasa un tiempo en línea leyendo sobre ellos. Para mí, me gusta escribir aplicaciones para sistemas móviles (iOS, Android). Disfruto aún más de la inteligencia artificial.

Para convertirse en un buen programador, comience por conocer las ideas fundamentales detrás de la programación (algoritmos, programación orientada a objetos, etc.).

Encontré que la mejor manera de aprender programación es practicarlo escribiendo scripts simples. También hay sitios web como CodeAcademy Learn to code que ofrecen una experiencia de aprendizaje interactiva.

Esta es una pregunta amplia, espero haberte ayudado aunque sea un poco. Si alguien tiene algo que agregar, por favor siéntase libre.

More Interesting

Soy un estudiante de último año de B.Tech de la rama de ECE. ¿Qué campo será bueno para un trabajo (entre TI y Core) y qué campo tiene más crecimiento?

Tengo dos títulos en filosofía, un título de asociado en artes liberales, experiencia en administración y gestión de proyectos sin fines de lucro, y ahora soy fluido en 4 idiomas. ¿Qué profesiones podría ejercer?

¿Se termina cuando no puedes encontrar nada que decir en un matrimonio?

¿Dónde puedo tomar un día de entrenamiento en Bangalore?

¿Cuál (con experiencia en las áreas respectivas) es la mejor carrera para ingresar en los próximos 5-10 años?

Soy estudiante de inglés en la universidad y enseño en privado a algunos estudiantes de matemáticas. ¿Cómo puedo convertirlo en un trabajo real?

¿Puedo aprender informática sin ir a la escuela? ¿Cuáles serían los pasos necesarios?

Si una persona es débil en la codificación, ¿puede él / ella romper el entrenamiento cognitivo?

¿Cuál es mejor, Cyanogen o Android?

¿Cómo convertirse en un diseñador de moda profesional? ¿Cuáles son algunas calificaciones necesarias?

Acabo de conseguir un trabajo como desarrollador de aplicaciones móviles Java. ¿Cómo me preparo para este trabajo?

La fiesta festiva de su empresa incluirá karaoke y planea avisar con 2 semanas de antelación a la mañana siguiente. Que cancion haces

¿Cuál es el alcance de los Contadores Públicos en la India?

¿Cómo es que hay pasantías que requieren un MBA, pero siempre hay una persona recién graduada que se queda con el trabajo, independientemente del requisito?

Soy una mujer. ¿Tener una cabeza afeitada afectará mis posibilidades de conseguir un trabajo durante una entrevista?