Kjapp fiks tok ned produksjon: «Noe av det mest utfordrende jeg har opplevd»

Ukas koder, Tanusan Rajmohan i Capgemini, mener det for ofte utvikles "quick fix"-løsninger som ikke er designet for å holde over tid.

Tanusan "Tanu" Rajmohan er seniorkonsulent i Capgemini. 📸: Privat
Tanusan "Tanu" Rajmohan er seniorkonsulent i Capgemini. 📸: Privat Vis mer

Hvorfor ble du utvikler? 👶

Min interesse for teknologi startet tidlig, da jeg ble fascinert av å se min onkel arbeide med datamaskiner. Denne nysgjerrigheten vokste over tid, og jeg begynte raskt å utforske mer på egen hånd. Etter hvert ble jeg den naturlige IT-supporten for både familie og venner, noe som forsterket min lidenskap for teknologi.

Valget om å studere et IT-relatert fagfelt var derfor enkelt. Jeg startet med IT1 og IT2 på videregående skole, hvor jeg raskt oppdaget at dette var noe jeg både likte og mestret. Deretter valgte jeg å studere Informatikk: Programmering og Nettverk, som ga meg en grundig introduksjon til dataverdenen.

«Masterstudiet åpnet raskt dører for meg.»

Dette vekket en enda dypere interesse, som førte meg videre til en mastergrad i Informatikk: Programmering og Systemarkitektur. Gjennom masterstudiet fikk jeg muligheten til å fordype meg i programmering, samtidig som jeg utviklet en sterk interesse for IT-sikkerhet og systemarkitektur, spesielt hvordan ulike systemer er integrert og kommuniserer med hverandre.

Masterstudiet åpnet raskt dører for meg, og jeg fikk muligheten til å gjennomføre to sommerinternships hos Capgemini, hvor jeg jobbet som utvikler. I dag er jeg ansatt i selskapet, hvor jeg kombinerer min rolle som utvikler og People Manager, og fortsetter å bygge videre på min faglige utvikling innen både teknologi og ledelse.

Hva jobber du med? 💪

I min daglige arbeidshverdag jobber jeg med frontend-rammeverket Angular, samt TypeScript, .NET og C#. Mine hovedoppgaver består i å vedlikeholde og videreutvikle systemene og nettsidene til Norwegian.no.

Rollen min har utviklet seg fra å håndtere mindre oppgaver og eksperimentere med nye løsninger til å ta et større ansvar, blant annet i beslutningsprosessen rundt hva som publiseres ved slutten av hver sprint. Dette har gitt meg en bredere forståelse av systemets helhet, fra utvikling til leveranse, samt innsikt i andre tilknyttede systemer utover frontend.

I min nåværende rolle har jeg både et teknisk ansvar, der jeg leverer kode og bidrar til utviklingen, men også en mer veiledende funksjon. Jeg bistår kollegaer gjennom coaching, samarbeid og kodegjennomgang, for å sikre kvalitet og effektivitet i leveransene.

Hjemmekontor-oppsettet. 📸: Privat
Hjemmekontor-oppsettet. 📸: Privat Vis mer

Jeg er en strukturert og ryddig person, og legger stor vekt på å opprettholde en bærekraftig kodebase. Dette innebærer å kontinuerlig rydde opp i koden, oppdatere versjoner og minimere teknisk gjeld, slik at vi sikrer et fremtidsrettet og vedlikeholdbart system.

Hvordan ser uka ut for deg? 📆

En typisk arbeidsuke for meg innebærer én til to dager med hjemmekontor når dette er mulig, mens resten av tiden tilbringes på kontoret. Jeg foretrekker å starte arbeidsdagen tidlig og er ofte på plass rundt kl. 07.00 eller tidligere.

Vår arbeidsflyt inkluderer faste ukentlige møter for å gjennomgå prosjektstatus, diskutere nye saker og sikre at teamet har klare oppgaver samt overholder fastsatte deadlines. Vi gjennomfører en felles stand-up for front-end-teamene (web, mobil og tredjepartsintegrasjoner), i tillegg til mindre stand-ups spesifikt for web-teamet, som jeg er en del av.

Videre deltar jeg i release-møter, hvor jeg er med på å koordinere hvilke endringer som skal fases inn i ulike perioder, tidspunkt for produksjonssetting, samt at vi har kontroll på testingen før lansering. I rollen som Deployment Coordinator for kunden har jeg også ansvar for selve prosessen med å implementere nye funksjoner og feilrettinger i produksjonsmiljøet.

Kontorplassen på jobben. 📸: Privat
Kontorplassen på jobben. 📸: Privat Vis mer

I tillegg til disse tekniske ansvarsområdene har jeg også en rolle innen personaloppfølging. En del av min tid går med til å støtte kollegaer, svare på spørsmål og sikre at teamet fungerer godt både faglig og sosialt.

Jeg har et sterkt fokus på å bidra til et positivt og produktivt arbeidsmiljø hvor teamet presterer optimalt og trives i arbeidshverdagen.

Hva er det neste du har lyst til å lære deg eller bli bedre på? 🧠

Jeg har et sterkt ønske om å få en dypere forståelse av arkitekturen i IT-systemer og hvordan ulike komponenter samhandler og kommuniserer.

Som en relativt ung profesjonell i IT-bransjen er min nåværende tilnærming å lære så mye som mulig på tvers av ulike områder for å bygge en bredere forståelse. Spesielt ønsker jeg å utvikle mer kunnskap innen sikkerhet og forstå hvordan jeg som utvikler kan bidra til å skape sikrere og mer robuste løsninger – både for brukerne og systemene vi utvikler.

I tillegg ønsker jeg å styrke mine evner innen kunnskapsdeling og teamledelse. Jeg trives godt med å arbeide i team og ser verdien av å kunne motivere og veilede andre.

På sikt kan jeg også se for meg en rolle hvor jeg får muligheten til å lede et team og videreutvikle mine People skills. Jeg mener at suksess oppnås gjennom samarbeid, og at et godt fungerende team er avgjørende for å skape gode resultater. Derfor ønsker jeg både å forbedre mine egne kommunikasjonsferdigheter og bidra til å styrke samarbeidet i teamet, slik at vi jobber mot felles mål på en effektiv og strukturert måte.

Hva er den mest utfordrende situasjonen du har stått i? 👀

En av de mest utfordrende situasjonene jeg har opplevd var da jeg ved et uhell tok ned produksjonsmiljøet, etter at en tilsynelatende enkel "quick fix" resulterte i nye uforutsette problemer.

Selve feilen i seg selv var ikke nødvendigvis komplisert, men tidsaspektet – å identifisere hva som gikk galt og raskt implementere en løsning – gjorde situasjonen krevende.

I tillegg vil jeg si at en av de mer utfordrende aspektene for utviklere generelt er å sette seg inn i nye prosjekter eller å håndtere flere parallelle prosjekter samtidig. Kontekstswitching kan være krevende, og det krever både struktur og tilpasningsevne for å opprettholde effektivitet og kvalitet i arbeidet.

Hva ser du på som bransjens største utfordring akkurat nå? 🔭

For øyeblikket vil jeg si at en av de største utfordringene i bransjen er mangel på prosjekter. Det er færre tilgjengelige oppdrag sammenlignet med antallet utviklere, og jeg hører stadig om flere som sliter med å finne jobb eller sikre nye prosjekter.

Når det gjelder mer tekniske utfordringer, er teknisk gjeld en betydelig problemstilling. Det utvikles ofte "quick fix"-løsninger og generelle implementasjoner som ikke er designet for langsiktig bruk.

Selv om disse løsningene ikke nødvendigvis skaper umiddelbare problemer, vil de over tid akkumulere teknisk gjeld, noe som kan føre til større utfordringer og økt vedlikeholdsarbeid.

"Team of the year". Fra en kåring på fagdagen til Capgemini. 📸: Privat
"Team of the year". Fra en kåring på fagdagen til Capgemini. 📸: Privat Vis mer

I tillegg til teknisk gjeld stilles det stadige krav til nye løsninger og redesign, noe som kompliserer balansegangen mellom å vedlikeholde eksisterende systemer og samtidig gjennomføre forbedringer. Dette skaper en kompleksitet i utviklingsprosesser hvor det er viktig å finne en bærekraftig tilnærming til både innovasjon og vedlikehold.

Hva er ditt beste tips til andre utviklere? 🤖

Mitt beste tips til andre utviklere er å tenke langsiktig – både i kode, teamarbeid og personlig utvikling.

  • Prioriter god kodekvalitet og reduser teknisk gjeld - Det kan være fristende å lage raske løsninger for å møte tidsfrister, men teknisk gjeld bygger seg raskt opp og kan bli en stor byrde over tid. Ta deg tid til å skrive ren, vedlikeholdbar og godt dokumentert kode. Bruk kodegjennomganger, enhetstester og automatiserte verktøy for å sikre kvalitet. Husk at god kode ikke bare fungerer i dag, men er lett å forstå og endre i morgen.
  • Frem teamarbeid og del kunnskap - Et sterkt team presterer bedre enn enkeltutviklere som jobber isolert. Del kunnskap, veiled og lær bort – det gjør både deg og teamet sterkere. Oppmuntre til åpen kommunikasjon, kodegjennomgang og felles problemløsning. Det handler ikke bare om hva du selv leverer, men hvordan teamet som helhet utvikler seg.
  • Ha en balanse mellom innovasjon og vedlikehold - Teknologi utvikler seg raskt, og det er viktig å holde seg oppdatert på nye metoder og verktøy. Samtidig bør man ikke alltid hoppe på det nyeste uten en klar strategi. Finn en balanse mellom å forbedre eksisterende systemer og implementere nye løsninger på en bærekraftig måte.
  • Tenk helhetlig – systemarkitektur og sikkerhet er like viktig som funksjonalitet Forstå hvordan systemene du jobber med henger sammen, og hvordan valg du tar påvirker både ytelse, sikkerhet og vedlikeholdbarhet. Ta ansvar for mer enn bare din egen kode – ha en arkitektonisk tilnærming der du ser helheten og sikrer at løsningene skalerer godt over tid.

Ved å kombinere kodekvalitet, godt teamarbeid og en strategisk tilnærming til teknologi, sikrer man ikke bare gode leveranser på kort sikt, men også at teamet vokser og lykkes sammen over tid.