¿Qué camino debe seguir un estudiante universitario de la rama CS para convertirse en un buen programador?

Sigo diciendo esto en varios sabores, así que voy a intentar una versión más limpia para ti.

La informática es la habilidad de resolver problemas usando código.

Para ser bueno contigo, necesitas resolver problemas. Esto significa que necesita hacer un software no trivial. La escuela no hace esto por ti. Lo que hacen las escuelas es proporcionar un conjunto de excelentes recursos para ayudarlo a resolver sus problemas. No problemas de libro. No tarea. Problemas reales

Entonces haz una aplicación. O doce. Comienza un juego. Haz un sitio web. Lo que quieras. Haz algo dificil. Resuelve el problema de tus sueños.

Y cuando te quedes atascado (y lo harás), habla con tus TA, profesores y otros estudiantes. Muéstrales dónde estás y aprende a explicar tu problema para que otros puedan ayudarte. Conviértete en un comunicador maestro .

El resto son detalles. ¿Quieres aprender ML? ¿Ciencia de los datos? Concurrencia? Todos solo problemas para resolver. Una vez que sabes cómo hablar sobre cómo resolverlos y tienes un juego de herramientas para resolver las cosas, entonces todo es cuestión de esforzarte.

Supongamos que alguien pregunta “¿Qué pista debe seguir un estudiante de música de la universidad para convertirse en un buen músico?” Las clases pueden ser útiles, pero alguien que quiere ser un buen músico intenta entrar en bandas, grupos de canto y actuar lo más posible. Un buen maestro puede ser invaluable, ¡pero nada reemplaza la práctica, la práctica, la práctica!

Lo mismo es cierto para convertirse en un buen programador. Los mejores cursos del mundo no te ayudarán si no practicas. Muchos cursos de CS tienen tareas de programación, pero las tareas rara vez brindan tantas oportunidades de práctica como sea necesario. Por lo tanto, busque cualquier oportunidad para practicar. Escribe pequeños programas por tu cuenta. Trabaja con grupos pequeños. Trabaja con grupos más grandes. Los proyectos de código abierto son geniales porque tendrás la oportunidad de trabajar con personas experimentadas y probablemente te darán retroalimentación sobre tu código. A menudo del formulario “No aceptaré tus cambios hasta que tú …”

Aprendí a programar en la universidad hace 40 años y no había muchas clases de programación en mi universidad. Me quedé sin ideas para proyectos, así que comencé a preguntarles a mis amigos si necesitaban un programa para algo y terminé escribiendo varios ensambladores para computadoras obsoletas con excedentes militares, un programa para realizar un seguimiento de los patrones de anidación de patos de madera y un programa para determinar con qué frecuencia se usaron libros antiguos en la biblioteca de la universidad. Realmente no importa lo que programes, siempre que practiques.

Tu propio. Si está listo para ir a la universidad, entonces está bien, pero tenga en cuenta que la universidad no lo preparará adecuadamente para convertirse en un ingeniero de software profesional.

Recomiendo encarecidamente participar en un proyecto de código abierto, o mejor aún, comenzar el suyo. Algunos problemas realmente fundamentales con la contratación de graduados universitarios es que no están acostumbrados a producir software profesional, están acostumbrados a producir tareas y proyectos.

Trabajar en la mayoría de las empresas es, en el mejor de los casos, un caos organizado. Por lo tanto, más que la práctica genérica de la codificación, trabajar en un producto real es muy beneficioso porque te acostumbrará al flujo de trabajo de la producción de productos.

Por último, en mi experiencia, ser un buen ingeniero de software requiere aprendizaje y adaptación constantes. No solo porque la tecnología cambia. Pero como he notado que si eres realmente bueno, tiendes a ser reasignado mucho, lo que generalmente requiere que aprendas una tecnología o un lenguaje completamente diferente.

En resumen, obtenga tanta experiencia real como sea posible y no confíe demasiado en la escuela

¿Qué camino debe seguir un estudiante universitario de CS […] para convertirse en un buen programador?

Eso depende de qué pistas estén disponibles. Ciertamente, cualquier cosa que tenga que ver con la “Ingeniería de software” sería buena. Más allá de eso, depende del tipo de programación que quieras hacer. Puede haber pistas relevantes para

  • Programación en paralelo (múltiples procesadores trabajando en el mismo problema al mismo tiempo)
  • Programación numérica (computación con números y matrices, resolución de ecuaciones, simulación de sistemas físicos)
  • Simulación de sistemas físicos (o biológicos, químicos o …)
  • Escribir sistemas operativos
  • Implementación y uso de bases de datos.
  • Robótica
  • Etc, etc., etc.

Realmente, cualquier pista que no sea la teoría de núcleo duro es relevante, dependiendo del tipo de programación que desee hacer.

La pista que debe seguir un estudiante de la rama de CS consiste en varias cosas, en primer lugar, para comenzar con la pista, decidir qué lenguaje de programación le gusta más y le resulta cómodo. Una vez que decida esto, comience a trabajar en él desde cero y mientras busca la hora de inicio, busque las características y temas avanzados que necesita para aprender a ser un buen programador.

Por ejemplo, si toma java, primero aprenderá core java, luego, en core java, aprenderá el concepto oops y luego algunos marcos como swing mediante el cual puede hacer aplicaciones de escritorio. Una vez que hagas esto, puedes avanzar para avanzar en Java y aprender los marcos presentes en él y trabajar prácticamente en ellos.

Así que eliges de acuerdo a ti y decides lo antes posible y comienzas a trabajar en eso, y solo entonces tendrás ventaja.

Lo más importante para ser un buen programador es la coherencia. Si no es consistente y no aplica conceptos teóricos prácticamente, entonces está seguro de que no se convertirá en un buen programador. Así que asegúrese de ser coherente en todo momento y codifique tanto como pueda.

Buena suerte .

More Interesting

¿A qué entrenamiento (Java, PHP, etc.) puede asistir un estudiante de informática después de B.Tech durante un año?

Cómo saber si sobresaliría en informática a nivel de grado

Estoy a punto de comenzar mi B.Tech en informática en una universidad de renombre en la India. ¿Qué cosas puedo hacer en los próximos cuatro años que me ayuden a obtener la admisión en las universidades de EE. UU. Para mi EM?

Para un estudiante de segundo año de ciencias de la computación e ingeniería, ¿cuál es mejor, aprender programación competitiva o desarrollo?

En India, ¿cuál es el alcance de un desarrollador de Python? ¿Cuánto puede ganar él / ella?

¿Cómo obtienes un salario de $ 50,000 en 2 años como programador de computadoras si tienes poco conocimiento y ninguna experiencia?

¿Qué país es el mejor, tanto económica como académicamente, para estudiar MS en informática?

¿Cuál es la situación laboral en el campo de la informática en su país?

¿Sería un gran problema si alguien ingresa a la universidad a la edad de 20 años para B.Tech CSE en India? ¿Se enfrentaría a problemas en la colocación?

¿Cómo gestionar los artículos de CA y la capacitación en CS juntos? ¿Y hay alguna exención de capacitación en CS para estudiantes de CA?

¿Qué necesito saber sobre la programación de bootcamps antes de aplicar?

¿Cuáles son algunas carreras / trabajos profesionales que combinan ingeniería informática y arte?

¿Cuáles son los beneficios de estar certificado en LabVIEW?

Cómo conseguir un trabajo de programación a tiempo completo en el Área de la Bahía

Cambio de rama a Informática de ingeniería aeroespacial. ¿Es aconsejable?