Perché un diploma di informatica è importante per un programmatore professionista? [chiuso]

63

Ho una laurea in informatica. È stato fantastico per aprire le porte, trovare un lavoro. Per quanto mi aiuti nel campo professionale della programmazione C #. NET (la piattaforma e il linguaggio più diffusi nell'area in cui lavoro, se non gli interi Stati Uniti su mani giù il sistema operativo più popolare al mondo), è poco utile. Perché pensi che ti aiuti come programmatore nella tua carriera professionale (senza sputare l'algoritmo di prims per impressionare un intervistatore)?

Nell'adattamento del mondo odierno, una mente veloce, una strong comunicazione, le abilità di progettazione fondamentale e di base consentono a uno sviluppatore di scrivere software che un cliente accetterà. Queste abilità sono solo sfogliate nel programma cs. Nella mia mente, la lettura di un libro C # di 500 pagine di Wrox offre una gamma di competenze molto più utilizzabile rispetto a 4 anni dei corsi Comp Blath matematici. Molti non sono d'accordo. Quindi, perché conta una laurea in informatica?

    
posta P.Brian.Mackey 17.03.2011 - 18:30
fonte

29 risposte

133

Perché una laurea in informatica?:

  • Ho lavorato con uno sviluppatore che ha archiviato migliaia di elementi in una tabella di hash e quindi ha iterato solo attraverso i valori. Non ha mai avuto accesso attraverso un hash. Ovviamente non sapeva come funzionasse una HashTable o perché ne avresti usata una - una laurea in CS potrebbe esserti d'aiuto.
  • Quando lavori con le espressioni regolari, sembra più facile per le persone con esposizione alla teoria degli automi di base e ai linguaggi formali ragionare su cosa sta succedendo e risolvere le loro espressioni - un grado CS può aiutare con quello.
  • Uno sviluppatore appena uscito da scuola può essere in grado di scomporre immediatamente i problemi in vari paradigmi mentali (OO, funzionale, logico), mentre un nuovo sviluppatore non laurea ha bisogno di esperienza prima di poter fare lo stesso.
  • Le scuole insegnano la complessità computazionale. Gli sviluppatori non laureati possono provare cosa è meglio, ma una comprensione formale a volte è piacevole, specialmente quando si spiegano i risultati a un collega.
  • Una laurea offre un'introduzione a molti modelli della macchina: hardware, sistema operativo, strutture dati comuni, networking, VM. Con questi modelli nella parte posteriore della mente, è più facile sviluppare un'intuizione in cui un problema si verifica quando qualcosa va storto. Ancora una volta, gli sviluppatori non laureati costruiscono gli stessi modelli, ma ci vuole tempo.
  • Una guida esperta attraverso qualsiasi disciplina può aiutare lo studente a evitare vicoli ciechi e argomenti persi. Leggere è fantastico ma non è un sostituto per un grande insegnante.

Questo non vuol dire che un grado CS sia necessario per essere un grande sviluppatore. Quasi. Alcuni dei migliori sviluppatori con cui ho lavorato non hanno alcuna laurea. Un grado ti dà un inizio di corsa. Al momento della laurea, hai (si spera) scritto una buona quantità di codice in varie lingue e ambienti per risolvere molti tipi di problemi. Questo ti mette sulla buona strada per 10.000 ore richieste per essere un esperto.

Un secondo vantaggio è che mostra ai datori di lavoro che sei in grado di impegnarti in un obiettivo a lungo termine e avere successo. In molte aziende, credo che sia più importante di quello che hai imparato.

    
risposta data 17.03.2011 - 20:04
fonte
87

In 40 anni, mi aspetto che .NET e C # non siano altro che un mucchio di codice legacy sui sistemi operativi obsoleti.

Ma i concetti fondamentali dell'informatica saranno altrettanto vivaci come lo erano quando Shannon, von Neumann, Knuth, Dijkstra, Hoare e gli altri li hanno scavati per motivi di logica formale e matematica ... oltre 40 anni fa .

    
risposta data 17.03.2011 - 20:04
fonte
36

Uso quasi tutto il CS che ho studiato a scuola (*) ogni singolo giorno nel mio lavoro. Se vuoi lavorare sulla programmazione del linguaggio, sull'ottimizzazione dei motori di ricerca, sull'analisi quantistica o su qualsiasi campo simile, suppongo che potrebbe farlo senza un livello pertinente, ma sembra un sacco di cose da fare devo imparare sul posto di lavoro. Non sono particolarmente istruito per il mio lavoro; molti dei miei colleghi hanno dottori di ricerca in informatica e molti di loro sono stati professori di CS.

Ottenere il mio diploma è stato tremendamente utile per me; ha pagato per sé molte, molte volte sia in dollari che in soddisfazione.

Detto questo, capisco perfettamente il tuo punto. La maggior parte delle persone che programmano computer hanno lavori che non richiedono un grado CS; richiedono, ad esempio, una solida formazione a livello di comunità universitaria nella programmazione pratica e al passo con le attuali tendenze del settore. E va bene. Non hai bisogno di una laurea in biologia marina per gestire un negozio di acquari di successo, e penso che i negozi di acquari siano fantastici. Ma è terribilmente difficile trovare un lavoro a Woods Hole se tutti sai come fare è aumentare il pesce rosso.

(*) Ho una B. Math in Matematica applicata e Informatica da Waterloo.

    
risposta data 18.03.2011 - 00:34
fonte
22

È importante perché la tecnologia non rimane statica. L'informatica è la base di tutta la tecnologia digitale. La maggior parte dei programmatori autodidatti dura esattamente un ciclo tecnologico perché mancano i fondamenti per sopravvivere a un importante cambiamento di paradigma. Certo, ci sono delle eccezioni alla regola, ma una solida base nell'informatica aumenta enormemente le probabilità di sopravvivere a un importante cambiamento di paradigma.

    
risposta data 18.03.2011 - 02:05
fonte
14

Dipende da cosa vuoi fare. Se il tuo obiettivo è principalmente la programmazione di software di business nel grande, dove il problema del business e le questioni pratiche di gestione della complessità sono la parte difficile, allora sì, un diploma CS non è di grande aiuto. Se, tuttavia, il tuo obiettivo è quello di programmare cose in cui la difficoltà principale è sul lato tecnico, allora un grado CS è più utile. (Anche se non ho una laurea in CS, quindi mi sento come un grande ipocrita per averlo detto, quindi sentiti libero di aggiungere "o auto-insegnamento nei soggetti CS".)

Sono sicuro che ci sono un sacco di programmatori là fuori che sono bravi a gestire la complessità, a programmare nel grande e risolvere problemi di business comuni, ma andrebbero assolutamente persi se chiedeste loro di scrivere un allocatore di memoria, o una libreria di parallelismo , o una collezione di librerie, o un sistema operativo, o un compilatore, ecc. Sono sicuro che anche il contrario esiste in maniera decente. Entrambi hanno il loro posto e meritano rispetto, ma un diploma CS aiuta molto di più dal lato tecnico.

    
risposta data 17.03.2011 - 18:40
fonte
12

Non credo che una laurea in CS sia un indicatore assoluto del fatto che una persona è un buon sviluppatore di software. In effetti, ho iniziato la mia carriera come programmatore in matematica, ma con una strong inclinazione al CS (matematica e CS sono stati integrati nel mio programma di studio). Penso che ci siano due ragioni per cui è importante, nel complesso.

1 - Perché gli ingegneri non sono il front end per il reclutamento

Le risorse umane sono persone. E mentre immagino molte persone che ruotano gli occhi, dico "grazie al cielo!" Cosa c'è di più importante - che lasci che gli ingegneri facciano roba (o rompi roba), o che li fai ordinare attraverso migliaia di curriculum e fai migliaia di interviste?

Quindi, abbiamo personale delle risorse umane e risorse umane che esaminano i candidati fino a quando arriviamo a un gruppo chiave che può essere sottoposto a screening da parte degli ingegneri. Le persone delle risorse umane hanno imparato nel tempo che avere un diploma in CS è un indicatore abbastanza strong che il candidato sa qualcosa sullo sviluppo di software. Spero che sappiano anche che scrivere software per 20 anni è un buon indicatore che il candidato può scrivere software.

2 - Perché avere una sorta di sistema sull'apprendimento su CS è meglio di nessuno

CS è un campo enorme con molte cose da sapere. E sta cambiando tutto il tempo. In questi giorni, posso tranquillamente dire che il 75% dei corsi del mio corso è diventato irrilevante per la mia carriera. E che i corsi del mio maestro di 5 anni fa si stanno svalutando rapidamente. Ma quando ho iniziato, ero felice di aver pagato una grande istituzione per insegnarmi qualcosa sull'organizzazione dei computer, le reti, il buon processo di ingegneria del software, la progettazione orientata agli oggetti, i compilatori e la sintassi / semantica di un linguaggio di programmazione importante che era attualmente commercializzabile.

E sono stato contento che fosse in un ambiente in cui qualcuno è stato pagato per spiegare le cose a me quando il progetto del libro / sito web / lap non era ovvio.

E sono stato contento di avere accesso a un laboratorio in cui la salute del computer e l'SDE non erano i miei problemi: potevo più o meno bloccarmi e concentrarmi su una piccola parte del problema piuttosto che dover riparare tutti gli strumenti necessario per risolvere il problema.

E anche se i corsi non hanno insegnato esplicitamente una buona comunicazione, penso che l'unico modo per imparare davvero è lavorare in team - che è una parte importante di molte istituzioni leader che offrono CS degree.

E un programma con feedback frequenti (ad es., voti ed esami) che mi consente di sapere se ho davvero capito cosa mi era stato insegnato.

Quelle cose si combinano nella mia mente per valere più di qualsiasi libro sull'argomento, ma non è certamente il tutto, tutto finisce. Ci sono sicuramente cose che non mi dispiacerebbe vedere migliorare le istituzioni di apprendimento superiore, e penso che circa 10 anni dopo esserti laureato, la laurea che hai ricevuto in origine è meno importante del lavoro che hai svolto da allora.

    
risposta data 17.03.2011 - 20:18
fonte
11

Per me, la ragione è che so che hanno attraversato alcuni percorsi difficili e non si sono arresi. Alcuni dei corsi come Compilers, Data Struct, Discrete Math (e altri) tendevano a lavare un sacco di persone dai programmi CS. Avere un diploma CS significa che hai lavorato sodo e hai pagato un prezzo (le notti lunghe per far funzionare i programmi), piuttosto che uscire per divertirti.

    
risposta data 17.03.2011 - 23:09
fonte
10

Per me è una questione di mindset .

La tua mentalità definisce il modo in cui affronterai un determinato problema e ti consentirà di considerare una gamma più ampia di opportunità rispetto a quelli non istruiti nei concetti.

Un tipico esempio è il problema "Viaggiare venditore" dove sai che 1) è NP-completo per versione generale, quindi devi provare tutte le possibilità tranne 2) che se sai di più sul problema puoi approssimarti entro un certo limite o dire che sai che AC è sempre più lunga di AB + BC (che è vero per le distanze ma non per i prezzi) che consente di risolverlo in meno tempo.

Un altro esempio è l'analisi numerica, in cui è necessario sapere che per ridurre al minimo l'imprecisione numerica è necessario approcciare i calcoli in modo diverso rispetto al modo matematicamente semplice. Ciò richiede conoscenze teoriche ed è improbabile che venga rilevato sulla strada a meno che tu non sia stato esplicitamente morso da esso.

    
risposta data 17.03.2011 - 19:12
fonte
9

Davvero? Wow.

Quindi mi stai dicendo che le abilità C # e OOP sono sufficienti e puoi escogitare il tuo algoritmo per l'ordinamento casuale e decifrare le sfumature più sottili di come affrontare i problemi NP completi nella vita reale?

C # e OOP vanno bene, ma se stai cercando di fare qualcosa che sia una progettazione logica non banale, allora hai bisogno dei fondamenti dell'informatica.

Amico, non saprai nemmeno quale contenitore C # usare se le tue strutture di dati o le abilità degli algoritmi non sono all'altezza del marchio.

Siamo cresciuti, ora.

    
risposta data 17.03.2011 - 19:32
fonte
5

Suppongo che tu non ti fossi davvero impegnato con la laurea allora, hai appena preso ciò che avevi bisogno e sei uscito, o sei andato in una scuola che considerava i CS major come "programmatori" e non come "programmatori". Inoltre, alcune delle mie migliori / preferite "CS" sono quelle che - almeno nella mia Università - sono sotto il dipartimento di Ingegneria Elettrica. La mia esposizione a varie architetture e stili è stata sempre così importante e la mia laurea l'ha facilitato in un ambiente "controllato".

Classi che non sono solo algoritmi e cutesy fluff:

  • I compilatori
  • Sistemi operativi
  • VHDL / Embedded Systems
  • Assembly e microcontrollori
  • Ingegneria del software

E infine una classe che mi ha battuto su di me che erano solo algoritmi e strutture dati - Intelligenza Artificiale. Ci sono cose che attraversano il sistema universitario e accelerano notevolmente il processo di apprendimento, e prenderei in considerazione ciò che è stato appreso per essere inestimabile quando si cerca lavoro più tardi.

    
risposta data 17.03.2011 - 19:59
fonte
4

La mia opinione è che, a meno che non si stiano applicando per le posizioni di "Computer-Scienza", qualsiasi livello che implichi un focus sulle abilità informatiche è praticamente equivalente.

In effetti, molti dei programmatori che conosco hanno conseguito una laurea in una disciplina completamente diversa. I migliori programmatori che conosco sono laureati in Ingegneria Civile, Linguistica, Economia e Finanza.

Alla fine, una volta che hai una certa esperienza, la tua laurea diventa un test pass-fail per un reclutatore. Cioè, a meno che tu non l'abbia preso da una scuola impressionante o da una laurea post-laurea non importa tanto quello che era il tuo maggiore.

    
risposta data 17.03.2011 - 21:53
fonte
4

per me e molti dei miei colleghi non ha (nessuno di noi ha avuto gradi CS)

    
risposta data 17.03.2011 - 23:13
fonte
3

OK, allora?

Se hai seguito i seguenti argomenti:

a.Computer Architecture and Organization

b. Ingegneria del software

c.DBMS

d.Basic Electronics

e. Circuito elettronico digitale di base

f.Microprocessor

g.Compiler Design

Pensi che tutto quanto sopra sia solo per la formalità .. Ricorda i punti di cui sopra rende "un buon programmatore" un "grande programmatore".

Passa a questo argomento per leggere l'importanza dei temi elettrici ed elettronici

    
risposta data 17.03.2011 - 20:08
fonte
3

I have a degree in computer science. It has been great for opening doors, getting a job. As far as helping me in the professional field of C# .NET programming (the most popular platform and language in the area I work if not the entire united states on hands down the most popular OS in the world) its hardly useful.

Il 70% + del codice è scritto in C (poiché ci sono più dispositivi incorporati rispetto alle applicazioni di alto livello). Secondo le popolari ricerche di lavoro come i dadi o l'indice TIOBE, Java è il linguaggio di programmazione più popolare per l'impresa (poiché ci sono più server back-end Unix / Linux che server Windows.) Ci sono più smartphone e tablet (la piattaforma di calcolo di il futuro) eseguendo 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 all'interno della tua auto, guarda il maledetto forno a microonde a casa, i controller all'interno del tuo sistema A / C domestico, all'interno del tuo telefono e il tuo fax di lavoro e stampante / scanner. Guarda il numero di apparecchi computerizzati (che superano i sistemi Windows).

Pensi che siano programmati in C #?

Se ritieni che .NET o C # siano le piattaforme più popolari al mondo, potresti voler tornare alla tua scuola CS e chiedere un rimborso.

Why do you think it helps you as a programmer in your professional career (outside spouting off to prims algorithm to impress some interviewer)?

Forse perché c'è molto di più sulla programmazione rispetto a fare lo sviluppo di base di pagine web dinamiche e applicazioni aziendali? Per questo non hai nemmeno bisogno di un diploma di laurea, basta un AA - lo so perché ho iniziato la mia carriera di programmatore con un diploma di laurea AA e lentamente ma sicuramente ho lavorato per un CS e poi ho lavorato durante la scuola elementare mentre lavoravo a tempo pieno come sviluppatore.

C'è uno sviluppo integrato, lo sviluppo del driver di dispositivo, lo sviluppo di sistemi operativi, lo sviluppo di algoritmi, segnali, comunicazioni, protocolli di rete, sviluppo di motori di database, sviluppo di file system, calcolo distribuito, compilatori. Non ricerca, ma lavoro effettivo nelle organizzazioni for profit. Escludendo il talento naturale, uno in genere non può hackerarlo in nessuno di questi campi industriali senza un grado CS (a volte nemmeno con un grado BS).

Una persona che ottiene un diploma CS e presta attenzione a questo lo sa. Come mai non lo fai?

In today's world adaptation, a quick mind, strong communication, OO and fundamental design skills enable a developer to write software that a customer will accept.

OO nacque a causa di CS. E la maggior parte delle persone che pensano di fare OO non può nemmeno fare un buon lavoro. Basta guardare fuori e guardare il pessimo stato del software (in particolare in Java e .NET, per non parlare di PHP.) Un solido background di CS (o una laurea in una sorta di ingegneria) non garantisce una buona conoscenza del 100% di OO e capacità analitiche, ma in genere aiuta. OTH, non avere uno sfondo di base di CS è tipicamente una bandiera rossa quando si tratta di OO e abilità analitiche. Abbiamo sufficienti prove empiriche nel settore per sostenere questa affermazione.

These skills are only skimmed over in the cs program.

A seconda del programma CS e in base allo studente. Almeno per me, ho visto molti buoni corsi di design, analisi OO, strumenti e pratiche commerciali, abbiamo coordinato corsi con aziende e stage locali, progetti finanziati dall'azienda e ricerca, scrittura tecnica, il tuo nome. Spiacente, non posso riguardare o capire questa affermazione.

In my mind, reading a 500 page C# book by Wrox offers far more useable a skillset than 4 years of the comp sci math blaster courses.

Ancora, a seconda del lavoro che svolgi. Anche in azienda, ho utilizzato il mio CS per correggere o migliorare le cose. Tutto ciò che riguarda la modellazione, l'architettura, il calcolo distribuito, la sicurezza e le alte prestazioni, l'alta disponibilità e la tolleranza ai guasti. Ho imparato tutto questo in CS.

Non c'è niente di sbagliato nell'usare un libro Wrox per ottenere un set di abilità specifico per il contesto , specifico della tecnologia . Lo faccio anch'io. Ma il mio background CS mi dà il contesto su cui lavorare. Senza il mio background in CS, tutto ciò che sarei in grado di fare sarebbe programmarlo, codificarlo (il che è tutto ciò che potrei fare quando avevo solo una laurea AA all'inizio della mia carriera).

Many disagree.

Sorprendente, non lo è.

So, why does a computer science degree matter?

Chi pensi che crei google, hadoop, cassandra o motori di database ad alte prestazioni? Chi pensi scrivi il kernel del sistema operativo Windows? Chi pensi che programmi gli amati strumenti che usi per sviluppare il tuo C #.

Una cosa di cui sono sicuro è che gli strumenti che usi per lo sviluppo di C #, c'è un ragazzo CS dietro di esso.

Se hai bisogno di un diploma CS o meno dipende dal tipo di lavoro che svolgi, dal tipo di lavoro che vuoi svolgere, dal tipo di lavoro che sei in grado di fare.

C'è molto lavoro nell'impresa e nello sviluppo web che non richiede un grado CS. Lo concedo. So anche che il mondo della programmazione è molto più ampio di quei 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.

    
risposta data 18.03.2011 - 15:06
fonte
1

Ci sono alcune cose di base che ricordo di aver visto nei miei corsi di CS che sono stati abbastanza utili a volte. Il processo Waterfall e i suoi passaggi sono stati qualcosa che ho usato ripetutamente nella mia carriera con alcune variazioni per Agile dove non è abbastanza rigido nei passaggi ma gli stessi passaggi ci sono.

A volte anche le capacità di problem solving e varie euristiche algoritmiche possono essere utili. C'è qualcosa da dire per i benefici indiretti di un grado CS. Ad esempio, imparare come giustificare una risposta per mostrare perché qualcosa è corretto è solo una delle poche competenze che ho perfezionato in università, ma non sono sicuro di quanto sarebbe ovvio che questo è un vantaggio alla fine del programma. / p>     

risposta data 17.03.2011 - 19:05
fonte
1

Sono d'accordo con Thorbjørn Ravn Andersen riguardo alla mentalità. Questa è la cosa principale che sviluppi con un buon curriculum CS.

Fondamentalmente si tratta di capire cose come strutture dati e algoritmi. Non che tu non possa imparare da solo, ma un buon curriculum CS fornirà un'esposizione migliore.

    
risposta data 17.03.2011 - 19:51
fonte
1

Scrittura

Nello sviluppo del software aziendale, è fondamentale poter scrivere codice e scrivere . Con questo intendo: scrivere e-mail, segnalazioni di bug, documenti tecnici, ecc. Sia la scrittura che la codifica richiedono la chiarezza del pensiero e un'adeguata economia di espressione.

Tra due sviluppatori di software, la mia scommessa è che quello con una laurea in CS di una solida università (strong programma CS e elettivi richiesti nelle discipline umanistiche) ha entrambe le abilità. (Vero, questa non è una garanzia: le persone delle discipline umanistiche possono essere grandi programmatori e scrittori di prima categoria, molti dei CS sono macchine di codifica che non possono scrivere e così via.)

Lettura

Un mio mentore ha affermato di poter giudicare gli sviluppatori da ciò che leggono. Il post originale menziona i libri WROX. A mio parere, una persona con un diploma CS ha maggiori probabilità di cercare tali libri IT professionali ed essere in grado di usarli efficacemente. Se riesci a gestire CLR , allora puoi gestire "Professional C #".

Math

La matematica sviluppa logica, prova, rigore, ecc. e l'effetto collaterale è che aiuta a scrivere. Sebbene la maggior parte dell'IT aziendale non richieda abilità matematiche intense, la persona con un diploma CS avrà quando necessario. Questo è un modo molto migliore di attraversare la vita piuttosto che vivere senza di essa e chiedersi cosa ti sei perso a scuola.

    
risposta data 18.03.2011 - 01:20
fonte
1

Penso che dipenda davvero dalla qualità del programma CS che hai seguito. So cosa intendi, la maggior parte del codice che scrivo quotidianamente è solo VB.Net standard, preleva i dati da SQL Server, li metto nel modulo, li rimando al database, creo alcuni rapporti. Lavare, risciacquare, ripetere. (Molto noioso a volte) Il programma CS che ho seguito, oltre a coprire la teoria e le conoscenze fondamentali, ha insegnato molte cose pratiche. Abbiamo coperto aree come la progettazione di software, la progettazione di database e la gestione di progetti. Imparare i linguaggi di programmazione è stata la parte facile, il design e la metodologia di creazione di sistemi software è stato quello che ho tolto dalla mia esperienza universitaria. Ci hanno dato progetti basati su problemi del mondo reale, a volte persino progettando sistemi software per altri dipartimenti del campus.

Come programmatori abbiamo ovviamente la capacità di apprendere da soli, è una necessità nel nostro campo. Devo dire che sono molto contento di aver attraversato il programma CS. I miei professori erano fantastici e mi hanno insegnato un po '. I miei compagni di classe erano persone divertenti e abbiamo passato delle notti molto divertenti nel laboratorio informatico. A dire il vero, mi mancano quei giorni ......

    
risposta data 18.03.2011 - 03:47
fonte
1

È tutto nella capacità di vivere in modo indiretto.

Se salti la laurea, probabilmente dovrai imparare le lezioni in un modo molto personale (anche nel modo più duro). La mancanza di laurea non significa che intraprenderete la strada più difficile dell'apprendimento per tentativi ed errori; tuttavia, la laurea garantisce l'esposizione a uno scrigno di conoscenze acquisite in precedenza che altri hanno dovuto guadagnare nelle notti tarde, sessioni di programmazione frustrate e in generale "farlo nel modo più duro".

La persona veramente eccellente non scarterà ciò che gli altri hanno trovato vero, ma lo sfiderà invece fino a quando non conosceranno i limiti della conoscenza, e poi giocherà con il "sistema" di idee appena acquisite finché non lo faranno da soli. Sta sulle spalle di chi è venuto prima e vive le soluzioni degli anni passati senza doverle riscoprire.

Naturalmente, una persona con una laurea in informatica non è sempre il miglior candidato. Ci sono quegli individui unici che sono stati condotti al flusso ma (per qualche strana ragione) rifiutano di bere da esso.

    
risposta data 18.03.2011 - 05:37
fonte
0

Ho 21 anni e ho appena finito un corso di laurea in CS. Sento che, per quanto tu sia bravo a programmare, se sei un laureato CS, sarai già esposto a vari campi. Quindi, se vuoi imparare cose nuove, non aver paura di esplorare anche se è irrilevante . Se sei un esperto in una tecnologia o un linguaggio di programmazione, bene. Ma non penso che sarai avventuroso e vorresti guardare ad altre tecnologie. Ecco come ti sporchi (e anche veloce). Non penserai che ciò che esplorerai sarà irrilevante dal momento che non ti aiuterà a guadagnare denaro. (Hai già studiato molte cose irrilevanti nel tuo CS UG;)).
È la passione in CS che hai dopo la laurea che ti rende un professionista del software.
Qualcuno è d'accordo?

    
risposta data 18.03.2011 - 04:45
fonte
0

Bene, quando sono entrato in CS, ho pensato che wow, sono davvero bravo come sono e non ho intenzione di imparare nulla qui ... Dopo 5 anni, ho solo imparato a lavorare in squadra, e alcune cose dell'ingegneria che mi separano da qualcuno che può scrivere solo codice e qualcuno che può pensare a quello che fa prima che codifichi, insomma, mi ha insegnato a pensare prima ancora di digitare una sola lettera nel mio editor di testo o ide .

    
risposta data 18.03.2011 - 11:04
fonte
0

Per ottenere un lavoro utilizzando un linguaggio open source non significa lo squat. La maggior parte delle aziende recluta in base all'abilità piuttosto che alle qualifiche e linguaggi come PHP hanno una reputazione da hobbista affermando che le persone possono avere talento senza aver mai studiato CS. L'unica volta che aiuta se stai cercando un lavoro usando le lingue .Net dato che la maggior parte degli hobbisti non vorranno sborsare migliaia per una licenza con cui giocare solo nei fine settimana, quindi qualcuno che cerca un primo lavoro in C # probabilmente avrà 2-3 anni di esperienza.

Ovviamente l'esperienza commerciale è davvero preziosa in quanto dimostra la tua capacità di fornire codice di qualità alle scadenze.

In conclusione, ottiene interviste per lavorare con lingue non open source.

    
risposta data 18.03.2011 - 16:45
fonte
0

Una laurea di college o università significa che hai studiato e hai una certa conoscenza di C.S., alcune cose di base che sono necessarie per un lavoro nel mondo reale, anche se devi imparare altre cose da solo.

Inoltre, quando un I.T. reclutatore deve trovare un Soft. Dev., E 500 candidati inviano il loro curriculum e devono intervistare almeno 50 di loro, avendo una laurea sul tuo curriculum, aiuta sia il reclutatore, sia le tue possibilità di essere assunto.

(da uno sviluppatore di software che ha studiato alcuni H.H.R.R.)

    
risposta data 18.03.2011 - 18:56
fonte
0

Probabilmente questo non aiuta molto, ma ora che ho imparato l'assemblaggio e tutte le conoscenze coinvolte sento un programmatore più completo e sono sicuro che succederà di nuovo quando andrò all'università. Voglio dire, io uso principalmente C o VB, non ho bisogno di sapere che cosa è uno stato di attesa per fare i miei programmi, ma semplicemente sapere cosa sta succedendo dietro il mio codice è grande! E la conoscenza ti aiuta a scrivere codice migliore, più veloce e più gestibile. Un diploma di informatica insegna esattamente le informazioni richieste per scrivere codice a mio parere.

    
risposta data 19.03.2011 - 19:30
fonte
0

l'ingegneria del software oggi è una scienza sperimentale non applicata alla matematica.

I titoli di informatica enfatizzano gli algoritmi, quanto del tuo lavoro giornaliero implica l'implementazione o anche l'utilizzo di nuovi algoritmi e strutture dati?

Quanto riguarda la gestione di livelli di framework e le astrazioni che perdono? Quanto sta provando a determinare ciò che effettivamente fanno alcune API - piuttosto che ciò che implicano i documenti? Quanto sta testando e decidendo come testare?

Per tutto quello che una laurea in fisica o chimica è molto meglio che aver memorizzato Knuth

    
risposta data 19.03.2011 - 19:38
fonte
0

È importante perché i reclutatori hanno un indicatore del fatto che non sei completamente all'oscuro di ciò che dovresti fare, ma ciò non implica necessariamente che tu sappia veramente quello che stai facendo o che lo stai facendo in un modo tecnicamente conveniente.

Ci sono persone brillanti che adorano quello che stanno facendo e sono davvero dei bravi programmatori e ci sono anche degli idioti laureati che sono davvero dei pessimi programmatori e non conoscono nemmeno alcuni fondamenti. Ci sono persone brillanti senza laurea che possono sviluppare qualsiasi cosa (software aziendale / compilatori / un sistema operativo) e ci sono idioti senza laurea che non sanno come usare correttamente una tabella hash.

    
risposta data 25.04.2011 - 10:56
fonte
0

Assolutamente corretto, il corso di informatica non ha molta importanza; ecco perché la tua unica scelta dovrebbe essere quella di ottenere una laurea in ingegneria invece.

Nell'intervistare candidati con background diversi, il tratto che spicca per quei candidati che non avevano alcun titolo è questo: mancanza di capacità di comunicazione tecnica e mancanza di disciplina. Questi sono tratti fondamentali appresi quando si ottiene qualsiasi laurea in scienze (direi ancora di più con una laurea in ingegneria).

A parità di condizioni (e un singolo giro di interviste spesso fornisce candidati "uguali"), assumerei prima la persona con laurea in ingegneria, la seconda in informatica e la terza in no-degree. Tuttavia, ci sono modi per rendere le cose molto diseguali nel confronto, in modo che chiunque possa battere anche quelli con un grado di educazione - ma questa è una domanda a parte, no?

    
risposta data 13.08.2011 - 00:53
fonte
-1

Per un programmatore ... non è molto (a parte aprire le porte alle interviste, come hai detto tu).

Per un lavoro CS (ricerca, analisi algoritmica, linguaggio formale e design). È improbabile che impari queste cose in qualsiasi altro programma non matematico.

// Disclaimer: la mia laurea è in informatica, quindi ho dovuto tornare indietro per tutti gli altri corsi da eseguire nel mio lavoro.

    
risposta data 18.03.2011 - 00:47
fonte
-1

Ho una laurea in informatica. Ciò che mi ha aiutato a ottenere il mio primo ruolo di computer è stato il fatto che l'anno 3 è stato un inserimento lavorativo come amministratore IT. Raccomando schemi di inserimento lavorativo nell'ambito dell'istruzione.

    
risposta data 18.03.2011 - 11:26
fonte

Leggi altre domande sui tag