Hva er en fullstackutvikler?

Av Weapp · Oppdatert

En fullstackutvikler er en utvikler som jobber i både frontend og backend og kan levere en funksjon hele veien, fra det brukeren ser, til serveren og databasen bak. Styrken er færre overleveringer, noe som gjør rollen verdifull i små team og MVP-prosjekter. Dybdespesialister trengs fortsatt for de virkelig krevende problemene.

Fullstackutvikler er en rolle som stadig etterspørres, men som lett misforstås som et krav om at én person skal kunne alt om alt. Det stemmer ikke helt. Her går vi gjennom hva en fullstackutvikler faktisk er, hvor rollen kommer best til sin rett, og når du likevel trenger rene spesialister.

Hva rollen innebærer

Et digitalt system består grovt sett av to lag. Frontend er det brukeren ser og berører: skjermbilder, knapper, layout. Backend er maskineriet bak: servere, databaser og logikk som får alt til å fungere. Sammen utgjør de «stacken», alle teknologilagene i applikasjonen.

En fullstackutvikler er den som jobber gjennom hele denne stacken. I stedet for bare å bygge grensesnittet, eller bare serverdelen, kan fullstackutvikleren ta en funksjon fra det synlige øverst til databasen nederst. Trenger en ny funksjon både en knapp i appen og logikk på serveren som lagrer resultatet, kan en fullstackutvikler bygge begge delene selv.

Det gjør ikke fullstackutvikleren til en som «kan alt». Det gjør vedkommende til en som kan følge en funksjon hele veien uten at arbeidet må gå mellom ulike personer for hvert steg.

Styrken: færre overleveringer

I et team er den store gevinsten ved fullstackkompetanse at antallet overleveringer går ned. Hver gang arbeid går mellom en frontend- og en backendspesialist, oppstår det venting, misforståelser og koordinering. Den som eier hele flyten, slipper mye av det.

Det merkes særlig i to sammenhenger:

  • Små team. Når gruppen er liten, er det upraktisk å ha én person per lag. Noen få fullstackutviklere som hver for seg kan ta en funksjon hele veien, gir mer levert funksjonalitet per person og lavere indirekte kostnader.
  • MVP-prosjekter. Når målet er å få ut en første fungerende versjon raskt, er tempo alt. En fullstackutvikler kan bygge en hel funksjon (grensesnitt, logikk, lagring) uten å vente på andre, noe som forkorter veien fra idé til et produkt som kjører.

Et konkret scenario

La oss si at en liten bedrift skal bygge en MVP av en bookingtjeneste, med tre personer i teamet. Skal hver funksjon deles opp i en frontenddel og en backenddel som to forskjellige personer bygger, blir det konstant venting og koordinering i et så lite team.

Med fullstackutviklere tar i stedet én person hele «bestill time»-funksjonen: knappen og kalenderen i grensesnittet, sjekken av ledige tider på serveren og lagringen i databasen. En annen tar «betaling» på samme måte. Teamet holder høyt tempo, med få overleveringer, og får ut et fungerende produkt å teste i markedet mye tidligere enn om hver funksjon hadde gått gjennom flere spesialister.

Når spesialister likevel trengs

Her kommer den nøkterne motvekten. Fullstackutviklerens bredde er en styrke, men bredde går på bekostning av dybde. Enkelte problemer krever spisskompetanse som en generalist sjelden oppnår:

  • Avansert sikkerhet og trusselmodellering.
  • Tung ytelsesoptimalisering når et system skal skalere kraftig.
  • Kompleks datamodellering eller spesialisert infrastruktur.

For slikt trengs dybdespesialister som har viet år til akkurat sin del. Mange team ender derfor med en kombinasjon av fullstackutviklere for den brede, daglige flyten og spesialister som kobles inn der problemet virkelig krever slik dybde. Det ene utelukker ikke det andre.

I praksis er de fleste dyktige fullstackutviklere «T-formede»: De har bredde over hele stacken, men også dybdekunnskap på ett område, ofte enten frontend eller backend. Det er verdt å vite for deg som kunde fordi det påvirker hvordan dere setter sammen et team. To fullstackutviklere som heller mot hver sin side, utfyller hverandre bedre enn to som heller mot samme side. Å spørre «hvor har dere dybden?» og ikke bare «kan dere fullstack?» gir derfor et riktigere bilde av hva en gruppe faktisk klarer hele veien ut.

Slik tenker du om bemanning

Ta utgangspunkt i hvor dere står. Et tidlig produkt eller et lite team har som regel mest nytte av fullstackutviklere som kan levere hele veien og holde tempoet oppe. Jo større og mer spesialisert systemet blir, desto mer vokser behovet for spesialister ved siden av bredden.

Vil dere ha et team som er riktig sammensatt for akkurat den fasen dere er i, drøfter vi i Weapp gjerne bemanningen sammen med dere før prosjektet kommer i gang.

Ofte stilte spørsmål

Hva betyr fullstack?

Stacken er alle teknologilagene i en applikasjon, fra grensesnittet øverst til serveren og databasen nederst. En fullstackutvikler jobber gjennom hele denne stacken, både frontend (det brukeren ser) og backend (maskineriet bak). Full stack betyr altså at man behersker hele kjeden, ikke bare en del av den.

Hva skiller en fullstackutvikler fra en frontend- eller backendutvikler?

En frontendutvikler fokuserer på det synlige: skjermbilder, layout og interaksjon. En backendutvikler fokuserer på det usynlige: servere, databaser og logikk. En fullstackutvikler jobber i begge og kan bygge en funksjon fra grensesnitt til database. Spesialisten går dypere på sin del; fullstackutvikleren dekker hele kjeden i bredden.

Når er en fullstackutvikler mest verdifull?

I små team og tidlige prosjekter som MVP-er. Når én person kan ta en funksjon hele veien, blir det færre overleveringer, høyere tempo og mindre koordinering. Der et stort prosjekt krever mange spesialister, kan et lite produkt komme langt med noen få som behersker hele stacken. Bredden er da en direkte styrke.

Trenger man spesialister når man har fullstackutviklere?

Ja, for de mest krevende problemene. En fullstackutvikler dekker bredden godt, men enkelte oppgaver (avansert sikkerhet, tung ytelsesoptimalisering, kompleks datamodellering) krever en dybde som en spesialist har. Mange team kombinerer derfor fullstackutviklere for den brede flyten med spesialister som kobles inn der problemet virkelig krever det.

Er en fullstackutvikler like god på alt?

Sjelden like dyp overalt. Bredde har en pris: Den som dekker hele kjeden, heller som regel litt mer mot enten frontend eller backend og når ikke samme nivå som en ren spesialist på akkurat den delen. Det er ingen svakhet. Styrken ligger i helheten og evnen til å levere hele veien, ikke i maksimal dybde på hvert punkt.