Codering Bootcamp versus Computer Science Degree

Achtergrond

Een beetje achtergrondinformatie over mezelf. Ik behaalde een diploma in CS aan Queens College en werkte korte tijd als een frontend ontwikkelaar voordat ik mijn reis begon aan een coderende bootcamp.

Dit artikel mag geen van beide bashen. Ik zal je gewoon langs beide paden leiden die ik heb genomen en hopelijk een minder eng beeld geven van het pad dat je kiest wanneer je op de splitsing van de weg staat.

Curriculum en omgeving

Eerst wil ik ingaan op de vergelijking van hoe de twee worden geïntroduceerd. Op beide paden duiken we in de basis van variabelen en basisgegevensstructuren. Het belangrijkste verschil is dat we op het CS-pad in meerdere banen duiken. Parallel met leervariabelen leren we discrete wiskunde, waar we leren hoe binaire getallen werken, waarheidstabellen en logische poorten (fysiek apparaat dat booleaanse functies implementeert).

CS-studenten leren de basisprincipes van algoritmen, concurrency, tijdcomplexiteit, efficiënte geheugentoewijzing en geavanceerde gegevensstructuren. Dit gebied is niet erg sterk gericht op in bootcamp, waarschijnlijk vanwege de aard van het korte tijdsbestek. Algoritmen zijn van vitaal belang voor sollicitatiegesprekken en voor iedereen die alleen een bootcamp doet, moet je zeker een aantal algoritmen oefenen en bestuderen.

Een ander groot verschil is de hoeveelheid tijd die de instructeurs en TA's erbij betrekken. Op de universiteit zijn lezingen de belangrijkste bron van leren en de instructeur is een beetje rond (kantooruren). In de bootcamp is de belangrijkste bron van leren door echte codering en zijn de instructeurs de hele dag beschikbaar.

Diversiteit en cultuur

Een van de verschillen tussen de twee is de cultuur. Ik kan niet zeggen dat dit geldt voor alle coderende bootcamps, maar binnen de eerste week op bootcamp voelde ik me zeer op mijn gemak bij iedereen in mijn cohort en ik was niet bang om hulp te vragen vanwege de hoeveelheid tijd die ik ben gedwongen om bij mijn cohortgenoten te zijn (voor iemand uit mijn cohort die dit leest, ik hou van jullie allemaal :)).

Een ander verschil dat ik opmerkte, is de verschillende professionele achtergronden van het studentenlichaam in bootcamps. Bootcamps zijn een geweldige manier om snel een nieuwe carrière te starten.

Projecten en praktische ervaring

Bootcamps hebben absoluut een voordeel ten opzichte van school als het gaat om praktische ervaring met codering. De allereerste dag op bootcamp doken we meteen in API's waar we op school één project met APIS deden gedurende het hele curriculum. Ik had geen vaste kennis van API's, wat een vereiste is voor bijna elke functie bij het zoeken naar een software engineering baan. Bootcamp heeft me de kans gegeven om eindelijk API's te begrijpen.

Elke module in bootcamp had een of meer paar programmeeroefeningen en een groot koppelproject. Ik heb nog geen enkele paar programmeeroefeningen of projecten op school gedaan. Dit deed een beetje pijn, omdat ik na mijn afstuderen een paar interviews heb afgenomen en ze hadden allemaal een soort vraag over mijn ervaring met het werken met iemand in een team.

Voortbouwend op wat ik heb genoemd, hadden we op school maximaal 1 of 2 projecten per klas. Het grootste deel van het materiaal was gericht op theorie. In bootcamp werken we elke dag aan code. Coderen is iets waar je beter in wordt door te doen, niet lezen of kijken. Dit is een aspect dat school mist.

algoritmes

Laten we echter, vanwege de hoeveelheid tijd die wordt doorgebracht in de fundamentele theorieën, een leuk voorbeeld maken van waar het eigenlijk nuttig is! (voorbeeld uit onderstaande bronnen) Zoals ik al eerder zei, worden algoritmen niet echt diepgaand onderwezen in bootcamps. Ik zou me voorstellen dat als iemand (van een bootcamp met backend rails) met weinig ervaring in algoritmen wordt gevraagd om een ​​miljard gebruikersobjecten te sorteren met elk een leeftijd (type geheel getal), ze waarschijnlijk de ingebouwde methode ruby.sort () zouden gebruiken omdat het allemaal Zij weten. Ruby.sort () gebruikt een snelle sortering met O (n log n) tijdcomplexiteit, wat niet slecht is! Maar wat als die lijst snel groeide en geheugen een beperking was? Een persoon die algoritmen en geheugentoewijzing begrijpt, kan mogelijk zijn eigen algoritme ontwerpen dat O (n) tijd heeft, zoals telsortering, bucket-sortering of radix-sortering.

radix soort

Banen en carrière

Op het moment van deze blogpost heb ik mijn reis door de bootcamp nog niet voltooid, maar ons werd verteld dat we een jobcoach zouden krijgen die ons zou helpen onze vaardigheden op te frissen om een ​​baan te vinden. Beide bieden geweldige hulpmiddelen om u in de juiste richting te helpen. De universiteitscampus heeft een incubator die projecten aanbiedt en er is ook een programma beschikbaar voor studenten voor stages.

Welk pad?

Dus je vraagt ​​je misschien af ​​welk pad beter is of zijn bootcamps de moeite waard met een CS-diploma of krijgt het een CS-diploma waard na het voltooien van een bootcamp. Vanuit een persoonlijk standpunt ben ik blij en dankbaar dat ik beide heb mogen ervaren. Het gaat er niet om welke beter is of de een of de andere waard is. De voor- en nadelen ondersteunen elkaar echt goed om een ​​perfecte balans te vormen.

Middelen