utvikling

.Net-utvikler: –Forbruker­versjonen av Windows er forferdelig ustabil og «bloated»

Michael Birkmose er .NET-utvikleren som egentlig ikke liker Windows.
Michael Birkmose er .NET-utvikleren som egentlig ikke liker Windows.

Ukens utviklerintervju er med Michael Birkmose (36), seniorkonsulent i .NET-avdelingen til Inmeta Consulting.

Kan du kort beskrive stillingen og oppgavene dine?Jeg jobber som konsulent (full-stack .NET utvikler). Vanligvis jobber jeg med tradisjonell systemutvikling på prosjekter for våre kunder.

Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?Jeg jobber mest ute hos kunder. Det er der konsulenten tilhører :)

Kan du fortelle litt om prosjektet/prosjektene du jobber med akkurat nå?

Det har vært en interessant opplevelse når de svært kreative sinnene fra UX-avdelingen må jobbe sammen med de svært strukturerte systemutviklerne

Akkurat nå jobber jeg for en kunde, hvor vi implementerer en REST API ved hjelp av ASP.NET Core og Azure. API-et skal bli offentlig, så den må være godt strukturert og godt dokumentert, så vi bruker Swagger for å dokumentere API-et. Kundeprosjektet har også involvert en stor del av UX-design, så flere forskjellige disipliner har vært involvert fra Inmeta. Det er noe jeg virkelig liker ved å jobbe her – vi har flere forskjellige disipliner som UX-design, systemutvikling, maskinlæring og andre. Det har vært en interessant opplevelse når de svært kreative sinnene fra UX-avdelingen må jobbe sammen med de svært strukturerte systemutviklerne. :)

Hvor lenge har du jobbet som utvikler?Jeg har jobbet profesjonelt med programvareutvikling siden 2000.

Har du jobbet på samme sted hele tiden?Nei. Jeg har jobbet på flere forskjellige typer selskaper, og jeg har også hatt egen virksomhet før.

Hvor gammel var du da du først begynte å lære deg programmering?Jeg begynte å eksperimentere med programmering da jeg var 7, men det var bare da jeg var rundt 10-11 jeg begynte å ta det mer alvorlig. Jeg husker fortsatt å kjøpe min første AMOS-kompilator til en pris på 400 danske kroner. Det var mye penger for en liten gutt da! :)

Hva slags utdannelse har du?Jeg er utdannet softwareingeniør fra Aalborg Universitet, Danmark.

Hvilke plattformer utvikler du vanligvis for?Windows og Linux. De siste to år jobbet jeg veldig mye på Linux-stacken, moderne C++. Men nå er jeg tilbake på Windows og .NET (Core).

Hvilken pc-plattform/OS foretrekker du selv å bruke?

Jeg finner forbrukerversjonen av Windows forferdelig ustabil og «bloated»

Jeg liker virkelig Unix-filosofien, og har aldri vært en fan av Windows-operativsystemet. Det høres kanskje rart ut fra en. NET-utvikler :) Jeg elsker enkelheten og effektiviteten til Unix-designen og hvordan det er lett å komponere enkle verktøy for å løse større komplekse problemer.

Jeg utvikler på Mac, med en virtualisert versjon av Windows – Windows-server for å være mer spesifikk. Jeg finner forbrukerversjonen av Windows forferdelig ustabil og «bloated» – derfor bruker jeg serverversjonen. Men la det være sagt at jeg føler at Microsoft gjør nesten alt riktig i disse dager – de går virkelig i en god retning. (La meg bare erklære min kjærlighet til. NET Core!)

Hvilke programmeringsspråk benytter du?C#, C++, Javascript/Typescript, SQL.

Hva er favorittspråket og hvorfor?Uh, det er lett! – C #. Det er absolutt det mest elegante og produktive språket jeg noensinne har brukt. Tidligere var jeg all-in på Linux/C++, men ble forelsket i C# 6-7 år tilbake. Det er et språk som lar deg implementere ganske avanserte konsepter på en svært elegant måte. Jeg elsker SQL, og den innebygde støtten til LINQ i .NET-rammeverket appellerer veldig mye til meg og måten jeg jobber på. Den nyeste utgaven av. NET – .NET Core – er en komplett redesign av rammeverket til en mer moderne arkitektur – cross platform. Det er fantastisk, og jeg har allerede C# i produksjon på små Linux-systemer.

Men å ha sagt det da elsker jeg fortsatt C++ også. Det er ikke et elegant språk (i det hele tatt!), Men ekstremt effektiv, og du får full kontroll. Måten du koder i C++, er et flott samsvar med hvordan en datamaskin egentlig fungerer. Du kan sette objektene dine på stakken for rask minnetildeling, og integrasjon med OS/HW er veldig lett. Og de moderne versjonene av C++ (C++11 og utover) inneholder mange moderne konsepter tilsvarende C#. Dessverre er språket fortsatt ikke veldig pent. :)

Hvilke to verktøy greier du deg ikke uten, og hvorfor?VMware Fusion og Chrome Developer Tab. Siden 2010 har jeg alltid virtualisert alle mine utviklingsmiljøer, det er en veldig kraftig måte å jobbe på. Jeg pleide å jobbe mye med Oracle-utvikling, og å ha flere miljøer med forskjellige versjoner av databasen på forskjellige versjoner av Linux/Windows var fantastisk for rask eksperimentering. Jeg finner den måten å jobbe veldig praktisk på, så egentlig sandboxer jeg hvert klientprosjekt i en VMware-instans.

Chromes Developer Tab er ganske enkelt fantastisk. Jeg kan ikke forestille meg å gjøre webutvikling uten den!

Hva slags oppgaver liker du best å jobbe med?

Jeg synes det er synd at mange moderne utviklere synes å mislike SQL så mye

Jeg liker problemløsing – jeg har alltid hatt et veldig analytisk sinn, så jo mer komplisert jo bedre. Jeg liker å jobbe med data – masse data. Jeg synes det er synd at mange moderne utviklere synes å mislike SQL så mye. Personlig finner jeg det som et godt språk for å jobbe med strukturert data. Jeg har gjort min andel av noSQL-løsninger, og de har sin bruk i mange scenarier – men det utelukker ikke SQL, som fortsatt har sin plass for mange ting også. Generelt liker jeg å jobbe med komplekse systemer, med høy ytelse krav – jeg liker å bli utfordret.

Hvordan sørger du for å holde deg faglig oppdatert?Egentlig søker jeg ikke aktivt ny kunnskap. Jeg er ganske pragmatisk i min tilnærming til utvikling, og jeg tror fortsatt at de grunnleggende prinsippene i programvareutvikling ikke har endret seg veldig mye.

Det jeg gjør er å følge følelsene mine. Hvis noe engasjerer meg, pleier jeg å leke og eksperimentere med den teknologien. Jeg gjør programvareutvikling fordi det er morsomt. Jeg kom aldri inn i utvikling fordi det var en god karriere. Så ny kunnskap har alltid vært et biprodukt av mine interesser.

I hvilken grad har metoder og teknologier som DevOps, nettsky og konteinere endret måten du jobber på?For å være ærlig, ikke veldig mye. Utviklingsprinsippet er fortsatt det samme. I/O er fortsatt den dyreste tingen i et system, og det ligger stadig en fysisk maskin i bunnen – nå bare med et annet abstraksjonsnivå.

Men jeg liker den smidigheten som skyen tilbyr. Selv om jeg tror det er viktig å være kritisk – hvis du har en konstant høyarbeidsbelastning – er sky sjelden lønnsom. Men hvis du har fleksible behov, kan det være fantastisk! Hva jeg liker om DevOps er at det oppfordrer utviklere til å tenke mer om operative aspekter av et system – det er bare en positiv ting. Siloer har aldri gjort noe bra!

Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?

Når du automatiserer tenkning, så er spillet over for kapitalismen

Maskinlæring på kort sikt og kunstig intelligens på lang sikt. Etter min mening vil kunstig intelligens ha en dyp innvirkning på våre samfunn. Jeg tror det vil til slutt drepe kapitalismen, hvis ingenting annet drastisk endrer den. Når du automatiserer tenkning, så er spillet over for kapitalismen.

Hvis det ikke er noe igjen for mennesker å gjøre, så tror jeg at vi må revurdere hvordan vi strukturerer samfunnene våre. Jeg har nettopp lest i dag at Nordea skal gjøre 6000 medarbeidere overflødige ved hjelp av kunstig intelligens og digitale assistenter (jeg føler ikke teknologien er moden nok ennå, og den kyniske i meg mistenker at det bare er en strategi for å gjøre aksjeeierne lykkelige – men det er en annen historie. :D)

Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?Data Science og Machine learning!

Deltar du jevnlig på konferanser?

Ikke egentlig. Jeg går hovedsakelig til NDC nå og da.

Hvilket forhold har du til innebygd personvern?Jeg føler at det er positivt at lovgivningen blir gjort for å beskytte forbrukeren, men jeg tror ikke heller at vi bør være uvitende. Data er penger, og de store aktørene skal nok finne smutthull for å utnytte lovgivningen. Jeg er ganske skeptisk hvis det skal være mulig å håndheve.

Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt?Dessverre ikke.

Hvor mye programmerer du på fritiden?Den kommer og går. For tiden jobber jeg med computer vision i C ++ for moro skyld.

Har du noen (andre) hobbyer?Er veldig glad i fjell og har vært mye på høyfjell i India og Nepal. Synes allemannsretten i Norge er en fantastisk privilegium (finnes ikke i Danmark, men vi har jo ikke noe land!), og har brukt mye tid i telt i Norge – ut på tur aldri sur! I tillegg elsker jeg å reise og har brukt mye tid på backpacking.

Min favorittdestinasjon er og vil være India og har besøkt landet 10+ ganger. Er veldig glad for å fotografere. Min store kjærlighet er svart og hvitt analog fotografi, og elsker å lage portretter. Har tilgang til et mørkerom på Grünerløkka, og tilbringe mye tid der – det er min meditasjon! :)

Hva gleder du deg mest over ved å jobbe som utvikler?Jeg elsker å løse noe komplisert. Og jeg elsker den følelsen når du kan se at programvaren din gjør en forskjell for brukerne.

Opplever du at jobben som utvikler har noen negative sider?Ikke egentlig. Som en hvilken som helst kontorjobb, sitter du ned 8+ timer om dagen, hvilket ikke er spesielt sunt for kroppen din, men det er ikke spesifikt for programvareutvikling :)

Føler at du får den lønnen du fortjener?Jeg klager ikke. :)

Les flere utviklerintervjuer på vår samleside »

Powered by Labrador CMS