Wenn Sie sich die Fächer ansehen, die in der akademischen Informatik studiert wurden, werden Sie ungefähr die Hälfte der Zeit in Mathematik, Naturwissenschaften, Wahlfächern usw. und die andere Hälfte in akademischen Fächern wie Compilerdesign, Algorithmentheorie, Computerarchitektur usw. verschwenden. Optimierung, Betriebssysteme, digitale Elektronik und einige andere Kurse in Bezug auf die Industrie wie C-Programmierung und Web-Programmierung.
Die meisten der oben genannten Themen sind gut zu wissen, bieten aber auch keinen direkten Hintergrund für die Anforderungen der täglichen IT.
Nehmen Sie die Anforderungen für die Microsoft-Webprogrammierung an (dh Bereiche, die von einer Person benötigt werden, um ein produktives Teammitglied in einer Organisation zu sein):
1- C # .NET oder VB.NET
2- ASP.NET
3- HTML und CSS
4- SQL Server (oder eine andere Datenbank)
5- OO Anwendungsprogrammierung und -design
6- Java Script
7- MVC-Framework
8-Einige Exposition gegenüber Quellcodeverwaltungs-Tools
9- Einige Exposition gegenüber automatisierten Testwerkzeugen
10-Bug-Tracking-Tool
11-E-Commerce-Konzepte (optional)
12-ORM
13-Einige Business-Analyse-Fähigkeiten
14-Einige Kommunikationsfähigkeiten
15-Wahrscheinlich einige Cloud-Computing-Grundlagen
Wie Sie sehen, konzentrieren sich die meisten der oben genannten Anforderungen selten auf das College / die Universität (in einigen Fällen erhalten Sie höchstens einen Kurs).
Man kann Institutionen nicht die volle Schuld geben, da es viele solcher Technologiestapel gibt und sie sich ständig ändern.
Die meisten der oben genannten Informationen von Microsoft helfen niemandem, der Anwendungen in Java entwickeln möchte.
Das eigentliche Problem ist, dass nicht einer der Technologiestacks, die das Unternehmen heute benötigt, jemals vollständig abgedeckt wird.
Das Obige befasst sich mit der Frage der Eignung von Absolventen für kaufmännische Berufe wie Programmieren im Geschäftsumfeld. Der Bedarf an Forschungslabors usw. wird durch diese Antwort nicht abgedeckt. Auch andere Bereiche erfordern mehr Fähigkeiten als die oben genannten, wie z. B. Spieleentwicklung, Embedded-Entwicklung, Echtzeit-Systementwicklung usw.