– Hverdage passer ikke ret godt, for programmet er lidt hektisk. Jeg møder som regel før 7.30 for at undgå for meget trafik. Hvis du har tid en weekend, vil det være perfekt.
E-mailen fra Brian Rasmussen kommer som svar på Prosabladets ønske om et interview og vidner om en travl hverdag for den 42-årige dansker, som siden juni 2011 har arbejdet som Senior Software Development Engineer in Test eller blot SDET i Microsoft-jargon.
Microsoft åbner compilerne
Brian Rasmussen er tilknyttet Roslyn-projektet, hvor Microsofts C#- og VB-compilere skrives om, så der fremover vil være API'er, der giver adgang til et væld af værdifuld information, som compilerne opsamler om kildekode og den oversatte kode. Microsofts udviklingsmiljø Visual Studio bruger blandt andet compiler-informationen til at tilbyde udviklere IntelliSense og refactoring-features. Ved at gøre dele af compilerne tilgængelige ved hjælp af API'er (se figur) vil det være nemmere for udviklere at bygge deres egne værktøjer og løsninger baseret på Roslyn-projektets compilere.
Det er Brian Rasmussens job at teste Roslyn-projektets kode, og specifikt skal han teste, hvordan Roslyn-koden påvirker Visual Studios performance.
50 millisekunders reaktionstid
– Der foregår meget i baggrunden, når man bruger Visual Studio. Vi måler på, hvor lang tid det tager fra et tastetryk, til en handling udføres. Vi ønsker ikke at bruge mere end 50 millisekunder på at reagere på et tastetryk, forklarer Brian tidligt søndag morgen lokal tid over telefonen fra Sammamish, der ligger lidt sydøst for Redmond.
Når der skrives en enkelt karakter i Visual Studio-editoren, skal compilerens underliggende datamodel over variable, metodenavne og andre symboler gennemløbes for eksempelvis at understøtte IntelliSense, som foreslår variabelnavne og metodenavne på baggrund af den indtastede karakter.
– Hvis der er noget, der kører for langsomt, så skal vi måle på kaldestakken og så videre. Vi skal lave en normal profiling og finde ud af, hvor pokker vi bruger tiden. Jeg finder måske frem til, at problemet er i compileren eller i nogle af de lag, som vi bygger oven på compileren. Jeg indsamler de fornødne informationer, så udviklerne kan optimere performance.
Det er en meget levende kodebase, hvor udviklere løbende tjekker kode ind, og da Visual Studio er et komplekst program, kan tilsyneladende uskyldige ændringer have "katastrofale følger for performance". Derfor kører der en række regressions-test hver dag, der registrerer performance-afvigelser.
Microsoft bemærker Kodehoved
Nogle af Prosabladets .Net-interesserede læsere vil formentlig kende Brian Rasmussen som Kodehoved. Omkring starten af 2007 begyndte han at skrive primært om .Net-udvikling og C# på sit website kodehoved.dk. Bloggen blev læst med stor interesse af danske .Net-udviklere, blandt andet hos Microsoft i Vedbæk. Det førte til, at Brian blev inviteret til at give foredrag hos Microsoft, og han blev efterhånden en vigtig del af det danske .Net-udviklermiljøet.
– Der skete noget rigtigt fedt omkring 2007. Det rykkede på usergroups i København, Aarhus og Odense, og der var gå-hjem-events og andet godt. Det var et miljø, der var utroligt inspirerende.
Jetlags-interview
Brians indsats for at formidle tekniske detaljer til andre .Net-udviklere på en pædagogisk vis blev værdsat af Microsoft, og han blev derfor udnævnt til Most Valued Professional (MVP) i C# i 2008, 2009, 2010 og 2011. Brian er i et eksklusivt selskab af omkring 4.000 MVP'er på verdensplan, og det har været med til at åbne døren til Microsoft.
– MVP-awarden er stort set ukendt i Danmark, men herovre er det relativt prestigefyldt.
Da Brian Rasmussen nogle gange ved forskellige konferencer mødte en anden dansker, Mads Torgersen, der er program manager for C#, benyttede Brian lejligheden til at spørge, om det var muligt at komme til Redmond og arbejde for Microsoft. Mads Torgersen sendte Brians CV rundt i Microsofts organisation, hvilket førte til, at Brian Rasmussen blev fløjet over til Microsoft for en lang jobsamtale.
– Det var rimeligt hårdt at tage til samtale med jetlag. Samtaler med Microsoft er en heldags ting. Jeg havde syv interview på en dag.
Det var intensive sessioner, hvor Brian Rasmussen eksempelvis blev bedt om at skrive kode, der implementerede en bestemt algoritme, finde fejl i eksisterende kode samt implementere en algoritme, der løser et problem, samtidigt med at memory-forbruget er konstant.
MVP'en i C# blev heglet igennem:
– Jeg synes ærligt talt ikke, det gik så godt, husker Brian Rasmussen.
Men det kan ikke have været helt ringe, for Microsoft ringede senere og tilbød ham stillingen som Senior SDET.
Familiemennesket Brian
Selvom det var en ønskestilling, han blev tilbudt, var det ikke en nem beslutning. Det ville betyde store ændringer for Brian selv, men ikke mindst for hustruen Kirsten og deres to små børn på nu tre og fem år.
– Det var pragtfuldt, at Kirsten sagde ja efter lidt betænkningstid. Det er jeg meget taknemlig for. Hun havde et godt job i Danmark, som hun var glad for, men det er bedre at kunne sidde som gamle mennesker og fortryde noget, som vi har gjort, end noget, vi ikke har gjort.
Brian har ikke fortrudt at tage til Redmond.
– Det er meget spændende, men også hårdt, konstaterer Brian Rasmussen.
En typisk arbejdsdag er længere end i Danmark, men danskeren prioriterer sin familie og sørger for at komme tids nok hjem hver dag, så han kan spise aftensmad med familien, ligesom weekenderne er helliget familien.
– Det er vigtigt at holde fast i nogle enkelte holdepunkter, når man laver sit liv om. Min familie er vigtigere end alt andet. Jeg vil ikke arbejde så meget, at jeg ikke får set min familie.
På den led ligner Brian andre Microsoft-ansatte med familie og børn, selvom der også er "twenty-somethings, der bor alene, kommer fra en anden stat og ikke har nogen venner; de kan godt arbejde røven ud af bukserne".
I løbet af interviewet har jeg kunnet høre Brians femårige søns stemme et par gange i baggrunden. Han skal til fodboldtræning, og da han dukker op i baggrunden igen, er det på tide at give familiemennesket Brian Rasmussen tid til at nyde sin søndag, førend han møder hos Microsoft mandag morgen inden kl. 7.30.