Mitt navn er Casper Feng og jeg studerer Datateknologi ved NTNU i Trondheim med spesialisering i programvareutvikling.
Ved siden av studiet har jeg erfaring fra internships, deltidsjobber, verv og hobbyprosjekter. For tiden er jeg sisteårsstudent og partner i studentkonsulentselskapet Junior Consulting. Relevante jobber og verv er ikke bare god cv-mat - det gir også kunnskap og erfaring som man får nytte av ute i arbeidslivet.
I denne artikkelen skal jeg fortelle om fire ting jeg har måttet lære meg utenom studiet.
Sånn bygger NTNU-studenter selvkjørende racer-elbiler
#1. Det er stor forskjell mellom hvorfor og hvordan!
Du har sikkert hørt dette tusen ganger før, men det er sant og det er viktig!
Underveis i studiet lærer man ofte mye om teoretiske konsepter og hvorfor noe bør gjøres, mens man i verv og deltidsjobber lærer mer om hvordan noe faktisk gjøres.
Selv med teoretisk kunnskap innen programvarearkitektur er det noe helt annet å faktisk gå fra teori til implementasjon.
#2. Infrastruktur, testing og sikkerhet er ekstremt viktig
På skolen er det ofte fokus på at løsningene man utvikler skal fungere som ønsket, men man møter sjeldent utfordringer knyttet til for eksempel skalerbarhet eller beskyttelse av sensitiv informasjon.
I mange tilfeller skal prosjektene man jobber på benyttes av en form for kunde eller forbruker. Og bedrifter kan være avhengige av løsningene for den daglige driften.
Om løsningen er treig, blir utilgjengelig eller informasjon lekker ut kan det føre til store konsekvenser.
AI-miljøet i Trondheim vokser: - Studentene ser verdien
For å unngå dette er infrastruktur, testing og sikkerhet ekstremt viktig og det er med god grunn at man kan bygge en hel karriere innen en eller flere av disse feltene.
#3. Sett deg raskt inn i eksisterende kode
Når det kommer til å jobbe med kode så er man svært sjeldent heldig nok til å begynne helt fra scratch i såkalte greenfield prosjekter (med mindre man grunnlegger sin egen startup).
Man har ofte en eksisterende kodebase og tidligere valg å forholde seg til.
Å raskt kunne sette seg inn i andre sin kode er derfor en svært nyttig egenskap som man sjeldent setter pris på under studiene.
Dette blir man ofte bedre på jo flere og mer varierte prosjekter man jobber med.
Ikke minst er det viktig at man selv er en forkjemper for god og tydelig dokumentasjon. Dersom man mestrer dette kan man lett implementere endringer eller ny funksjonalitet til en eksisterende kodebase uten å kjenne til alle best practices til programmet man jobber med.
#4. Du kan ikke gjøre alt selv
Det er ikke uvanlig at man i skoleprosjekter har gruppemedlemmer som bidrar i varierende grad.
Dette kan komme av flere ulike grunner, men dersom noen drar lasset kommer man seg som regel i mål.
Når det kommer til arbeidslivet er prosjektene som regel mer omfattende. Det finnes kun et satt antall timer i døgnet, og todo-lista kan vokse uendelig.
Møt Android-utvikleren som lagde harmannenfalt.no
Man er avhengig av at hele teamet bidrar og samarbeid er essensielt for å kunne levere en løsning av høy kvalitet innen den gitte tidsrammen. Teamet må ha en felles forståelse av hvilke oppgaver som skal utføres, og hva som inngår i disse.
En ting er å vite hvordan noe skal gjøres selv, men det er minst like viktig å kommunisere dette tydelig innad i teamet for å unngå misforståelser. Det å gi slipp på oppgaver og klare å delegere er noe som er mye vanskeligere enn man skulle tro, men er også ekstremt lærerikt, tillitsbyggende og bidrar til teamets effektivitet.
Det er også lite som er like givende som å jobbe på et stort og velfungerende prosjekt.