Bästa svaret
Är du inte säker på var du har hört att de flesta jobb kommer att läggas ut. Programvaruindustrin är ganska mättad med utländska proffs, men det är helt enkelt utbud och efterfrågan. Som sagt, anledningarna till att du inte ska gå till en CS-examen i ordning efter betydelse:
- Sänk inte min lön. Programvara betalar bra eftersom det finns mycket fler jobb än det finns talang. Jag tycker inte personligen att arbetet är svårt i sig, det är oftast att inte tillräckligt många vill ha utmaningen att lära sig all bakgrund de behöver. Jag vill inte behöva omskola mitt i karriären eftersom alltför många insåg att Software Engineering är en ganska solid spelning.
- Professionell programmering kräver inte nödvändigtvis a CS grad. Om du bara vill koda behöver du verkligen inte en CS-examen. Jag har personligen arbetat med en begåvad utvecklare vars bakgrund var i ungerska kampsport och professionell mandarinöversättning innan han gick över till Web Dev. Jag ska dock lägga till några försiktighetsåtgärder. För att bli anställd nästan var som helst behöver du en viss grad och något bevis på att du är skicklig. För att bli anställd hos ett större företag som Google, Facebook, … behöver du realistiskt en CS-examen. Att flytta förbi en jr. på mjukvaruposition på rimlig tid behöver du realistiskt en CS-examen.
- CS-program är faktiskt ganska utmanande och stressande. Om du inte har någon programmeringserfarenhet, var då beredd på ett stressigt nyårsår. Jag deltog personligen i jr. college innan jag åkte till ett mer anmärkningsvärt universitet som kasserade mina CS-poäng och slog ”reset” på två års kurser inom min huvudstudie. Så efter att ha upplevt nybörjarnivå CS i två olika miljöer, skulle jag säga att min konsekventa observation båda gångerna var att 50–70\% av oerfarna nybörjare bytte huvudämnen efter 1 eller 2 CS-kurser, och att minst lika många var stressade, ansåg att byta huvudämne , eller släppte en kurs för att undvika att misslyckas. Det största hindret är att många studenter vet ingenting om programmering, och verkligheten är att grundläggande programmeringsförmåga är det första steget.
- Freshman CS är allt om paniktestning. Efter nyårsåret blir kurserna faktiskt enklare. De är fortfarande en stor utmaning, men det går från två CS-kurser på en gång för helvete för många till 3 på en gång som kan hanteras om det är lite stressigt. Verkligheten är att många professorer inte kommer att lära sig ditt namn, inte lära sig ditt ansikte och inte kommer att göra dig slapp på nybörjarnivå eftersom det finns bättre odds för att efter den terminen kommer du att byta major eller avsluta lite grundläggande general valfri och bryr sig aldrig om ämnet igen. Detta händer fortfarande på avancerad nivå, bara inte så mycket, men i allmänhet är allt frontbelastat för att rensa bort de människor som verkligen inte vill vara i CS så snabbt som möjligt.
- Om du inte har någon exponering för mjukvaruutveckling är det svårt att veta om du kommer att gilla det. Jag gick personligen till ett CS-program eftersom jr. college jag började på hade inte ett fysikprogram och jag tänkte att jag för det mesta tog valfria ur vägen och hämtade matematiska färdigheter på högre nivå. CS skulle uppnå dessa mål tills de kommer till ett 4-årigt institut. När jag väl lärde mig C ++, montering och algoritmer bestämde jag mig för att jag inte ville ändra vägar, jag gillade CS för mycket. Jag föreslår starkt att du tar en intro-programmeringskurs och kanske en del diskret matematik. Om du är på första året då tar du mestadels val och känner dig som huvudämne ändå, det är inte för sent att byta kurs. Om du går på andra nivå måste du antagligen bestämma vad du vill göra och bestämma det snabbt.
- Sänk inte min lön. Se punkt 1.
Svar
Huruvida du väljer att bli huvudämne inom ett visst område är ett personligt val och bör inte bara baseras på sannolikheten för förvärva jobb. Du bör välja ett fält som du tycker om och något som du kommer att vara nöjd med ditt val! Välj inte ett fält bara för att du kanske har chansen att tjäna stora pengar! Häng inte dina drömmar på det! Jag började inom datorfältet 1968. Få högskolor på den tiden erbjöd utbildningsprogram i CS och de som gjorde var främst i ”matematiska avdelningen”. Om JCs erbjöd något var det bara ett par Fortran- eller Cobol-klasser. Inga gymnasier, så vitt jag vet om vid den tiden, erbjöd något eller ens nämnde datorer som ett karriärområde. Efter gymnasiet registrerade jag mig för ett par kurser i ”Key Punching” och ”EAM Operations”. Jag tog också en Fortran-kurs på den lokala JC och anlitade mig sedan i marinen.Jag skickades till databehandlingsskolan och var väldigt lycklig att få order till en anläggning där jag lärde mig lite om internt i stora datorer (inga datorer på den tiden) och lite om ”maskinspråk http://programming”.My stor paus var ren tur. Hösten 1971 tilldelades jag Naval Electronics Laboratory Center och fick tillsammans med två andra sjömän jobb som programmerare på en ny minidator som byggdes på labbet. Seniorforskaren / ingenjören som designade datorn satte oss tre ner och lärde oss ”Machine Language Programming”. Detta var inte Assembler eller en kompilator. Detta var rak ”binär” programmering på bitnivå. Vi var tvungna att lära oss att någonsin registrera, fungera och väga i den datorn och hur vi kan göra vad vi vill. Så lär du dig om datorer! Du kan inte berätta för en dator vad du ska göra om du inte känner till hårdvaran! Efter att ha lärt oss den här maskinen och dess modersmål var vårt första stora projekt att skriva en ”assembler” för datorn. Detta skulle göra det lättare för de andra ingenjörerna att skriva program för det. 1972 fick vi några av de allra första mikroprocessorchipsen från “Intel” som tekniska prover. Ingenjörerna designade och byggde flera enskilda kretskortdatorer och vi skrev testprogramvara för att sätta chipsen genom deras steg. De utvärderades för marinen och senare samma år besökte flera medlemmar av de gemensamma stabscheferna för en demonstration. Detta var teknikens framkant! Detta var långt innan Apple, Bill Gates och Microsoft inte ens var en dröm då! 1974 ombads jag att hålla tal med seniorer vid flera gymnasier i San Diego för ”Karriärdagen”. Vid den tiden fanns det fortfarande inget omnämnande av datorer som en karriär i gymnasiet. Jag fortsatte med att arbeta för NASA i ett antal rymdprojekt inklusive Viking och Voyager. Jag arbetade på världens 3: e största optiska observatorium, som mjukvaruutvecklare inom Air Traffic Control i Saudiarabien, för många statliga kontraktsföretag, designade programvaran för ”3D Radiation Treatment Planning” för strålningsonkologi och arbetade för flera Fortune 500-företag. Jag gick äntligen i pension 2006 efter 38 år i fält och slutligen slutfört min BS i datavetenskap efter att jag arbetat inom CS-området i över 32 år. Detta visar att om du älskar det du gör är nästan allt möjligt!