Vegar bruker ikke AI i editoren, og mener du bør prøve det samme

– AI-koding er en ting fordi utviklere liker å prøve å gjøre ting enklere, ved å faktisk gjøre dem vanskeligere, skriver Vegar Norman, og maner til deeskalering.

– Jeg har ingen AI i editoren min fordi jeg prøver å de-eskalere. Så enkelt er det faktisk, skriver Vegar Norman, her på scena under siste kode24-dagen. 📸: Shawn Arvind
– Jeg har ingen AI i editoren min fordi jeg prøver å de-eskalere. Så enkelt er det faktisk, skriver Vegar Norman, her på scena under siste kode24-dagen. 📸: Shawn Arvind Vis mer

For ikke så veldig lenge siden var det et spørsmål på kode24-klubben om hvilke editorer folk liker å bruke når de koder, så jeg svarte som sant er: VS Code på jobb, Sublime Text på privaten.

Spørsmålet tilbake var omtrent som forventet, fordi det var en del av den opprinnelige posten: Bruker du ikke Copilot eller andre AI-verktøy, bare godt gammeldags håndverk?

Nei, det gjør jeg ikke.

Hvorfor ikke?

Fordi generativ AI bare er nok et tilskudd på lista over verktøy vi rett og slett ikke trenger for å lage gode løsninger for brukerne våre.

AI er eskalering

Mine meninger om AI er for øvrig godt kjent. Jeg har skrevet i kode24 om AI tidligere, og mitt inntrykk og syn på AI i teknologi har i grunn bare blitt verre siden den gang.

Mens teknologimiljøene går i ring rundt AI og messer lovord som om det var en forgylt kalv, sitter jeg med min plain-ass kodeeditor som ikke har noe mer spennende ved seg enn syntax highlighting for språket jeg skriver.

Interessant nok handler det ikke egentlig om AI for meg, men heller den retningen teknologien har tatt for oss som er teknologer de siste årene.

Jeg har sett det spesielt tydelig for oss som jobber med frontend-utvikling, og AI er egentlig bare siste tilskudd i rekken av symptomer på det jeg vil kalle eskalering.

«For hvert år som går eskalerer vi bare mer og mer. Ikke fordi det gjør det lettere for oss selv.»

Masse ny teknologi

Eskalering har vi hatt fryktelig mye av i frontend-landskapet de siste årene. Fordi teknologien angivelig ikke er rask nok, god nok, bra nok, så lager vi en masse ny teknologi, nye verktøy og rammeverk som skal gjøre det bedre.

Vi har laget React og Angular og Vue og Svelte og en masse andre rammeverk fordi vanlig HTML, CSS og JavaScript var for ineffektivt.

Vi har hatt Grunt og Gulp og Webpack og Rollup og Vite fordi vi aldri blir fornøyde nok med hvordan vi bygger applikasjonene vi lager.

Vi har innført Recoil og Redux og Immer og Context fordi dataflyt i applikasjonene våre bare skal strømme én vei og det er fryktelig vanskelig å få til. Vi peiser inn styled-components fordi cascaden i CSS er for komplisert å forstå seg på.

For hvert år som går eskalerer vi bare mer og mer. Ikke fordi det gjør det lettere for oss selv. Ikke fordi det gjør det lettere for nye folk som kommer inn. Ikke fordi det gjør koden mer forståelig.

Men fordi det angivelig er mer effektivt og fordi ny teknologi er spennende og viktig å teste ut og sånt.

Du vet, sånne kule greier som det står i alle stillingsannonsene at vi må brenne for og være lidenskapelige over.

Med andre ord: Kodeord for at dette må vi være villige til å legge ned massevis av tid og krefter på bare for å få et løst grep om omfanget.

AI ble svaret

Og nå sitter vi der, da, med førti tusen pakker som vi ikke aner hva egentlig gjør i lockfila vår og en byggetid på fem minutter for å produsere en webside, kanskje et skjema eller to.

Ett eller annet sted på veien har vi blitt så svimle og mistet følelsen i både armer og bein og klarer ikke lenger å se at det vi gjør nå, det er bullshit. Rett og slett, bullshit.

Og til slutt ble det så komplisert at noen fant ut at generativ AI var svaret på de problemene utviklere sitter med i dag.

Vet du ikke hva du holder på med i kodebasen din? Ble du kastet inn i et nytt prosjekt der hverken du eller noen av de andre som jobber på det har hundre prosent kontroll over hva som foregår?

Prøv Copilot eller ChatGPT eller Claude, da vel!

Dans rundt den forgylte kalven du også, og ditt beger vil flyte over av hallusinasjoner og hjelpe deg med å gjøre applikasjonen din bedre! Du kommer fremdeles ikke til å forstå hva som foregår, men kanskje den mellomlederen som hvisker ting i øret ditt om OKRer og sprintdemoer blir fornøyd bare du greier å lukke taskene dine i JIRA i god tid!

Hvem trenger vel forståelse og integritet når du bare kan trykke på noen knapper, så lager hallusinasjonsgeneratoren det du trenger!

Skapte selv behov for AI

Om du virkelig har eskalert dit at du ikke klarer deg uten AI i editoren din, så har du eskalert for mye. Da er det på tide å de-eskalere.

Trenger du egentlig å gå for en ikke-standard pakkemanager fordi npm er "for treigt"?

Trenger du egentlig scoped styling når du bare kan skrive vanlig CSS (for det kan du, så lenge du ikke skriver CSS som en geit på bærtur)?

Må du egentlig skrive de kjempekompliserte typene i TypeScript som pusler sammen to-tre forskjellige andre typer og legger til et felt her og et felt der?

Trenger du alle disse verktøyene og rammeverkene? Trenger du et rammeverk i det hele tatt? Må vi virkelig gjøre ting så vanskelig bare fordi det er gøy å gjøre ting vanskelig? Trenger det være så himla komplisert?

Og om det ikke var så himla komplisert, hadde du hatt behov for en AI-assistent i editoren din for å gjete deg gjennom arbeidsdagen?

Sannsynligvis ikke.

«Og om det ikke var så himla komplisert, hadde du hatt behov for en AI-assistent i editoren din for å gjete deg gjennom arbeidsdagen?»

Dropp AI i editoren

Innen jeg har skrevet ferdig dette kommer det til å stå en kø av folk på døra mi for å fortelle meg hvor riv ruskende galt det jeg skriver er.

For det første så trenger vi alle disse verktøyene når vi skal lage moderne applikasjoner, for det andre så har det faktisk blitt langt bedre enn det det var for noen år siden, og for det tredje så skjønner jeg ikke hvor umulig det er for en utviklingsavdeling å bare droppe alt på den måten.

Men det blir faktisk ikke bedre om vi ikke starter litt, alle og en hver. Og første skritt på veien mot lysere tider er å droppe generativ AI i editorene våre.

Det gjør det nemlig ikke noe enklere at vi har et verktøy som skriver kode for oss og spytter ut bytes som kan eller ikke kan virke, avhengig av hva den finner på å spytte ut.

Gjør det vanskeligere

"Åh, men jeg blir så mye mer effektiv! Jeg vet jo hva det skal stå og hvilken kode jeg skal skrive, jeg lar bare AI gjøre det for meg! Det handler ikke om at jeg ikke kan programmere!"

Fint, det, om du er en sånn en! Det er bare det at om du skriver koden selv, så bruker du ikke litervis med vann og massevis av energi som er med på å tørke ut jordkloden vår til en rosin fordi du ikke gidder å skrive noen linjer med kode på egen hånd!

Og når du så har slått av generativ AI i editoren din, kan du begynne å de-eskalere.

Da kan du begynne å forstå deg på hva som faktisk foregår i applikasjonen din. Trimme bort pakker som ikke trengs, sjekke nettleserstøtten på alle nye features som kanskje gjør at du kan trimme bort enda flere pakker, du kan droppe rammeverk og kompliserte løsninger og heller forenkle, forenkle, forenkle.

Da får du mindre krøll, lykkeligere utviklere og dessuten lykkeligere brukere.

Generativ AI i bruk til å skrive kode er en ting fordi utviklere liker å prøve å gjøre ting enklere ved å faktisk gjøre dem vanskeligere, akkurat som vi har prøvd å gjøre webutvikling enklere ved å faktisk gjøre webutvikling vanskeligere.

De to henger sammen fordi tankesettet er det samme, og om vi klarer å ta tak i det ene, klarer vi kanskje å ta tak i det andre også.

Mitt nyttårsforsett som utvikler er å slutte å eskalere og heller begynne å de-eskalere. Jeg har ingen AI i editoren min fordi jeg prøver å de-eskalere. Så enkelt er det faktisk.