Nu har mon kone og jeg skrevet under på en 1-års forlængelse af vores lejekontrakt. Det fik mig til at tænke på, at der allerede er gået næsten et år siden vi flyttede herover.
Tiden er gået hurtigt, og alligevel er der sket meget. Der er mange ting, som når jeg tænker tilbage var fremmedartet for os, men jeg nu ikke skænker en tanke. Når der er muffins i kantinen, så tager jeg dem med en tang - ellers risikere man sure blikke, idet man tilsyneladende formodes ikke at være i stand til med sine bakteriebefængte pølsefingre kun at berøre den kage, man har tænkt sig at tage. Jeg synes også at det er den naturligste ting i verden, at der på indersiden af døren i toilet-båsen sidder opslag om hvordan man skriver gode unit-tests til sin programkode, eller at Google har rabat-ordning på solfanger-anlæg til hjemmet - noget jeg ikke kunne lade være med at smile over, da jeg først så det.
Jeg tænker ikke længere over, hvor finpudsede mange af de systemer jeg bruger i hverdagen er. Møde-invitationer går selv fra email til firma-kalenderen, og derfra videre til min Android-telefon. Når telefonen minder mig om, at jeg har et møde om 10 minutter, så viser den mig bygningens grundplan med en nål i det lokale, hvor mødet skal foregå.
Der er ikke så mange medarbejdere, der har bord-telefoner (og det har jeg det meget fint med,) så jeg har også vænnet mig til, at bruge chat til at stille hurtige spørgsmål til kolleger, der sidder langt væk. Førhen var jeg modstander af ICQ og andre chat-systemer, dels fordi jeg synes at en email-korrespondance var mindst lige så god, og dels fordi alle de forskellige chat-systemer var proprietære. Jeg må dog indrømme, at en hurtig chat-session i mange situationer betyder meget mindre spildtid end lange email-korrespondancer. Desuden er det sådan, at den chat-funktion som er indbygget i Gmail bruger den åbne standard XMPP, (ligesom alle email-servere altid har brugt den åbne standard SMTP), og det betyder for begges vedkommende at alle i princippet kan starte deres egen chat-server/email-server og brugere hos forskellige udbydere kan kontakte hinanden. Det er denne standardisering, der har gjort den email vi kender i dag så uendelig meget mere nyttig end andre elektroniske post-systemer, der fungerede indefor hvert firma, og krævede aftaler og teknisk integration firmaer imellem, for at kunne udveksle post.
Jeg føler mig efterhånden hjemme i de dele af programkoden, som jeg oftest arbejder med, og Java-sproget har jeg også vænnet mig til at bruge. Det har taget sin tid, men det gjorde det egentlig også sidste gang jeg skiftede job. Jeg er den type der starter nedefra med først at forstå hvordan hver del af systemet grundlæggende fungere, for så at sætte brikkerne mentalt sammen og danne en forståelse af samspillet. Jeg duer ikke rigtig til at starte med de store træk, for derefter at sætte mig ind i detaljer. Så jeg ville nok få svært ved at fungere som arkitekt eller designer, hvis jeg blev sat på et eksisterende kompliceret system og forventedes at kunne bygge videre på det, ud fra en forståelse af de overordnede linier.
Jeg bliver gradvist mere produktiv hos Google, men jeg har lært en del om mine egne evner og begrænsninger. På mit tidligere job sad jeg i en gruppe, der udviklede software-komponenter som var tænkt som fælles byggeklodser i firmaet. De andre programmører, der arbejdede på forskellige projekter, blev opfordret til at benytte vores komponenter. I vores gruppe var vi hurtige til at stemple andre som Cowboy-programmører, hvis de gik enegang og fandt på egne løsninger i stedet for at bruge de komponenter, som vores gruppe foreslog. Når jeg ser tilbage bliver det dog klart, at jeg selv har betydelige cowboy-tendenser, idet jeg f.eks. på eget initiativ formulerede et deklarations-sprog til tilstandsmaskiner og uden at vende det med kollegerne "sneg" en oversætter til dette ind i byggesystemet, så det derved blev en del af komponent-værktøjskassen.
Hos Google er der faste procedurer for, at mindst en anden programmør skal sige god for en tilføjelse, før den kan medtages i revisions-systemet, hvilket effektivt forhindrer Cowboy-programmering. Jeg kan sagtens forstå baggrunden for sådan en regel, men jeg har været vandt til at arbejde koncentreret med én opgave ad gangen, fra undersøgelse, implementation og til test, i perioder på alt fra et par timer til et par uge. Det at vi hos Google må vente på kommentarer fra en kollega, og det kan i mange tilfælde tage flere dage, gør at jeg i mellemtiden må begynde på andre opgaver, og når kollegaen vender tilbage har jeg tit glemt halvdelen af hvor jeg var nået til med den første opgave. Jeg vil tro at jeg på nuværende tidspunkt har ti forskellige ændringer i luften, men i hovedet kan jeg kun komme i tanke om formålet med tre af dem, de andre må jeg slå op på skærmen for at huske på, og for at se om det er mig eller nogle andre, der forventes at tage næste skridt.
Både produktions-serverne, min arbejdscomputer og min bærbare kører varianter af Linux. Det er fantastisk rart, jeg kan godt lide, at grænsefladerne mellem de forskellige software-komponenter på min computer er dokumenterede (om ikke andet, så igennem kildeteksten), og man har mulighed for at finindstille eller helt udskifte enkelte komponenter i operativsystemet, hvis man har lyst. (TWM er noget der dur.) Det er heller ingen hemmelighed, at jeg generelt synes at Windows er en værre gang makværk. Så snart man gerne vil foretage sig noget, som der ikke er en færdiglavet funktion til, så er man på herrens mark. På Linux derimod har man alle muligheder for at kombinere kommandoer på utallige måder, så for programmører er det lige sagen. Jeg glæder mig over, at Google stort set har udfaset Windows.
Jeg har lært rigtig meget på det første år, men kommer stadig hurtigt på dybt vand, hvis et spørgsmål vedrører program-komponenter, der ligger op af dem, jeg har arbejdet med - og det sker tit. Det kan være at der skal gå endnu et år før jeg rigtig kan være til hjælp, hvis en bruger kommer til mig med spørgsmål.