Gå videre til hovedindholdet

Erfaringsvisdom til begynderprogrammøren

Mens jeg sad og skrev på min devlog, slog det mig: "Hvor er det rart egentlig at øse ud af sine erfaringer og give en del af sig selv til lidt af verden". Lad mig give lidt mere. Du kan i øvrigt ikke stoppe mig, for det er mig, der har "Udgiv"-knappen *gnæk, gnæk*

Det følgende er møntet til begynderprogrammøren, og det er generelle råd, som jeg måske selv godt kunne have brugt, da jeg startede med at programmere for over 25 år siden.

Vi lever i en verden fyldt med meninger og ekspertråd. I vores hyperoptimerede performance- og perfekthedskultur, skal det helst fremstå som om vi er fejlfri, men sandheden er jo, at det er umuligt. Og jeg tror, at mennesker, der prøver at opretholde den her perfekthedsillusion, har potentialet til at krakelere totalt, fordi der er områder, hvor de ikke kan leve op til deres egne krav.

Har egentlig aldrig følt, at jeg skulle vide alt, men jeg ville gerne have "styr på mit shit", hvis jeg blev spurgt om noget. Jeg er ikke bleg for at indrømme, at der er områder, jeg ikke har styr på. Ej heller er jeg typen, der kan læse en bog, og så klæber alting bare fast. Nej, jeg skal prøve ting af, før de sidder på "lystavlen".

 Jeg er f.eks en dør til matematik, men det skal satme ikke hindre mig i at programmere. Nøgleordet her er nysgerrighed. 

De fleste barrierer er dem vi sætter i hovedet på os selv. "Nej, det kan jeg nok ikke" - det er den værste, mest vanvittige sætning, du kan fortælle dig selv. Gu' kan du det, hvis du har viljen. Er vi enige? Godt. Ellers skriv "Jeg kan det, jeg sætter mig for" mange gange på en tavle et sted.

Nå.. Nu går det løs.

1. og absolut vigtigste råd: Tro på dig selv. Du kan ikke vide alt. Der vil altid være nogen, der er dygtigere end dig på forskellige områder. Og hvem har egentlig patent på, hvornår man er "god nok"? Ingen. Det er en tilstand, hvor man godt selv kan føle, når niveauet er der, hvor tingene sidder lige i skabet. Lyt til kritik, men lad være med at lade dig gå på af den. Som i nogensinde! Var det informativ kritik eller usaglig kritik? Vend kritikken på hovedet, og se det som en udfordring til dig for at blive klogere.

2. Vær nysgerrig. Måske synes du pointers er megasvært. Og du har ret, der findes en del koncepter, som er svære at forstå. Måske har du læst på stoffet flere gange, og forstår det stadig ikke? Se der er problemet - slip teksten, og kom i gang med at teste problemet af i praksis: Åbn kodeeditoren, tast problemkoden ind, fyr op for debuggeren, og se hvad den gør.

3. Vær en ven. Det lyder banalt, men jeg har set så mange store arrogante røvhuller ude på nettet bruge tid på at skræmme nybegyndere væk. Jeg krummer tæer, når jeg ser RTFM i supportfora ("Read The Fucking Manual"). Jeg ved ikke hvor stort problemet er generelt, men lov mig at du aldrig bliver den type, uanset hvor dygtig du bliver. Det er en uskik at nogle forsøger at skræmme andre væk, og det gavner absolut ikke branchen.

4. Find din egen sti. Elsker du Javascript og PHP, men får at vide af andre programmører, at det ikke er det rigtige, så fuck dem. Ja.. Seriøst. Det vigtigste er, at du har det sjovt, og at du får løst dine opgaver. Længere er den ikke. Jeg har hørt folk hade Javascript lige så længe, som jeg har udviklet websites og selvom sproget har sine whatthefuck-moments, så er det et sjovt sprog, og har vist sit værd gennem mange år. Nu er det praktisk talt livsnerven i WebAssembly, som baner vejen for, at vi kan programmere i andre sprog på klientsiden i browserne. Det er da et sjovt paradoks?!

5. Lad være med at tro, at du skal opfinde alting selv*. Du ender med at brænde ud, inden du kommer i gang med kernen i dit projekt. Brug de åbne kodebiblioteker, der findes på nettet. Skrev Apple MacOS fra bunden? Nej. Det er baseret på åben Unix-kode. Åben kode er virkelig en gave: Du får gennemtestet, ofte hyppigt opdateret kode, og du kan fokusere på andre ting, som er vigtige for dit projekt. (* = Medmindre du altså vil udvikle deciderede libraries)

6. Lav MVP. Minimum Viable Product. Kend dit produkt og din målgruppe. Lav kun akkurat det, der skal til for at få din applikation hurtigt ud af døren. Det lyder dovent, men vi kan ofte bruge så sindsygt meget tid på at håndoptimere kode. Du kan _altid_ vænne tilbage, og optimere senere. Jeg har brugt timer og dage på at prøve at forhåndsoptimere dele af min kode, som aldrig kom i nærheden af at skulle yde det, som jeg prøvede at optimere udfra. Så glem det. Compileren er oftest smartere end os dumme mennesker. Hvis du er uenig i ovenstående, så prøv at tænke på, hvor meget af koden, der har direkte relevans for kunden eller din slutbruger. De ser oftest kun brugerfladen. Hvis verden var indrettet korrekt, så blev der lavet film om Steve Wozniak fremfor Steve Jobs.

7. Erfarne programmører laver også fejl. Jeg laver selv, og har også set andre meget erfarne programmører lave det værste slamkode. Det gør man altså bare indimellem, sådan er det. Jeg har set arkiteturmæssigt lækker kode, som var et helvede at arbejde med, fordi der var så mange abstraktionslag, at man helt glemte, hvad koden egentlig skulle gøre.. Og så var den tilmed langsom og svær at fejlsøge. Er "poleringen" så umagen værd?

Kommentarer

Populære indlæg fra denne blog

Kom nu for fa'en...

Nu skriver han igen, ham Simon. Han er da også møgsur hele tiden? Nej, hvis du kendte mig, ville du vide, at jeg er optimist 97% af tiden. Jeg er ikke sur, jeg er snarere skuffet.  Skuffet over, at der sidder politikere og embedsmænd derude for hvem handicapområdet rager en høstblomst, som kun kender til at svinge sparekniven. Det burde rage folk en helt masse - uanset politisk ståsted - man behøver ikke være økonom for at vide, at hvis man kan bruge folk som en aktiv ressource i samfundet, så bliver de sjovt nok ikke så stor en udgift heller. Man har sådan et fastlåst billede af, hvad der er samfundsmæssig kapital. Måske synes man, at det kun er bundlinien, der tæller - men så skal man måske prøve at nuancere sin opfattelse. Jeg tror på et samfund i fremdrift for alle mennesker. Jeg voksede op i 80'erne og 90'erne, hvor der var en helt anderledes tro på os handicappede og vores ressourcer. Bryder mig faktisk ikke rigtig om at skrive blogindlæg a' la dette, men jeg reager

Sådan DR2!

I går viste dansk flowtv sig fra sin bedste side... DR2s temaaften/nat omkring amerikanernes månelanding i 1969 var helt fænomenal. Det er vist første gang i meget, meget lang tid, jeg har sat mig i sofaen uden at falde i søvn på noget tidspunkt, selvom det kørte i et stræk til klokken 5-ish med dokumentarer og interviews, og så selvfølgelig selve månelandingen (lang historie kort: Jeg falder altid i søvn i sofaen... )😂 Det er vildt fascinerende.. Og jeg synes det er megafedt, at der nu er ambitioner og mål om at komme derud igen - først til månen i 2020'erne - og senere til Mars (hvis man kan finde en måde at beskytte astronauterne mod kosmisk radioaktiv stråling... Ellers giver det ikke så meget mening). Exciting times!

Dårlig moral og dyrevelfærd

Jeg gætter på, du lige som mig gerne ser, at Danmark er et land, hvor dyrevelfærden er i højsædet og de dyreetiske regler er på plads. Reglerne er der måske, men de bliver ikke overholdt. Se den store graf: Tallene taler for sig selv: Opadgående tendens fra 2007 og frem. I 2017 måtte ca. 9,4 mio grise lide i en tætpakket lastbil med mere end 8 timers kørsel. Jeg blev opmærksom på grafen, pga. et tweet fra Dyrenes Beskyttelse, og nøj, jeg blev både trist og harm på samme tid, på dyrenes vegne. Det er jo langt fra 1. gang, vi hører at svineproducenterne har problemer med at indordne sig reglerne - og hver gang, det er blevet belyst fra medierne, har en repræsentant for branchen lovet bod og bedring. Har det hjulpet? Kig på grafen igen - ser det ud som om branchen synes at bryde sig om dyrenes ve og vel? Nej, dyrevelfærden viger for profitten. Det er usmageligt, og svineproducenterne sender samtidig en udstrakt langefinger til dyrene og de myndigheder, der forsøger at håndhæve regle