En bekannelse fran en utbildad utvecklare med svaga CS-grunder
Nar jag gick i skolan trodde jag att jag var ganska duktig. Utan att ens forsta hur viktiga CS-grunder ar jagade jag bara betyg.
Jag gick mina kurser ganska seriost och hann till och med vinna skolans programmeringstavlingar och capstone-tavlingar. Nar mina kurskamrater slet med kodfel stod jag bredvid, kastade ur mig kommentarer och kande mig overlagsen. Men om jag ska vara arlig var det jag byggde pa den tiden pa sin hojd barnlek.
Att koppla in en riktig databas (DB) kandes for svart, sa jag sparade data i textfiler (.txt) med kommatecken (,) emellan. Och i stallet for att anvanda en Raspberry Pi, som kravde styrning pa operativsystemsniva, tog jag genvagen via Arduino dar nagra fa rader kod racker. Lararna beromde resultat som bara sag overtygande ut pa ytan, och jag misstog det for mitt verkliga kunnande.
Intervjun jag klarade genom att rabbla: det var sa tragedin borjade
Men sa fort jag kastades ut pa arbetsmarknaden krossades det dar sjalvfortroendet utan grund. Det blev avslag efter avslag. En titel som pristagare i en programmeringstavling kunde inte dolja hur skakiga mina CS-grunder var.
Ju mer angesten tog over, desto mer klamrade jag mig fast vid ytlig kunskap. Forstaelse fick vanta medan jag memorerade standardsvar som en maskin bara for att ta mig igenom intervjuer. Listor med ”100 vanliga intervjufragor” fran teknikbloggar blev min kurslitteratur.
Nar intervjuaren fragade ”Vad ar skillnaden mellan TCP och UDP?” svarade jag som en automat. ”TCP ar anslutningsorienterat och ger tillforlitlighet men ar langsammare, medan UDP ar anslutningslost, snabbare men mindre tillforlitligt.”
Sanningen var att jag inte hade nagon aning om vad ett paket var eller hur 3-way handshaking faktiskt gick till. Ironiskt nog var det just det mekaniska pluggandet som hjalpte mig att lura intervjuarna, fa bra resultat och landa ett jobb. Jag trodde att det var tur. Jag forstod inte att det var borjan pa en tragedi dar jag skulle fa betala for fyra ars slarv pa en och samma gang.

Fullstackoverlevnad i ett litet team
Platsen jag kom till var ett litet team. Dar fanns inga vanliga, bekvama uppdelningar som ”frontend” eller ”backend”.
Fran forsta arbetsdagen stod jag framfor en teknikstack som valde in over mig som en tsunami. Jag trodde att det skulle racka att vara bra pa antingen Java eller JavaScript. Verkligheten bestod av den svarta skarmen i en Linux SSH-terminal, mystiska Docker-containrar, GitLab CI/CD-pipelines och dessutom Spring Boot, Vue.js och Redis… Tekniker som jag under studietiden skjutit upp med ”det tar jag senare” eller avfardat med ”det dar behover jag inte kunna” attackerade mig nu fran alla hall.
Kunskapen jag rabblade pa intervjuerna var vardelos i verkligt arbete. Eller mer exakt: jag visste inte hur jag skulle anvanda den. For att forsta varfor Docker-containern jag startade fortsatte att do (OOM), eller varfor Redis at upp minnet, behovde jag just de CS-grunder som jag bara hade pluggat in for intervjuer.
Ett slott byggt pa sand
Till slut hade jag blivit en utvecklare som bara kopierade och klistrade in kod pa chans (Ctrl+C, V). Funktionerna gick igang pa nagot satt, men jag forstod inte varfor.
Eftersom jag inte kande till principerna bakom den bekvamlighet som ramverken gav mig, hade jag ingen formaga att losa problem nar nagot gick fel. Jag byggde ett vingligt slott av glansande ramverk pa mark som forsvagats av skora CS-grunder.

Re: Booting, tillbaka till startpunkten
Darfor bestamde jag mig for att verkligen ga tillbaka till borjan. Mer angelaget an att genast lagga till annu ett flashigt portfolioobjekt var att svara pa den grundlaggande fragan: ”Hur forstar och kor datorn egentligen min kod?”
Den har bloggen ar en skoningslos loggbok over hur en utbildad utvecklare med bara ett examensbevis bygger upp sina CS-grunder fran botten igen. Jag kommer inte bara rada upp Linux-kommandon eller installationsguider for Docker. I stallet vill jag dokumentera processen dar jag staller fragor som de har och forsoker hitta svaren.

Bortom localhost
Slutmålet ar att med egna hander bygga upp och kontrollera Linux, Docker, CI/CD och till och med molnmiljoer. Jag vill lamna det trygga vaxthuset localhost och bli en ingenjor som overlever aven i den harda, vilda servermiljon.
Till dig som, precis som mitt forna jag, sager ”jag laste det i skolan men minns det inte”, hoppas jag att den har loggen kan bli en liten milstolpe som far dig att utbrista: ”Jaha, det var alltsa det lararen menade!”