¿Debería un estudiante de CS de segundo año explorar Tecnologías e idiomas o desarrollar experiencia en alguna área?

Soy un estudiante de último año de CS.
Entiendo por lo que podrías estar pasando ahora que me enfrenté al dilema similar desde que estaba en 1er año y comencé a aprender C.

Cuando estaba en el segundo semestre, aprendí C por primera vez. Me pareció fascinante. Ahora, pasando al segundo año, conocí algunas cosas nuevas como Database y Java. Pensé que Java es mejor que C y C ++, mi El interés cambió y se movió hacia Java, ya que podía hacer muchas cosas con él, como la programación web y también la programación de consola. Lo aprendí con gran interés. Ahora, al tercer año, descubrí la creación de redes. De nuevo, cambio de interés. Lo hice. Utilizando comandos de Linux, rastreando los paquetes usando Wireshark, etc. y también descubrí algunas de las últimas tendencias en redes. En el sexto semestre, aprendí acerca de la programación web usando PHP. Java no fue más motivo de fascinación ya que PHP era mucho menos complicado que Java. Ahora, llegando al 7º semestre, aprendí sobre .Net. Descubrí .Net (Especialmente, VB.NET como mi persona favorita). Lo aprendí. Luego descubrí que no habrá alcance de .Net cerca futuro. Actualmente, estoy aprendiendo Python solo.

Ahora, excepto algunos de mis compañeros de clase, todos se asaltaron en los exámenes en cada materia y los aprobaron, sin ningún tipo de interés. Ahora, en el octavo semestre, muchos de ellos se quedaron con un solo PL y ese es PHP (ya que es más fácil que otros y puedes tener lista la mayor parte del código fuente).

Debido al aprendizaje de estos muchos idiomas y temas, Yo y otros dos amigos míos despejaron la mayor cantidad de pruebas técnicas / entrevistas entre ellos.

Lo que podría concluir después de aprender estas cosas es que cualquier PL tomará como máximo 4 meses de tiempo para aprender. Conceptos básicos como la Orientación de Objetos sigue siendo mayormente igual. Cambios de sintaxis. Por lo tanto, debe comprenderlos bien mientras aprende C / C ++ y algunas cosas más mientras aprende Java.

Aparte de esto, hay dos campos que puede descubrir (ya que podría estar cubierto en su curso de grado). Uno es la creación de redes que necesita fundamentos teóricos fuertes y paciencia para aprenderlo completamente. Otro es el análisis. Debe tener un conocimiento sólido sobre el tema “Ingeniería de software” que trata principalmente aspectos teóricos como el desarrollo ágil y scrum, diferentes modelos para el desarrollo de software, etc.

Después de descubrir muchas cosas, será fácil para usted decidir a dónde quiere ir realmente. Porque en ese momento, cuando estés contento, tendrás opciones.

La tecnología cambia con el tiempo, por lo que las certificaciones para Cisco y Java, entre muchas otras, caducan después de 1 o 2 años. Conocer una sola tecnología nunca ayudaría como se señaló en las respuestas anteriores. Uno debe tener conocimiento sobre temas centrales como SO, estructuras de datos, algoritmos, etc. Los conceptos básicos de programación deben ser claros. Actualmente se están estudiando temas como inteligencia artificial, aprendizaje automático, computación en la nube, etc.

No debe apegarse a una tecnología en este momento. Las cosas pueden cambiar en un par de años en cuanto a tecnología. ¿Qué sucede si la tecnología en la que desarrolló la experiencia se vuelve obsoleta cuando ingresa al mercado laboral? En este punto, debería dedicar más tiempo a temas fundamentales de informática como algoritmos, bases de datos, redes, etc. y explorar tantas tecnologías como sea posible.

He estado tomando entrevistas para mi empresa para cotizar alguna vez. Es de campus a estudiantes de primer año a más de 10 años de experiencia. En el caso de campus o de primer año, mi equipo y yo hacemos preguntas a la comprensión más básica. Por ejemplo, cuando le pregunto a un tercer candidato de CS para un programa de clasificación efectivo usando variables limitadas, el candidato escribirá el excelente programa. Pero también lo harán más de 20 candidatos. Las verdaderas preguntas con las que luchan o encuentran dificultades es responder lo que sucede cuando digo “int a = 10”.
Solo unos pocos candidatos responden las operaciones reales de back-end que ocurren cuando llamo a int a.

Entonces, para responder a su pregunta, casi 80 de cada 100 candidatos responden al mejor programa. Pero solo 4 o 5 realmente entienden lo que sucede. Independientemente del idioma o dominio que intente dominar, aprenda los conceptos básicos más importantes porque, al codificar la vida, es importante