Hat mot Vibe kodning

Jag läser ofta på LinkedIn för att få en känsla av vad folk med mitt yrke håller på med.

Ofta är det positiva saker där någon är stolt/gillar något.
Ibland är det upprört, till exempel jobbannonser där man efterfrågar 10 års erfarenhet på en produkt som finnits i 5 år.
Ibland är det het debatt, till exempel öppna kontorslandskap, arbetsro, arbetsplats.
Nu går det även att läsa om hat, och det är Vibe kodning som rör om det i huvudet på människor.

Det som verkar uppröra är:

  • Idén att icke-programmerare kan skapa appar
  • Kostnaderna för verktygen
  • Vibe kodarna skapar skitkod
  • Hantverket förloras
  • Klyftan mellan de som har verktygen och de som inte har verktygen

Bättre verktyg

För någon som varit med länge så är det Amiga / Atari kontroversen igen, där den tråkiga IBM PC vann eftersom den var industristandard.
Den tredje parten i hela det här är kostnadseffektivitet.

Mjukvaruutvecklare har hela tiden fått tillgång till bättre verktyg.

  • Färgmarkerad kod
  • Auto complete
  • Versionshantering
  • Hoppa mellan funktioner och klasser
  • Se om en funktion används och hoppa dit
  • Lint-verktyg som kollar koden
  • Unit tester
  • Debugging med stegning och brytpunkter
  • Stack overflow – alla hjälper alla
  • Deployverktyg

Runt det har vi hjälpsystem

  • Agila arbetsmetoder – Håller oss tillbaka så vi inte jobbar för långt i förväg och glider av vägen
  • Ärendesystem – Håller reda på detaljerna åt oss

Och lite senare kom AI

  • Avancerad auto complete
  • Hjälp att skapa enstaka klasser och funktioner
  • Hjälp att skriva DOC headers
  • Hjälp att skapa avancerad SQL / Aggregations

Allt går ut på att kunna producera mer värde till högre kvalité på samma tid eller till och med kortare tid.

Verktyget Vibe kodning

Vibe kodning är ännu ett verktyg i samma anda.

Om vi tar JetBrains Junie till exempel, det är en agent som kan resonera fram mängder med kod. Den kollar i filer hur saker görs och löser uppgiften.
Den skapar UNIT tester och kör dem. Den korrigerar själv om ett test inte fungerar.
Ska du få resultat som är användbara behöver du:

  • Skriva vettiga riktlinjer som hjälper Junie att skriva kod enligt er kodstandard.
  • Koppla din databas för att Junie ska kunna se strukturen
  • Lära dig skriva en vettig beskrivning som ser till att Junie använder testdriven utveckling.
  • Acceptera koden som den är. Du spar ingen tid om du ska pilla i koden efteråt.

Du behöver vara strukturerad. Skriva ned beskrivningarna och förädla dem. Hitta ett arbetssätt som hela tiden optimerar och förenklar för Junie att göra sitt jobb.
Fråga Junie vad den behöver. Låt Junie komma med förslag vad som kan förbättras i riktlinjerna.

Sätt ihop ett AI arbetslag

Sätt ihop ett arbetslag.

  • Du är teknisk projektledare – ansvarig för resultatet
  • Agenten är kodaren (Till exempel Junie)
  • Github AI kodgranskare (Till exempel CoPilot eller Junie)
  • AI Chat är konsulten. Till exempel LeChat eller ChatGPT etc. Använd någon du kan tala med via hemsidan. Tal sparar tid.

Det verkar gå att optimera ännu mer via MCP.
Jag hoppas kunna koppla Junie till AnyThingLLM för att AIn ska kunna söka efter företagsinformation. Kan vara företagspecifika regler för avrundning av decimaler, olika begrepp, hur saker beräknas.
Koppla Junie till ärendehanteringen – ”Dela upp den här uppgiften i midre delar och skriv en beskrivning för varje uppgift”.
Beskriva för AI vilka steg som förväntas när man sedan säger: ”Utför uppgift ABC-123.

Tillbaka till LinkedIn

”Idén att icke-programmerare kan skapa appar”
Ja det fungerar faktiskt att ha begränsade programmeringskunskaper och skapa ganska bra appar. Du behöver fortfarande lära dig verktygen men du behöver inte lära dig programmeringen.
När ekonomisystemen kom kunde icke-ekonomipersonal göra enklare grejer och det avlastade de som var utbildade. Skapa offerter, Registrera fakturor, markera fakturor som betalda. Attestera fakturor.
Det är lätt att fnissa åt folk som tänker skapa enorma applikationer och tjäna en massa pengar enbart via vibe kodning utan programmeringskunskaper – tills någon verkligen genomför det.

”Kostnaderna för verktygen”
Kostnaden går ned. Hela tiden optimeras modellerna. Blir specialiserade. Kan köras på enklare hårdvara. Blir smartare på en sak. En modell som enbart kan Python går inte att prata med, men den är otroligt bra på Python. Hemdatorerna blir optimerade för AI. Någonstans möts de två och du kör allt lokalt. Till slut blir det en resonabel fast avgift och du kör så mycket du vill.
Se JetBrains Mellum för vad som är på gång väldigt snart.

”Vibe kodarna skapar skitkod”
Vibe kodning kom i februari. Det är nu som folk börjar lära sig att hantera verktyget. Om man sett skitkod så har man antagligen genererat den själv.
Det tar tid att lära sig ett verktyg. Det vet alla som någon gång bytt kodredigerare.
Junie har ett ”smart”-läge där den blir lite smartare på att gissa vad du vill med din dåliga beskrivning. Kan vara bra att använda tills du blir bättre.

”Hantverket förloras”
Ja det är nog sant. Men det är mycket som förloras under tiden. Jag kan ett 30-tal olika programmeringsspråk. Nästan samtliga är utdöda.
Arbetsmetodiker har kastats till förmån för nya som sedan utvecklas och anpassas. Bibliotek och ramverk kommer, utvecklas och dör.
Nu är det ett nytt hantverk med Vibe kodning.

”Klyftan mellan de som har verktygen och de som inte har verktygen”
Ja det stämmer. Så har det alltid varit i alla brancher. Programmeringsverktyg är oändligt mycket billigare än att som forskare öva på en egen masspektrometer, eller som Airbus-tekniker öva på ett eget Airbus-flygplan. Det finns ofta gratisalternativ eller begränsade alternativ. Till exempel JetBrains Junie som har free, pro, ultimate. Med free kan du lära dig tekniken. Privatpersoner får rejäla rabatter. Det är möjligt som privatperson att vara med och köra alla verktyg men i mindre skala.

Nästa programmeringsspråk

Vad blir nästa stora programmeringsspråk? Man vill ju satsa på rätt för det tar tid att lära sig. Nästa programmerinsspråk är… engelska!
Läs mer här

CharZam