Identitets­krise i frontend­-utvikling

Må man kunne alt i 2019? - Viktig å annerkjenne hverandres fokusområde, mener utvikler Mikael Brevik.

Utviklerne Mikael Brevik og Kristian Selnæs tror ikke frontendutviklere trenger å kunne alt om CSS og HTML. Maximilian Øystå Lloyd påpeker at JavaScript er mer gøy enn CSS og HTML fordi det er større utfordringer. 📸: Wil Lee-Wright, Kristian Selnæs, Ole Petter Baugerød Stokke
Utviklerne Mikael Brevik og Kristian Selnæs tror ikke frontendutviklere trenger å kunne alt om CSS og HTML. Maximilian Øystå Lloyd påpeker at JavaScript er mer gøy enn CSS og HTML fordi det er større utfordringer. 📸: Wil Lee-Wright, Kristian Selnæs, Ole Petter Baugerød StokkeVis mer

Man kan få inntrykk av at frontend-utvikling er i en slags identitetskrise om dagen. I hvert fall om man skal tro kjendisutvikler Chris Coyer, som står bak meningsinnlegget The Great Divide på CSS-Tricks.com.

I innlegget beskriver Coyer en splittet frontend-bransje, hvor utviklere som fokuserer på tradisjonelle webkunnskaper som CSS og HTML krasjer med moderne utviklere som helst bare skriver JavaScript.

Coyer fremhever altså at HTML og CSS tar baksetet for JavaScript i en moderne frontend-diskusjon, og nevnes hovedsakelig i samtaler om statiske sidegeneratorer og CSS-i-JavaScript.

Med fremveksten av JavaScript-rammeverk som Angular og React har nemlig utviklere fått større anledning å distansere seg fra HTML og CSS.

Men er egentlig dette et problem i norsk utviklerbransje? Er det slik at utviklere bare vil skrive JavaScript, og har glemt CSS og HTML? alle frontend-utviklere være gode i CSS og HTML? Skal all CSS skrives i JavaScript i 2019? Og er det slik at nyutdanna utviklere ikke lærer om CSS og HTML?

Må være like gode

- Hos oss må frontend-utviklere være like gode på CSS og HTML som på JavaScript, forteller Kristian Lier Selnæs, senior systemutvikler i Kantega.

En god forståelse for HTML og hvordan man skal bruke de forskjellige elementene, forenkler nemlig arbeidet med å gjøre nettsider universelt utformet og responsive, ifølge Selnæs.

Selnæs trekker for eksempel fram bruk av button-elementet for å sikre at tastaturnavigasjon fungerer riktig.

Men selv om frontend-utviklere bør beherske CSS og HTML, forteller Selnæs i Kantega at praksis varierer fra prosjekt til prosjekt.

Det er ingen fast mal på om CSS skal skrives i JavaScript med Styled Components, eller for seg selv med preprosessorer som Sass, forteller han. Og selv om det hovedsakelig er frontend-utviklerne som skriver CSS, har Kantega også prosjekter hvor designere skriver HTML og CSS.

«Ikke alle frontend-utviklere trenger å være eksperter i HTML.»

Ikke én type frontendutvikler

Mikael Brevik, som står bak podcastene BartJS og Kortslutning og til daglig jobber i konsulentselskapet Variant, minner om at frontend-feltet er bredt.

Og hvorvidt en frontend-utvikler er god i CSS eller ikke, impliserer at det kun finnes én type frontend-utvikler.

Mikael Brevik står bak utvikler-podcastene BartJS og Kortslutning. 📸: Wil Lee-Wright / Trondheim Developer Conference 2018
Mikael Brevik står bak utvikler-podcastene BartJS og Kortslutning. 📸: Wil Lee-Wright / Trondheim Developer Conference 2018 Vis mer

- Frontend er et bredere felt som spenner over forskjellige disipliner, noe det også må være rom for. Det finnes frontend-utviklere som vil være gode i CSS og som jobber mye med det. Der forventer vi i alle fall at de har et ønske om å gjøre det bra, og lære mer, forteller Brevik til kode24.

- Ikke alle frontend-utviklere trenger å være eksperter i HTML, men vi vil gjerne ha noen som er ekspert i HTML, forteller han.

Voksesmerter

Brevik i Variant tror mange av diskusjonene rundt hva en frontend-utvikler skal kunne har å gjøre med voksesmerter og uenigheter. Frontend blir nemlig tatt på alvor nå, og vi får stadig mer komplekse måter å lage nettsider og applikasjoner på, forteller han.

- Flere og flere folk fra forskjellige bakgrunner kommer til frontend og jobber aktivt med å prøve å forbedre det fra sin side. Fra nettleser-API-er til rammeverk og tooling, forteller Brevik.

- Det blir ekstra uenigheter dersom vi antar at alle har samme behovene og prøver å løse de samme problemene.

- Det er folk som skriver nærmest «backend i nettleseren», for eksempel applikasjonsutvikling, som ser sine utfordringer med det og utforsker forskjellige løsninger der. Og så er det de som kommer fra ren CSS og JavaScript som ser på det som overkomplekst fra sitt perspektiv, sier Brevik.

- Og så har man personer i alle deler av spekteret i mellom. Alle er korrekte i og for seg, det kommer bare an på hvilket problem man skal løse. Og det er rom for alle tilnærmingsmåter i frontend og i utvikling generelt.

«Det må alltid være slik at behovene bestemmer teknologien, ikke at teknologien bestemmer behovene.»

Behov bestemmer teknologi

At det finnes ett riktig svar på fremgangsmåten man skal velge for CSS og JavaScript-jobbing i framtida, tror Brevik er en bommert.

- Det må alltid være slik at behovene bestemmer teknologien, ikke at teknologien bestemmer behovene, forteller han.

- Det finnes prosjekter hvor «CSS in JavaScript» gir mening. Gjerne i store applikasjoner hvor meste av implementasjonen skjer i nettleseren, tidligere gjerne referert til som Single Page Applications. Samtidig finnes det mange systemer eller nettsider hvor det ikke er hensiktsmessig i det hele tatt. En viktig del av å være utvikler er å kunne vurdere situasjoner og ta valg til hva som passer. En del av de vurderingene er også teamsammensetning.

Selnæs i Kantega forteller at i prosjekter hvor designere skriver deler av CSS-koden blir man enig om hvordan man skal skrive og strukturere CSS-koden, så det ikke blir et problem å samarbeide.

- Når frontend-feltet vokser er det ekstra viktig å anerkjenne hverandres fokusområde og stole på hverandres kompetanse, forteller Brevik, som tror det blir viktigere å ha god kommunikasjon framover.

Lite CSS og HTML i studier

Både Kristian Selnæs og Mikael Brevik tror kunnskapen rundt CSS og HTML har økt for utviklere de siste årene.

- Det er større bevissthet i dag på skillet mellom frontend- og backend-utviklere. De som betrakter seg som frontend-utviklere har gjerne bedre kunnskap om HTML og CSS nå enn for fem år siden, forteller Selnæs i Kantega.

- For fem år siden var det få som så på seg selv som frontend-utviklere. Vi merker også at det er færre som «skyr unna» frontend i dag, enn for en del år siden, fortsetter han.

Mikael Brevik forteller at selv om studier har mer fokus på CSS og HTML i dag, er det fremdeles ikke godt nok.

- Etter min erfaring fra NTNU er det fremdeles ikke godt nok fokus på det. Jeg tror ofte utdanningsinstitusjoner ikke anerkjenner CSS og HTML som en disiplin, og det kan bli satt som en periferikunnskap, forteller han.

- Dette var ikke bra nok for fem år siden, og slik jeg ser det: Fortsatt ikke.

«Jeg tror ofte utdanningsinstitusjoner ikke anerkjenner CSS og HTML som en disiplin.»

Lav skillcap

18 år gamle Maximilian Øystå Lloyd, som kode24 nylig intervjuet om sin utviklerkarriere, forteller at CSS og HTML var morsomt i starten, men at «skillcappen», eller kunnskapstaket, er relativt begrenset.

Maximilian Øystå Lloyd brant skolebøkene og begynte å jobbe som utvikler. 📸: Privat
Maximilian Øystå Lloyd brant skolebøkene og begynte å jobbe som utvikler. 📸: Privat Vis mer

- Etterhvert har det blitt noe som bare må gjøres, og er mer repeterende enn vanskelig, forteller han.

- Jeg liker mer å jobbe med JavaScript, bare av det faktum at det har betydelig høyere skillcap.

- I dag vil jeg se på meg selv mer som en «ingeniør», hvis man kan kalle det det. Jeg fokuserer på strukturen til prosjektet, og bruker det som gjør jobben på best og mest effektiv måte.