Codifica Bootcamp Vs Laurea in Informatica

sfondo

Un po 'di storia su di me. Ho conseguito una laurea in CS presso il Queens College e ho lavorato per un breve periodo come sviluppatore front-end prima di iniziare il mio viaggio in un bootcamp di programmazione.

Questo articolo non vuole colpire nessuno dei due. Ti guiderò semplicemente attraverso entrambi i percorsi che ho intrapreso e, spero, ti darò una visione meno spaventosa del percorso che sceglierai quando ti troverai al bivio della strada.

Curriculum e ambiente

Innanzitutto, voglio entrare nel confronto di come vengono introdotti i due. In entrambi i percorsi, ci immergiamo nelle basi delle variabili e delle strutture di dati di base. La differenza principale qui è che nel percorso CS ci stiamo immergendo in più corsie. Parallelamente alle variabili di apprendimento, stiamo imparando la matematica discreta in cui apprendiamo come funzionano i numeri binari, le tabelle di verità e le porte logiche (dispositivo fisico che implementa funzioni booleane).

Agli studenti CS vengono insegnati i fondamenti di algoritmi, concorrenza, complessità temporale, allocazione efficiente della memoria e strutture dati avanzate. Quest'area non è molto focalizzata sul bootcamp probabilmente a causa della natura del breve periodo di tempo. Gli algoritmi sono fondamentali per le interviste di lavoro e per chiunque faccia solo un bootcamp, dovresti assolutamente esercitarti e studiare alcuni algoritmi.

Un'altra grande differenza è la quantità di tempo in cui gli istruttori e gli addetti all'assistenza sono coinvolti. Al college, le lezioni sono la principale fonte di apprendimento e l'istruttore è un po 'in giro (orario d'ufficio). Nel bootcamp, la principale fonte di apprendimento proviene dall'effettiva codifica e gli istruttori sono disponibili tutto il giorno.

Diversità e cultura

Una delle differenze tra i due è la cultura. Non posso dire che questo sia vero per tutti i bootcamp di codifica, ma durante la prima settimana al bootcamp mi sono sentito molto a mio agio con tutti nella mia coorte e non avevo paura di chiedere aiuto a causa della quantità di tempo che sono costretto stare con i miei compagni di coorte (per chiunque della mia coorte legga questo, vi amo tutti :)).

Un'altra differenza che ho notato è il diverso background professionale del corpo studentesco nei bootcamp. I Bootcamp sono un ottimo modo per accelerare l'inizio di una nuova carriera.

Progetti ed esperienza pratica

I Bootcamp hanno sicuramente un vantaggio rispetto alla scuola quando si tratta di esperienza pratica con la programmazione. Il primo giorno al bootcamp ci siamo immersi direttamente nelle API, dove a scuola abbiamo realizzato un progetto con l'APIS durante l'intero curriculum. Non avevo una solida conoscenza delle API, che è un requisito per quasi tutte le posizioni durante la ricerca di un lavoro di ingegneria del software. Bootcamp mi ha dato l'opportunità di comprendere finalmente le API.

Ogni modulo in bootcamp aveva uno o più esercizi di programmazione di coppia e un grande progetto di accoppiamento. Non ho fatto un esercizio di programmazione o un progetto a coppia singola a scuola. Mi ha fatto un po 'male perché dopo la laurea, ho partecipato ad alcune interviste e tutti hanno avuto qualche forma di domanda sulla mia esperienza con il lavoro con qualcuno in una squadra.

Basandoci su ciò che ho menzionato, abbiamo avuto al massimo 1 o 2 progetti per classe a scuola. La maggior parte del materiale era focalizzata sulla teoria. In bootcamp, stiamo lavorando al codice ogni giorno. La codifica è qualcosa in cui puoi migliorare facendo, non leggendo o guardando. Questo è un aspetto che manca alla scuola.

algoritmi

Tuttavia, a causa della quantità di tempo trascorso nelle teorie fondamentali, facciamo un esempio divertente di dove è effettivamente utile! (esempio dalle risorse indicate di seguito) Come ho già detto in precedenza, gli algoritmi non sono realmente insegnati in modo approfondito nei bootcamp. Immagino che se a qualcuno (da un bootcamp rails backend) con poca esperienza negli algoritmi viene chiesto di ordinare un miliardo di oggetti utente ciascuno con un'età (tipo intero), probabilmente utilizzerebbero il metodo incorporato ruby.sort () perché è tutto loro sanno. Ruby.sort () usa un ordinamento rapido che ha una complessità temporale O (n log n) che non è poi così male! Tuttavia, cosa succederebbe se quell'elenco stesse crescendo rapidamente e la memoria fosse un vincolo? Una persona che capisce gli algoritmi e l'allocazione della memoria potrebbe essere in grado di progettare il proprio algoritmo che ha tempo O (n) come contare l'ordinamento, l'ordinamento bucket o l'ordinamento radix.

ordinamento radix

Lavoro e carriera

Al momento di questo post sul blog, non avevo finito il mio viaggio attraverso il bootcamp ma ci è stato detto che avremmo avuto un coach di lavoro che ci avrebbe aiutato a migliorare le nostre capacità per trovare un lavoro. Entrambi offrono grandi risorse per aiutarti nella giusta direzione. Il campus universitario ha un incubatore che offre progetti e c'è anche un programma a disposizione degli studenti per gli stage.

Quale percorso?

Quindi ora ti starai chiedendo, quale percorso è meglio o se valgono i bootcamp con una laurea CS o se ne sta valendo la pena dopo aver terminato un bootcamp. Da un punto di vista personale, sono felice e grato di aver provato entrambi. Non si tratta di quale sia meglio o ne valga la pena l'uno o l'altro. I vantaggi e gli svantaggi si supportano reciprocamente molto bene per formare un equilibrio perfetto.

risorse