Citat:
Ursprungligen postat av
allan78
Du verkar insatt i branschen, låt mig utveckla lite.
Till att börja med, vi är ett produktbolag, inte konsultbolag, så vi har inbyggda incitament till att förbättra och optimera. Vi säljer inte konsulter på timbasis.
Förta delen handlar om ren förbättring. Jag och vi ser att med AI-tekniker (jag säger ibland Claude lite slentrianmässigt eftersom vi använder det för kod) kan färre utvecklare göra minst samma jobb som många. Att utveckla är fortfarande det jag gillar att göra, så detta är inte från ett molnperspektiv utan från någon som jobbat med hantverket i 20 år. Färre, eftersom hela processen kan förändras i grunden. Idag läggs så otroligt mycket tid på tekniskt kravställning, för att därefter brytas ned till rimliga chunks så att mer junior personal kan koda. Sedan ska de granskas, det ska missuppfattas osv. Med en bra uppsatt struktur av dokumentation som är gjord för en AI att ta till sig så slipper man detta steg. Vi byter inte ut utvecklare helt, det tror jag inte på inom en snar framtid, men här och nu kan mer senior personal ersätta behovet av mer junior i princip helt. De kan själva generera koden från egentligen samma kravställning, och kan granska den inom 1-30 minuter. Iterera, ge feedback, samma process.
50% är vår bedömning av de som täcks av detta. Junior personal och annan som av olika anledningar är motsträviga till omställningen.
Angående kodbas, vi har såväl mindre tjänster (”microtjänster”) som större ”monoliter”. Ju mindre kodbasen är, ju mer kan du slarva och strunta i att dokumentera. Men lägger du ned energin på att dokumentera är en AI fenomenal på att gräva ned sig. Vi har en del som består av ca 1m kodrader. En viss del av denna som utgör ca 200k rader i alla fall är dokumenterad för AI, och där kan vi nu jobba obehindrat med Claude. Närmare 100% av all kod senaste 3 månaderna är framtagna med Claude, granskad av människor. Otroligt hög kvaliteten. Så klart gör den fel ibland, springer iväg i fel riktning. Det systematiska arbetssättet är att förbättra dokumentationen, kravställningen och köra igen. Ibland inse att uppgiften var lite för stor, dela upp i två. Precis som man alltid gjort när man märker att en utvecklare sitter fast.
Allt detta är utifrån förmågor AI har här idag. Jag har mycket fler tankar om framtiden, men det är bara spekulation tills jag ser det.
Den andra delen handlar om att expandera. Vid detta läge har vi anpassat all kod utifrån synsättet att AI skriver allt i grundutförandet. Det är inte ett litet jobb. Att strukturellt dokumentera allting på alla nivåer (med AI kan du generera basen för allt, men den kommer då endast dokumentera som det faktiskt är. En människa måste hjälpa till här och vägleda för hur det borde vara). Att kort och gott skriva en systemdokumentation som är integrerad med kodbasen.
Pengarna vi sparar kommer vi använda för att anställda mer senior personal som redan anammat arbetssättet. Bla. 50% minskade kostnader på personal är en betydande del av våra löpande kostnader, kanske 40%. Med den krigskassa vi då bygger upp kanske uppköp / merges också är något att utvärdera.
En fråga jag hittills blundat för är: men vad händer med alla juniora personer. Vem ska lära upp alla unga att jobba på detta sätt? Vad händer om 5-10 år? Svarar kort att som vi ser det är det inte vårt problem att lösa. Det är samma sits för alla, ”vi får se”. Potentialen att kunna tjäna enormt mycket pengar kommande åren är alldeles för lockande för att inte lämna på bordet. Vi är ingen välgörenhet, vi existerar för att tjäna pengar.
Svarar gärna på fler frågor, jag tycker denna omställning är enormt läskig och spännande på samma gång.
Det du beskriver är ett perspektiv, men jag tycker att man underskattar en betydande risk som handlar om förvaltning och förståelse över tid. Det har man alltid missat i dessa sammanhang kan jag också påtala. Det högre skiktet förstår sig sällan på denna del och det är en upprepande historia. Det är som att se i backspegeln inte existerar.
AI kan absolut accelerera produktion av kod, men den har ingen faktisk förståelse för systemet som helhet. Det AI genererar när man släpper lös den, blir en hopplös sörja som är inget annat än en teknisk skuld när man gör på det sättet. AI:n behöver en hel del assistans från utvecklare för att komma till sin rätt.
AIn optimerar lokalt utifrån den prompt den får, inte ur ett helhetsperspektiv utifrån verksamhetens behov, historik och framtida konsekvenser. Återigen, har vi hört detta förut att det högre skiktet bara har en del förståelse av en betydligt djupare komplexitet frågeställning som man inte alls förstår sig på? Ja, det är återkommande och jag vet inte hur ofta jag har undrat samma sak, hur kan dessa ens få sitta och värma sina stolar när de inte ens förstår sig på fabriken?(Dessa är mer utbytbara än många andra).
I alla fall, låt oss säga att AI:n generar rubb och stubb. Det riskerar att leda till system som fungerar men som ingen riktigt förstår eller är så bra de kan vara, man får en gradvis ökande komplexitet och ett starkt beroende av specifika verktyg eller modeller, som få förstår sig på med tiden. Historiskt sett tenderar nya tekniker att presenteras som universallösningar, där alla letar efter sätt att ersätta allt och alla, men utfallet blir oftare att man tar steg framåt snarare än att hela spelplanen ritas om. Så istället för göra ett mål fram, blir det många gånger fler baklängesmål. Ja, och det rullar huvuden för dessa saker också. Det är då man byter ut IT-chefen och en massa annan personal när dessa fabler inte gick i mål.
Ni nämner dokumentation som en lösning, men där finns också en tydlig begränsning me det. AI är bra på att beskriva hur något är byggt(inte riktigt sant egentligen men men), dock inte varför det byggdes på ett visst sätt, eller vad den djuplodande tanken var. Den typen av kontext, alltså kompromisser, affärsbeslut och hantering av svåra edge cases, är precis det som erfarna utvecklare bär med sig, som förstår en verklighet än AI aldrig kommer kunna ta till sig. Det är också den förståelsen som blir avgörande när något går fel på riktigt, utanför de scenarier som redan är kända.
Där upplever jag att AI brister. Ju mer komplex och nyanserad en frågeställning blir, desto snabbare tappar den fotfästet. Särskilt tydligt blir det i områden som juridik eller regelverk, där det krävs djup förståelse för hur olika delar samverkar i verkligheten. Då går det riktigt fort och vi kan prata om Bambi på hal is.
Det leder vidare till en större fråga kring kompetensförsörjning. Om inflödet av juniora utvecklare minskar kraftigt, var ska framtidens seniora utvecklare komma ifrån. Vem ska om fem till tio år kunna ta över och förstå systemen på djupet, när det är ett problem med redan existerande system som förvaltas idag? Det finns redan idag gott om system som ingen riktigt förstår, där kunskapen sitter hos ett fåtal individer eller ingen alls egentligen förstår djupet. Den situationen riskerar att förstärkas ytterligare. I verksamheter med stora och komplexa regelverk, till exempel inom finans eller beskattning, blir det ännu tydligare att tekniken i sig inte räcker utan kräver en stark mänsklig förståelse som grund, exempelvis.
Min uppfattning är därför att AI inte kommer ersätta utvecklare, men däremot förändra rollen. Mindre fokus kommer ligga på att skriva kod och mer på att förstå system och sätta ihop kod till en helhet, fatta arkitekturbeslut, tolka krav och säkerställa kvalitet. Det är just de delarna som kräver en djup förståelse för hur teknik och verklighet hänger ihop, något AI inte kan bära på egen hand och långt därifrån!
Samtidigt är det svårt att bortse från de historiska parallellerna. Programvaruutveckling har flera gånger beskrivits som något som kan industrialiseras fullt ut, där en tydlig kravspecifikation räcker för att producera fungerande system. På samma sätt har outsourcing till låglöneländer setts som en självklar lösning, liksom idén om att enkelt kunna avveckla äldre plattformar. I praktiken har dessa satsningar ofta visat sig betydligt mer komplexa än förväntat och i många fall lett till omstarter, ökade kostnader och beroenden som varit svåra att hantera.
Om det verkligen vore så enkelt och självklart att AI kan ersätta stora delar av utvecklarkåren, borde vi redan ha sett den effekten fullt ut. Tekniken har funnits tillräckligt länge för att åtminstone börja visa sådana konsekvenser. I stället är verkligheten att det fortfarande råder stor brist på personer med rätt kompetens inom IT. Det tyder snarare på att behovet förändras än försvinner.
I större organisationer blir detta ännu mer påtagligt. I ett bolag med en omfattande IT-verksamhet, långt större än några tiotal utvecklare, handlar det inte bara om att producera kod utan om att förvalta komplexa systemlandskap över lång tid. Där är beroenden, integrationer, regelverk och verksamhetslogik som är sammanflätade att det krävs kontinuitet och djup förståelse för att hålla allt fungerande. Att i ett sådant sammanhang kraftigt reducera den mänskliga kompetensbasen innebär en risk som är svår att överblicka. Har ni inte hört talas om moln "folket"?
Min egen syn på framtiden är därför att AI kommer bli ett mycket kraftfullt verktyg som höjer produktiviteten och förändrar hur vi arbetar, men inte ersätter behovet av människor som förstår helheten. Snarare kommer kraven på den förståelsen att öka. De organisationer som lyckas bäst framåt är troligen inte de som minimerar sin kompetens, utan de som kombinerar AI med stark systemförståelse, långsiktighet och förmågan att hantera komplexitet.