Ho una laurea in informatica. È stato fantastico aprire porte, trovare lavoro. Per quanto mi aiuti nel campo professionale della programmazione C #. NET (la piattaforma e il linguaggio più popolari nell'area in cui lavoro, se non tutti gli Stati Uniti con le mani sul sistema operativo più popolare al mondo ) non è molto utile.
Il 70% + di codice è scritto in C (poiché ci sono più dispositivi integrati rispetto alle applicazioni di alto livello). Secondo ricerche di lavoro popolari come i dadi o l'indice TIOBE, Java è il linguaggio di programmazione più popolare per l'azienda (in quanto vi sono più server back-end Unix / Linux rispetto ai server Windows). Ci sono più smartphone e tablet (la piattaforma informatica di il futuro) con alcune varianti di Linux o Mac OS rispetto a Windows, programmate su qualsiasi cosa tranne C # o .NET.
Guarda il tuo router a casa, guarda il tuo cellulare, guarda il computer dentro la tua auto, guarda il microonde eccentrico a casa, i controller all'interno del tuo sistema A / C domestico, dentro il tuo telefono e il tuo fax di lavoro e stampante / scanner. Guarda il numero di apparecchi computerizzati (che superano in numero i sistemi Windows.)
Pensi che siano programmati in C #?
Se credi davvero che .NET o C # siano le piattaforme più popolari al mondo, potresti voler tornare alla tua scuola CS e chiedere un rimborso.
Perché pensi che ti aiuti come programmatore nella tua carriera professionale (fuori dagli algoritmi di prims per impressionare alcuni intervistatori)?
Forse perché nella programmazione c'è molto di più che fare pagine Web dinamiche con sviluppo di base e applicazioni aziendali? Per questo non hai nemmeno bisogno di una laurea, basta un AA - lo so perché ho iniziato la mia carriera di programmatore con un diploma AA e lentamente ma sicuramente ho lavorato per un CS e poi ho lavorato attraverso la scuola di specializzazione mentre lavoravo a tempo pieno come sviluppatore .
C'è sviluppo incorporato, c'è sviluppo di driver di dispositivo, c'è sviluppo di sistemi operativi, c'è sviluppo di algoritmi, segnali, comunicazioni, protocolli di rete, sviluppo di motori di database, sviluppo di filesystem, elaborazione distribuita, compilatori. Non ricerca, ma lavoro effettivo in organizzazioni a scopo di lucro. Escludendo il talento naturale, in genere non si può hackerarlo in nessuno di questi campi industriali senza un livello CS (a volte nemmeno con un grado BS).
Una persona che ottiene una laurea in CS e presta attenzione ad esso lo sa. Come mai non lo fai?
Nell'adattamento mondiale di oggi, una mente veloce, una forte comunicazione, OO e abilità di progettazione fondamentali consentono a uno sviluppatore di scrivere software che un cliente accetterà.
OO è nato a causa di CS. E la maggior parte delle persone che pensano di fare OO non possono nemmeno fare un buon lavoro. Basta guardare fuori e guardare lo stato scadente del software (in particolare in Java e .NET, per non parlare di PHP.) Un solido background CS (o una laurea in una sorta di ingegneria) non garantisce una buona comprensione del 100% di OO e capacità analitiche, ma in genere aiuta. OTH, non avere un background CS di base è in genere una bandiera rossa quando si tratta di OO e abilità analitiche. Abbiamo abbastanza prove empiriche nel settore per sostenere questa affermazione.
Queste abilità vengono scremate solo nel programma CS.
A seconda del programma CS e in base allo studente. Almeno per me, ho visto molti buoni corsi di progettazione, analisi OO, strumenti e pratiche commerciali, abbiamo tenuto corsi congiunti con aziende e stage locali, progetti e ricerche finanziati dalle aziende, scrittura tecnica, tu lo chiami. Spiacenti, non posso mettere in relazione o comprendere questa affermazione.
Nella mia mente, leggere un libro C # di 500 pagine di Wrox offre un set di competenze molto più utilizzabile rispetto a 4 anni dei corsi di scienze matematiche comp sci.
Ancora una volta, a seconda del lavoro che fai. Anche nell'azienda, ho usato il mio CS per sistemare le cose o migliorare. Tutto ciò che coinvolge modellazione, architettura, elaborazione distribuita, sicurezza e alte prestazioni, elevata disponibilità e tolleranza agli errori. Ho imparato tutta quella roba in CS.
Non c'è niente di sbagliato con l'utilizzo di un libro Wrox per ottenere un contesto specifico , specifici per la tecnologia set di abilità. Lo faccio anch'io. Ma il mio background CS mi dà il contesto su cui lavorare. Senza il mio background CS, tutto ciò che sarei in grado di fare sarebbe programmare, programmare (che è tutto ciò che potrei fare quando avessi un diploma AA solo all'inizio della mia carriera.)
Molti non sono d'accordo.
Sorprendente, non lo è.
Quindi, perché conta una laurea in informatica?
Chi pensi che crei motori di database google, hadoop, cassandra o ad alte prestazioni? Chi pensi che scriva il kernel del sistema operativo Windows? Chi pensi programma gli amati strumenti che usi per fare il tuo sviluppo C #.
Una cosa di cui sono sicuro è che gli strumenti che usi per fare lo sviluppo di C #, dietro c'è un ragazzo CS.
Se hai bisogno di una laurea in CS o meno dipende dal tipo di lavoro che svolgi, dal tipo di lavoro che desideri svolgere, dal tipo di lavoro che sei in grado di svolgere.
C'è molto lavoro nell'impresa e nello sviluppo web che non richiede una laurea in CS. Lo concedo. So anche che il mondo della programmazione è molto più ampio di quei soli due campi, con molti campi (molti dei quali in realtà) che richiedono un grado CS o più.
Hai una laurea in CS, come non sai che è un mistero.