Jeg drukner i uferdige hobby­prosjekter

Å starte et hobbyprosjekt? Null stress. Å gjøre det ferdig? Klin umulig. 🤷

Alle disse pappeskene symboliserer uferdige hobbyprosjekter. Og stua mi er Github-kontoen min. Jeg blir gal. 📸: Ole Petter Baugerød Stokke
Alle disse pappeskene symboliserer uferdige hobbyprosjekter. Og stua mi er Github-kontoen min. Jeg blir gal. 📸: Ole Petter Baugerød Stokke Vis mer

Det sies at de siste 10 prosentene av et prosjekt tar 90 prosent av tida.

Når det kommer til hobbyprosjektene mine har jeg løst dette ganske elegant, ved å bare hoppe bukk over de siste 10 prosentene.

«Å gjøre dem ferdig - det har aldri vært helt min stil.»

Med andre ord: Jeg fullfører aldri hobbyprosjektene mine. Jeg starter på dem, støtt og stadig, men å gjøre dem ferdig - det har aldri vært helt min stil. Github-kontoen min er full av uferdige prosjekter.

Nå har det skjedd igjen, med hobbyprosjektet "noble.fish". Det jeg en gang tenkte var en genial idé støver ned - sammen med alle de andre antatt geniale ideene mine.

Det er det samme som skjer hver gang:

Fase #1: Har teknologi, trenger hobbyprosjekt 🤔

For min del starter det gjerne her; jeg har lyst til å lære meg noe, og trenger et prosjekt for lære meg det. Firebase, i dette tilfellet.

Jeg liker å finne på egne ideer, og hater å lære meg noe ved å skrive de klassiske "Instagram-klonene" eller "IMDB-søkegreiene". Her skal det skapes - gjerne noe å leve av etter olja.

Google Keep-kontoen min er derfor full av notater som "spill: gjette alder på norske kjendiser", "app: finne snittprisen for noe på Finn.no" og "sosialt medium: Twitter, bare med lydsnutter".

De fleste gode ideene blir forkasta, fordi de blir for vanskelige å gjennomføre. Så finner jeg heller en dårlige og enklere idé å ikke gjennomføre.

Fase #2: Wow, fantastisk idé! 😍

I dette tilfellet var ideen å lage en enkel notat-webapp, med notater bak unike, BankID-aktige URL-er, helt uten krav til innlogging.

Det siste fordi jeg dermed kunne skippe hele autentiseringsgreia i Firebase, og bare lære meg Firestore. Så overbeviste jeg meg selv om at det var fordi innlogging og passord og sånt bare står i veien for en så enkel som mulig brukeropplevelse, og vipps, så innbilte jeg meg at ideen min ble enda bedre.

Kort forklart: Jeg ville kjøpe et domene ala noble.fish, gi brukeren en generert URL ala noble.fish/green.horse, la brukeren skrive inn notatet sitt der, og lagre det forløpende. Dermed kunne hun bruke adressa noble.fish/green.horse for å både lese, redigere og dele notatet sitt i alle framtid, på alle plattformer, helt uten noen innlogging.

Genialt! Og enda viktigere for meg: Enkelt å kode!

Dermed gikk jeg inn i fasen hvor jeg skisserte brukergrensesnitt i Figma, tenkte ut databasestrukturen, funderte på navn, snuste på ledige domener og designa T-skjortene - du veit, bare sånn i tilfelle det viste seg at det var dette ble en verdensomspennende supersuksess vi kunne leve av etter olja.

Fase #3: Jeg er et geni! 😎

Jeg tipper du som leser dette kunne koda applikasjonen jeg har skissert på rundt én time. Det kan ikke jeg.

Først må jeg huske hvordan jeg lager et nytt Github-prosjekt, hvordan create-react-app fungerer, hvordan jeg setter opp Netlify - og først da kan jeg starte å faktisk lære meg det jeg skal lære meg; Firestore.

Dette gjorde jeg som jeg alltid gjør; se de første to minuttene av to hundre Youtube-videoer, før jeg etter noen timer finner en som faktisk viser meg det jeg er ute etter.

Videre følger full forvirring, febrilsk leting i dokumentasjon jeg ikke forstår noe av, kopiering av Stack Overflow-snutter, og til slutt: Det magiske øyeblikket hvor riktig innhold skrives ut i en console.log.

Det skal sies; Firestore var faktisk ikke så vanskelig å få til, selv ikke for meg. Så relativt sett relativt raskt fikk jeg faktisk applikasjonen min til å fungere, med tilfeldige adjektiv.substantiv-adresser og det hele.

Da er det bare å la endorfinene flomme, og bade i fersk, søt selvtillit. JEG ER ET GENI. Måtte denne følelsen aldri ta slutt.

Fase #4: Puss, puss 🤫

For min del er det ingen forskjell på en prototype og et produkt: Produktet er bare prototypen litt lengre ut i prosessen, etter sykelige mengder puss, som jeg starter på så tidlig som overhodet mulig.

Så med én gang jeg får hovedgreiene til å fungere, såvidt, starter pussinga. Og jeg kan pusse lenge.

For var egentlig denne Google-fonten noe fin? Kanskje denne er bedre? Og ville ikke alt bli litt kulere med denne fargen? Forbanna flexbox! Gir denne hjelpeteksten noen mening? Og hvilken emoji burde jeg bruke for tilbakeknappene?

La meg bare pusse litt på CSS og språk i noen uker - alt annet enn å jobbe med den faktiske koden, som jeg er fullstendig klar over at har store problemer, og at er det viktigste, men som er mye vanskeligere å jobbe med enn det visuelle, og gir meg på langt nær så umiddelbar respons som CSS-flikking.

Fase #5: Jeg er en idiot! 😢

For jada - det viser seg raskt at koden trenger mer jobb. De siste 10 prosentene, som gjerne tar 90 prosent av tida, og ofte er mye vanskeligere og kjedeligere enn "få noe opp og stå"-kodingen i starten.

For hva skjer når jeg har brukt opp alle de tilfeldige URL-ene? Hvordan får jeg applikasjonen min raskere? Hvordan får jeg Firestore-databasen til å fungere i produksjon? Og har jeg virkelig eksponert alle API-nøklene mine i kildekoden?

«Er jobben som gjenstår verdt det? Var denne ideen egentlig noe god?»

Da er det bare å ønske velkommen til den klassiske innsats versus gevinst-tankerekka: Er jobben som gjenstår verdt det? Var denne ideen egentlig noe god? Kommer noe til å faktisk bruke dette? Og er det dette jeg vil fylle kveldene mine med?

Det er alltid da, 90 prosent på vei mot målet, at jeg finner ut at idéen jeg syntes var genial for bare få uker siden, er helt latterlig dum. Det er til å bli flau av. For en dustete idé.

Og egenskapene jeg trodde jeg hadde som utvikler? Også sterkt overdrevet. Så dustete tenkt at jeg skulle klare dette.

Fase #6: Oj, ny Trackmania! 😁

Visste du at det har kommet et nytt Trackmania-spill denne sommeren? Det fant jeg ut, akkurat på 90 prosent-målstreken til noble.fish-prosjektet mitt.

Og hvem skulle tro; det viste seg at å suse gjennom svinger i racerbil ga en mer umiddelbar tilfredsstillelse enn å konfigurere databaser.

Dermed kom jeg aldri tilbake til prosjektet mitt. Nok et 90 prosent fullført hobbyprosjekt støver ned på GitHub.

Og nok en gang blir jeg minnet på at det er gode grunner til at idrettsstjerner og gründere påstår at hemmeligheten bak suksess er å aldri gi seg, selv om det er aldri så klisjé å si.

Det er bare synd det er så mye enklere å fullføre et Trackmania-løp enn et hobbyprosjekt.