Se guardi le materie studiate in IT in ambito accademico, troverai circa la metà del tempo sprecato in matematica, scienze, elettivi, ecc. E l'altra metà in materie accademiche come: progettazione di compilatori, teoria degli algoritmi, architettura del computer, Ottimizzazione, sistemi operativi, elettronica digitale e pochi altri corsi relativi all'industria come la programmazione C e la programmazione Web.
La maggior parte delle materie sopra menzionate sono utili da conoscere, ma non forniranno direttamente una solida base in ciò che è richiesto nell'IT corrente.
Soddisfa i requisiti di programmazione Web Microsoft (ovvero, le aree richieste da qualcuno per essere un membro del team produttivo in un'organizzazione):
1- C #. NET o VB.NET
2- ASP.NET
3- HTML e CSS
4- SQL Server (o un altro database)
5- Programmazione e progettazione di applicazioni OO
6- Script Java
7- Quadro MVC
8- Alcune esposizioni agli strumenti di controllo del codice sorgente
9- Alcune esposizioni a strumenti di test automatizzati
Strumento di tracciamento a 10 bug
11 concetti di e-commerce (opzionale)
12-ORM
13-Alcune abilità di analisi aziendale
14-Alcune abilità comunicative
15-Probabilmente, alcuni fondamentali del cloud computing
Come puoi vedere, la maggior parte dei requisiti di cui sopra sono raramente focalizzati (puoi ottenere 1 corso in alcuni al massimo) durante il college / università.
Non si può incolpare completamente le istituzioni poiché ci sono molte pile di tecnologia e continuano a cambiare.
La maggior parte di quanto sopra di Microsoft non aiuterà qualcuno che vuole sviluppare applicazioni in Java.
Il vero problema è che nessuna delle pile tecnologiche che oggi sono necessarie all'azienda viene mai completamente coperta.
Quanto sopra copre la questione dell'idoneità dei laureati a lavori aziendali come la programmazione in ambiente aziendale. Questa esigenza non copre le esigenze di ricerca nei laboratori, ecc. Anche altre aree richiedono più competenze di quanto sopra, come lo sviluppo di giochi, lo sviluppo integrato, lo sviluppo di sistemi in tempo reale, ecc.