utviklerprofilen

Pavneet har virkelig kjent på hva stresset som utvikler kan føre til

Han deler sin historie for å påpeke at mental helse ikke er nok snakket om bransjen.

Pavneet Singh Saund er utvikler Dolittle. I intervjuet forteller han blant annet om utbrenthet og hvordan han kom seg tilbake på jobb igjen. Bildet er tatt ved Laksforsen i Grane kommune sommeren 2020.
Pavneet Singh Saund er utvikler Dolittle. I intervjuet forteller han blant annet om utbrenthet og hvordan han kom seg tilbake på jobb igjen. Bildet er tatt ved Laksforsen i Grane kommune sommeren 2020.

Pavneet Singh Saund (41) er ukens utviklerprofil. Han jobber som utvikler i Dolittle, en norsk teknologistartup som hjelper andre bedrifter innovere gjennom teknologi.

Kan du kort beskrive stillingen og oppgavene dine?

Den offisielle tittelen min er Senior Frontend Developer i Customer Success/Delivery-gruppen. Som en av dem som har vært med denne startupen fra begynnelsen av, har jeg hatt mange hatter. Jeg trives med både arkitektur, frontend/backend og å jobbe i team.

Én ting som er fellesnevneren for det jeg synes er viktig, er opplevelsen for sluttbrukerne av et system. Derfor er det viktig å forstå hvordan man oppdager og tolker behov fra kunder og brukere, for så å oversette dette til oppgaver, funksjonalitet og til slutt kode. Da er det viktig å bryte dette ned og løse de rette oppgavene på de rette stedene.

Hvorfor valgte du akkurat denne arbeidsgiveren?

Veldig enkelt. Menneskene. Jeg både trives med å jobbe med andre, og opplever

at jeg utretter mer sammen med andre enn alene.

Med Dolittle, fikk jeg mulighet å jobbe sammen med mennesker som har betydd mye for meg gjennom min karriere og som jeg kjenner som dyktige, har mye erfaring og deler mye av det samme verdigrunnlaget. Videre synes jeg reisen selskapet er på er spennende, og jeg får energi av å være med på å bygge en kultur som er transparent og inkluderende.

Å jobbe i en startup er kaos til tider.

Hva kan din arbeidsgiver bli enda bedre på?

Å jobbe i en startup er kaos til tider. Det høres kanskje litt voldsomt ut, men det er ofte slik at det kommer opp situasjoner som gjør at man må hive seg rundt og skifte fokus. Det å være smidig er jo en av styrkene til et mindre selskap, men det kan også være en ulempe hvis man bare hover seg rundt hele tiden. Vi har heldigvis blitt bedre til å håndtere retningsendringer (pivots) uten at det oppleves som vanskelig og kaotisk. Samtidig som kursen blir tydeligere. Men noe armer og bein kan det bli innimellom :)

Hvis du kunne ønske at din arbeidsgiver gjorde noe annerledes – hva ville det være?

Mer åpenhet og deling av våre erfaringer. Gjennom disse årene har vi vært gjennom mye, og jeg tror at dersom selskapet klarer å skape historier fra vår reise, dele mer av våre erfaringer så blir det enklere å artikulere hvem vi er og hva som gjør oss som gruppe unik. Dette er noe som vil hjelpe oss internt og eksternt etterhvert som vi vokser.

Hvilket selskap kunne du aldri ha jobbet for?

Aldri er et sterkt ord. Jeg opplever at kontekst er viktig, og at det ikke nødvendigvis er enkelt å tegne klare linjer rundt det et selskap gjør. Jeg har likevel noen veldig klare personlige preferanser.

Det skal være fokus på mennesker, og de ansatte først. Det skal være et sterkt verdigrunnlag som står sentralt. Det skal være fokus på det store bildet fra selskapets side, og deres rolle i samfunnet. Det skal være et klart syn på etikk, og å verdsette menneskeliv. Videre, er det noen bransjer jeg holder meg unna, for eksempel de som driver med våpen, jobber i gråsoner av loven, og aktivt innhøster og selger menneskers adferd gjennom overvåkingskapitalismen (les Facebook, Google, reklamebedrifter, og så videre).

Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?

Jeg har en del erfaring med hjemmekontor og distribuerte team fra før pandemien slo til. Kanskje 80–90 prosent av min tid var fra hjemmekontoret, mens resten var fra kontoret på Lysaker med et par kundevisitter inn imellom.

Hvordan påvirker koronapandemien din arbeidssituasjon?

Som et selskap som har vokst opp med digitale verktøy, var vi veldig godt rustet for å kunne fungere fra med hjemmekontoret. Det ble for ikke lenge siden også erklært at vi nå skal «embrace remote-working» fremover. Altså at man ikke ser på jobbing hjemmefra som noe man gjør av og til, men heller som standarden. Det åpner opp for at vi kan jobbe med kunder stort sett overalt i Norge og verden, men også at vi kan ansette uten å nødvendigvis sette krav til fysisk lokasjon.

Selv om vi får til alt dette, oppleves det likevel som ensomt og til tider vanskelig.

Men, som en startup som verdsetter samhandling og samarbeid mellom mennesker, legger det også en stor demper på det sosiale. Vi veier opp med å arrangere virtuelle samlinger etter jobb, deler mye mer av våre hverdager med hverandre, bruker tid vekk fra skjermen nå som været er fint, og så videre. Selv om vi får til alt dette, oppleves det likevel som ensomt og til tider vanskelig.

Jeg tror mange kjenner seg igjen i bølgedalene av frihet og fleksibilitet, men også tendenser til stress, depresjoner og dager som går i hverandre.

Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?

Fellesnevneren blant det jeg har jobbet med er «Event Driven Architecture», eller hendelsesdrevet arkitektur. Det er å utforske problemområdene sammen med kunder for å oppdage de viktigste hendelsene i prosessene deres. Disse hendelsene fanges da opp i form av kode i mikrotjenester, som reagerer og utfører det de skal gjøre.

Mitt personlige fokus har da vært å implementere frontends som spiller sammen med disse prosessene. Gjerne fulle vertikaler som kommer sammen i en komposisjon i nettleseren. Dette i tillegg til å være en som har bidratt til oppdagelsesprosessen sammen med kunder og brukere.

Hvor lenge har du jobbet som utvikler?

Siden jeg ble ferdig med utdannelsen, cirka 14 år.

Har du vært ansatt ved samme sted hele tiden?

Nei, jeg har hatt flere roller i forskjellige selskap. For det meste som in-house utvikler, men også litt erfaring i ren konsulentvirksomhet.

Hvor gammel var du da du først begynte å lære deg programmering?

Jeg tror jeg var rundt 9–10 år da jeg oppdaget Paper Boy på pappas 386, og etter hvert var jeg også innom QBasic, men jeg skjønte ikke så mye av det. Jeg hadde også en sommerjobb da jeg var rundt 15–16 år der jeg fikk mulighet å endre og forbedre makroer i MS Access. Det var interessant, men jeg fortsatte ikke med det på fritiden.

Likevel var det ikke før jeg begynte på i min første jobb at jeg lærte å programmere.

Ellers hadde jeg vel et par programmeringsfag som en del av utdannelsen i form av Assembly programmering, samt objektorientert programmering i C og Java. Likevel var det ikke før jeg begynte på i min første jobb at jeg lærte å programmere, og det var min andre jobb i Nordens største ehandelsbedrift at jeg oppdaget webutvikling og å levere løsninger for sluttbrukere.

Hva slags utdannelse har du?

Bachelor i telematikk (elektronikk), master i IKT (sikkerhet/mobilkommunikasjon).

Syns du at du har hatt god nytte av denne utdannelsen?

Utdannelsen i seg selv har jeg ikke hatt direkte bruk for. Hverken bacheloren (elektronikk) eller fordypningen, som er i sikkerhet og mobilkommunikasjon. Når det er sagt, vil jeg ikke påstå at jeg ikke har hatt nytte av selve utdannelsen. Masteroppgaven gjorde at jeg fikk direkte jobbtilbud og startet den første jobben uten å gå gjennom en lang søkeprosess. Videre har den hatt en stor personlig verdi.

Etter en turbulent bachelortid, ble det viktig å gjennomføre masteren på en god måte. Det gav meg både første jobbmulighet, og var en bekreftelse at jeg kan dette. Dette får jeg til.

Det er også tilfeldigheter som gjorde at først jobben ikke var relatert min utdannelse, men heller vinklet mot programmering. Kanskje hadde utdannelsen vært mer relevant om det ikke hadde vært slik?

Hvilke plattformer utvikler du vanligvis for?

Frontender for Web, og backender laget i kryssplattformspråk som etter hvert

kjører i konteinere basert på Linux.

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

Etter å ha vokst opp med Microsoft-plattformer, har jeg nå funnet meg til ro på Apples MacOS. Da jeg tok spranget, var det en markant forbedring fra det jeg opplevde i Windows. Både i form av ytelse og estetikk.

De første årene var litt smertefulle da jeg utviklet løsninger basert på Windows og .NET, før de fikk støtte for kryssplattform. Nå virker plattform/OS mindre viktig. Windows har støtte for Linux subsystem, og Ubuntu og andre Linux-plattformer har fått mer mainstream features. Til slutt blir all koden lastet inn og kjørt på Linux-konteinere og hostet i Kubernetes.

Jeg opplever at TypeScript virkelig hever nivået på koden som skrives for frontend.

Hvilke programmeringsspråk benytter du, hva er favoritten og hvorfor?

Min hverdag består stort sett av å skrive TypeScript med Aurelia, eller React i frontend, noe TypeScript i NodeJS backend, eller C#. Jeg opplever at TypeScript virkelig hever nivået på koden som skrives for frontend. Det gir en mye bedre utvikleropplevelse når man skriver større applikasjoner, eller bruker andre biblioteker. C# er også et språk som er godt å ha med seg på grunn av dets allsidighet. Spesielt med jobben som er gjort med .NET Core, så kan dette kjøres på alle plattformer med meget bra ytelse.

Hvilke to verktøy greier du deg ikke uten, og hvorfor?

Etter at vi har gått over til 100 prosent fjernarbeid, så er samhandlingsverktøy blitt utrolig viktig. Der må jeg trekke frem Miro, som er en «evig canvas» der man kan tegne, drodle, planlegge og oppdage sammen med andre. Det har blitt et av våre standardverktøyer i selskapet.

Det andre er Visual Studio Live Share. Det er fantastisk gøy å kunne skrive kode på en annen persons maskin, rett fra min egen terminal.

Jeg sniker inn et tredje verktøy: nemlig en iPad med penn som har erstattet alle skriveblokkene + gir mulighet å drodle i remote-sesjoner eller være videomøteenheten uunnværlig :)

Hva slags oppgaver liker du best å jobbe med?

Som jeg var inne på tidligere, synes jeg det er utrolig spennende å oppdage og utforske problemområdet sammen med eksperter. Prosessen er både spennende og smertefull. Videre er det gøy å oversette dette til kode der jeg gjerne bruker flere teknikker, som Event Storming eller Event Modelling. Kort fortalt handler dette om å beskrive domenene til kundene i form av hendelser (events), kommandoer og data som flyter gjennom et system.

Det som er ekstra gøy med hendelser, er at det er sterkt knyttet til brukeropplevelsen (UX) gjennom systemet. Det binder sammen designet og systemene som skal utvikles ved å visualisere data over tid.

Jeg har gjort ting som å droppe tabeller i feil database i produksjon.

Kan du dele opplevelsen fra en gang du gjorde en katastrofal feil eller tabbet

deg skikkelig ut på jobb?

Ja, jeg tror mange utviklere vil kjenne seg igjen i at de har gjort endringer som har

ført til nedetid for kundene.

Jeg har gjort ting som å droppe tabeller i feil database i produksjon, eller publisert kode som brekker oppførsel. Den ene gangen endret jeg på en grammatisk feil, men som en annen komponent brukte, noe som igjen førte til nedetid. Det var vanskelig å finne ut av, da det ikke var noen naturlig kobling.

Det var en såkalt «Load Bearing Bug», det vil si en feil som man har bygget annen funksjonalitet på.

Det viktigste med alle de tekniske feilene, er at jeg har vært i organisasjoner der man har fått lov å gjøre feil, og at man stort sett har lært og forbedret feilen slik at det ikke skal skje igjen.

Jeg kan dele en annen historie, der jeg jobbet som teamleder og var del av en større satsing. Det var mange mennesker, team og tjenester som ble utviklet, og det ble gjort under et stort press. Vi nådde våre mål og det ble en vellykket lansering.

Selv om alt gikk bra, opplevde jeg det stresset som svært tungt, og jeg oppdaget at jeg var utbrent.

Selv om alt gikk bra, opplevde jeg det stresset som svært tungt, og jeg oppdaget at jeg var utbrent. Det tok meg cirka 9 måneder å komme meg tilbake i arbeid. Jeg deler dette fordi jeg opplever at mental helse ikke er nok snakket om i bransjen, og det er et høyt press på å levere, samt holde seg oppdatert.

Jeg oppdaget at jeg ikke hadde de nødvendige verktøy og sjekkpunkter i min hverdag for å kjenne igjen at jeg var på vei mot et stup, noe jeg har jobbet med i ettertid. Jeg tror løsningen er forskjellig for alle, men min vei tilbake bestod av å prate med profesjonelle, meditasjon og journaling. Altså refleksjon og perspektiv.

Hvordan sørger du for å holde deg faglig oppdatert?

Det går stort sett etter behov og perioder med interesse. Jeg har tidligere brukt mye tid som leder/deltaker av den lokale brukergruppen Norwegian .NET User Group i Vestfold, blogget en del, samt lent meg tungt på trendene som dukker opp i feeden på Twitter. Etter hvert har jeg en litt mer praktisk tilnærming til ny teknologi der jeg dykker inn ved behov, eller kjører spikes (proof of concepts som kastes bort) i forbindelse med oppgaver gjennom jobben. Ellers blir det en del tid på YouTube :)

Men dette er også et vanskelig tema for noen. Det er en oppfatning i vår bransje at man må holde seg faglig oppdatert for å være relevant, og det er jo tilfelle hvis man skal være ledende i sitt felt.

For konsulenter er det alltid den siste teknologien som er best. For in-house-utviklere er det den mest stabile som gjør at de kan sove godt om natta. Det er en forenkling, men det bærer med seg et snev av sannhet. I Stack Overflows årlige utviklerundersøkelse, er det fortsatt jQuery som er rangert som webteknologien som er mest brukt. En teknologi som er 14 år gammel, altså.

For konsulenter er det alltid den siste teknologien som er best. For in-house- utviklere er det den mest stabile som gjør at de kan sove godt om natta.

Det er litt illustrativt at selv om det er høy fart på teknologier, så lønner det seg å lære prinsipper også. Design-patterns i C#, kan også brukes i Java. Lærer man å utvikle gode frontender i for eksempel Aurelia, kan prinsippene overføres til Angular, Vue eller React. Det vil selvsagt være forskjeller, og nyanser, men prinsippene er jo stort sett de samme. Alt kompileres til slutt til HTML, JavaScript og CSS og kjører på web standarder som alle kan lære seg.

I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?

Nettsky og Konteinere har virkelig gjort moderne arkitektur tilgjengelig for alle. Jeg husker en gang vi hadde et tre sider lang installasjonsdokument med subdokumenter, som måtte følges helt riktig for å kunne sette opp det lokale utviklingsmiljøet. Det var så lett å bomme og ende med å starte på nytt.

Nå kan jeg kjøre en enkel kommando og ha en fullt mikrotjenestemiljø kjørende med flere titalls distribuerte systemer på min laptop. Én kommando til og det er borte, uten at noe software er installert.

I tillegg vet jeg at systemet kommer til å oppføre seg på samme måte i alle miljøer (Dev, Test og Prod). Det DevOps virkelig gjorde for meg, er å virkelig avslutte feedback-loopen. Det handlet ikke bare om å være smidig under utvikling, men også hele veien ut ved å få bekreftet at det man bygger faktisk har verdi for sluttbrukere. Det gjorde også at jeg som utvikler ville vite mer om det som drev forretningsbehovene, noe som igjen fører til bedre kode og sluttopplevelser for kunder. Bøker som Unicorn Project og Accelerate er utrolig inspirerende og anbefales!

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

Jeg mener fjernjobbing har kommet for å bli, og det er noe som enhver utvikler og organisasjon må forholde seg til. Men det krever ofte mer av den enkelte å ta litt eierskap over sin hverdag, samtidig som organisasjonen tilrettelegger for det.

I tråd med smidig og DevOps-tankegang så går mye av dette hånd i hånd. Er teamene autonome nok til å gjøre jobben sin uten å vente på andre? Klarer bedriften å artikulere sin visjon og mål på en måte at det motiverer de ansatte? De som klarer det sosiotekniske (sosiale & tekniske), tror jeg vil ha stor fordel fremover.

Det er noe fantastisk som skjer når man kan presentere data på en måte som gjør at brukerne av et system får nye innsikter.

Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?

Definitivt maskinlæring/AI og datavisualisering. Det er noe fantastisk som skjer når man kan presentere data på en måte som gjør at brukerne av et system får nye innsikter. Når man da kan koble på maskinlæring for å bygge inn oppførelser og hjelpe ekspertene enda mer, så får programvaren virkelig verdi.

Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?

Jeg har deltatt på en del konferanser tidligere, med NDC som den store. De siste årene, har det vært litt mindre, og med pandemien så har det stoppet helt opp for min del.

For meg er noe av det viktigste med konferanser vært «hallway-tracken». Det vi si alle samtaler man har mellom de forskjellige sporene, der man forveksler erfaringer, blir kjent med nye mennesker og får tips om både teknologier og andre framgangsmåter.

Jeg har også deltatt som foredragsholder noen ganger, og da får man ofte anledning å bli kjent med andre foredragsholdere på en unik måte.

Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?

Det meste av kildekoden til Dolittle ligger på åpne GitHub-repositories, mens kundeprosjektene stort sett ligger i private organisasjoner. Jeg har ikke vært en aktiv bidragsyter til åpen kildekode-prosjekter, annet enn feedback, dokumentasjon og bug-rapporter som naturlig oppstår løpet av en arbeidsdagen.

Hvor mye programmerer du på fritiden?

Ikke så mye. Jeg gjorde definitivt mer av det tidligere i karrieren, men i det siste har familie og andre aktiviteter tatt mer plass. Tidvis kan et tema vokse seg såpass stor at jeg bruker tid også utenfor arbeidstiden på å utforske det. Andre ganger bruker jeg heller tiden på å lese om prosess, kultur og hvordan andre løser sine utfordringer.

Generelt tror jeg det er viktig å koble av og få inntrykk og erfaringer utenfor faget, både i form av annen læring, men også avkobling. Det hjelper når jeg skal tilbake til koden ved å gi perspektiv og minner om det store bildet. Det kan også være kilde til inspirasjon og innovasjon.

Har du noen (andre) hobbyer?

Jeg liker å løpe, lese / lytte til bøker og å spille litt musikk innimellom. Jeg bruker også en del tid på å skrive, eller journaling, som har blitt like mye terapi, som hobby. Det resulterer i en og annen bloggpost også :)

Har man det gøy mens man jobber, får ofte brukerne og kundene gode løsninger.

Hva gleder du deg mest over ved å jobbe som utvikler?

Jeg elsker å se at løsningene jeg lager eller bidrar til, hjelper sluttbrukere å gjøre sin jobb enklere, og organisasjoner å nå sine mål. Og så synes jeg det er viktig å jobbe sammen med andre for å gjøre det. Har man det gøy mens man jobber, får ofte brukerne og kundene gode løsninger.

Opplever du at jobben som utvikler har noen negative sider?

Det er en tendens å se på utviklere som en ressurs som skal bare gjøre sin del i et større maskineri. Å jobbe i såkalte «feature factories», der man som utvikler kun skal forholde seg til en oppgave i form av en «user story» eller kravspesifikasjon, og at du skal fortest mulig kverne ut kode som tilfredsstiller den spesifikasjonen.

For meg er det lite givende, og jeg opplever at det dessverre er veldig vanlig. Det kan også oppleves som vanskelig for noen å finne sin plass i bransjen, spesielt for kvinner og andre marginaliserte grupper. Det er mulig at dette er et mindre problem i Norge enn andre steder i verden, men det er fortsatt rom for forbedring også her.

Hva er det beste frynsegodet du får på jobben?

Mennesker som ser deg, løfter deg opp og jobber for å oppnå noe større enn deg selv.

Nevn et frynsegode du savner!

Jeg ville jeg satt stor pris på øremerket tid/penger for å trene i arbeidstiden. Det hadde bidratt veldig på tidsklemma. Det finnes flere eksempler på selskap som gjør dette i dag.

Du finner mange flere utviklerintervjuer på vår samleside »

Powered by Labrador CMS