Si observa las materias estudiadas en TI en la academia, encontrará que aproximadamente la mitad del tiempo perdido en matemáticas, ciencias, asignaturas optativas, etc. y la otra mitad en materias académicas como: diseño del compilador, teoría de algoritmos, arquitectura de computadoras, Optimización, sistemas operativos, electrónica digital y algunos otros cursos relacionados con la industria, como la programación en C y la programación web.
La mayoría de los temas mencionados anteriormente son agradables de conocer, pero tampoco proporcionarán directamente una sólida base en lo que se requiere en el día a día de TI.
Tome los requisitos de programación web de Microsoft (es decir, áreas requeridas por alguien para ser un miembro productivo del equipo en una organización):
1- C # .NET o VB.NET
2- ASP.NET
3- HTML y CSS
4- SQL Server (u otra base de datos)
5- programación y diseño de aplicaciones OO
6- Script Java
7- marco MVC
8- Alguna exposición a las herramientas de control de fuente
9- Alguna exposición a herramientas de prueba automatizadas
Herramienta de seguimiento de 10 errores
11-Conceptos de comercio electrónico (opcional)
12-ORM
13-Algunas habilidades de análisis de negocios
14-Algunas habilidades de comunicación
15-Probablemente, algunos fundamentos de computación en la nube
Como puede ver, la mayoría de los requisitos anteriores rara vez se centran (puede obtener 1 curso como máximo) durante la universidad.
No se puede culpar por completo a las instituciones, ya que hay muchas pilas de tecnología y siguen cambiando.
La mayor parte de lo anterior de Microsoft no ayudará a alguien que quiera desarrollar aplicaciones en Java.
El verdadero problema es que ninguna de las pilas de tecnología que necesita el negocio hoy está completamente cubierta.
Lo anterior cubre la cuestión de la idoneidad de los graduados para trabajos empresariales como la programación en el entorno empresarial. Esta respuesta no cubre las necesidades de los laboratorios de investigación, etc. Además, otras áreas requieren más habilidades que las anteriores, como desarrollo de juegos, desarrollo integrado, desarrollo de sistemas en tiempo real, etc.