Forøger en datalogi-grad virkelig din løn? Jeg knuste tallene for at finde ud af det.

Jeg var midt i at skrive en artikel om sammenhængen mellem specialisering og løn i softwareindustrien. Jeg havde udarbejdet teorien om, hvorfor og hvordan specialisering påvirker løn, og hvor specialisering har tendens til at forekomme. Det eneste, jeg havde brug for, var statistisk bevis.

Så jeg tog 2017 Stack Overflow Survey Data, rensede dem og begyndte at tilslutte variabler fra tidligere analyser, der vides at påvirke den endelige løn.

En af de sværeste dele af dataanalyse er at forstå, hvilke variabler du vil teste for, og hvilke du ikke gør. På den måde kan du kontrollere deres adfærd.

For eksempel kunne jeg teste for at se, om brug af PHP på arbejdspladsen øger din løn. Men hvis jeg ikke medregnede i respondentenes land, ville jeg ikke være i stand til sandt at redegøre for indflydelsen fra PHP.

Da jeg testede specialisering, havde jeg brug for at forenkle datasættet og forbedre følsomheden over for ændringer i specialiseringen. Jeg valgte kun at bruge professionelle webudviklere fra USA, og for at tage højde for specialisering søgte jeg at teste lønningerne til frontend- og backend-specialister mod full-stack generalister.

Jeg tilføjede gradvist variabler: Erfaring, Uddannelse, Webudvikler Type. Resultaterne var ikke perfekte. Jeg forventede, at formel uddannelse ville få en mere positiv indflydelse, men jeg var optimistisk, og jeg så allerede nogle tegn på fordelen ved specialisering.

Og det var, da der skete noget uventet.

Jeg er webudvikler af handel, og jeg udvikler fuld stack. Jeg har altid spekuleret i, at hvis jeg havde været lidt mere moden og erhvervet en datalogi-grad (CS) i stedet for en kunsteksamen, tjente jeg måske mange flere penge.

En af mine yngre brødre har en CS-grad, og vores løn ser ud til at være på to forskellige skalaer, og disse skalaer vil aldrig mødes. Alle jeg møder, der har interesse i programmering, fortæller dem altid, at en bacheloruddannelse i CS er mindst værd, en 20 k lønforskel i evighed, og jeg tror, ​​jeg er konservativ.

Så du kan forestille dig mit chok, da jeg kørte analysen for undergrads med CS-grader mod alle andre. Der var ingen signifikant forskel.

”Sikkert gjorde jeg en fejl,” tænkte jeg. Første gang jeg kørte analysen, havde jeg klumpet CS-grader sammen med ingeniører, matematikere og kandidater til informationsteknologi. Det er klart, at CS skulle adskilles i sin egen division.

Så jeg kørte analysen igen.

Men igen var der ingen signifikant forskel.

Lad mig skitsere nøjagtigt, hvad der foregik her.

Da jeg redegjorde for formel uddannelse, erfaring, webudvikler type og undergrad, var der ingen sammenhæng mellem at have en CS-major - eller en ingeniør- eller matematikfag - og løn.

Så jeg begyndte at fjerne variabler. ”Måske strømmer CS-majors generelt ind i backend,” tænkte jeg. Så jeg fjerner typen "webudvikler". Ingen sammenhæng.

Jeg fjernede den formelle uddannelse helt. Ingen kontrol for en bachelor, en kandidat eller en doktorgrad. Ingen sammenhæng.

Jeg prøvede enhver tænkelig kombination. Og jeg kunne ikke finde en signifikant sammenhæng mellem at have en CS-bachelorgrad og at tjene en højere løn.

Der er flere mulige forklaringer på manglen på statistisk relevans omkring bacheloruddannelsen i CS og løn. Den første ting, der kommer til at tænke på, er, at dataene er dårlige. Det var ikke en ordentlig prøveudtagning af befolkningen, eller folk løj, eller folk gennemførte ikke undersøgelsen.

Vi ved for eksempel, at kvinder blev forkert præsenteret i de første fund. Vi kan også se, at kun en tredjedel af de amerikanske professionelle webudviklerrespondenter faktisk inkluderede deres løn, og blandt dem der inkluderede den, var flertallet fra US $ 90.000 til $ 130.000 årligt løninterval.

Vi ved, at den nationale gennemsnitsløn for en webudvikler er tættere på $ 70.000. Så der er en mulig bias her, hvor folk kun rapporterer deres løn, hvis de var stolte af det.

Så jeg testede denne hypotese ved at tildele alle ikke-lønninger med en løn under gennemsnittet $ 40.000. Jeg fandt ud af, at det brød alle de tidligere sammenhænge og resulterede i ingen nye åbenbaringer.

En anden mulighed var, at CS-uddannede undergrader strømmer ind i noget andet end webudvikling, hvilket efterlader stragglers til webudvikling. Det ved jeg, men jeg prøver virkelig at komme til bunden af ​​dette.

Statistik er lige så meget en kunst som en videnskab. Det er let nok at køre regressioner på data og finde sammenhænge, ​​men nogle gange kommer det bare ned til logikken i det hele. I uærlige hænder kan statistikker bruges til at formidle løgn.

"Der er tre slags løgne : løgne , forbandede løgne og statistikker ." - Mark Twain

Ser jeg tilbage på den første lineære regression, bemærkede jeg et spørgsmål angående respondenter, der var gået på college, men som ikke havde optjent en grad. Hele 14% af respondenterne var studerende, der ikke gennemførte deres eksamensbeviser.

Variablen var ubetydelig, men den estimerede effekt var stærkt negativ. Hvad hvis nogle af de studerende, der forlader college og universitet, var CS-majors?

Jeg oprettede to interaktionsvariabler: en til CS-studerende, der afsluttede deres bachelor, og en til CS-studerende, der gennemførte deres kandidater. Resultaterne var signifikante og yderst positive. Det så ud som at have en CS bachelorgrad faktisk påvirkede lønnen.

Eller gjorde det? Se på virkningerne af at have hovedfag i CS og at have afsluttet en bachelor i CS. Skiltene er næsten ækvivalente. Knap tusind point.

At have en CS-undergrad med en kandidatgrad var på den anden side en ekstra $ 10k værd. Så hvis du er interesseret i webudvikling, og du allerede har en CS-grad, kan du overveje at lave en master.

Så jeg er næsten tilbage, hvor jeg startede. At have en CS-grad påvirker ikke lønnen, men virkningerne er ikke i nærheden af ​​min oprindelige antagelse om et boost på $ 20.000.

I stedet er det tættere på $ 1.000 - hvilket for de fleste af de udviklere, der svarede på undersøgelsen med deres løn, betyder mindre end 2% forskel i den samlede indkomst.

Nu kommer det måske som et chok for mig, fordi jeg er canadier, og vi har tendens til at være lidt mere reserverede, når det kommer til at sigtes gennem CV'er. Måske er en CS-grad mere værd her. Og måske er det mere værd mange steder i verden. Men CS-grader synes ikke at påvirke lønningerne til professionelle webudviklere i USA.