Paljuski on toote arendamine ainsa arendajana paras väljakutse, sest tegemisi on palju ning need nõuavad erinevaid teadmisi mistahes eri valdkondadest. Kindlasti kuluks mul väga palju rohkem aega kui poleks üht abilist, kes aitaks probleemidele jälile saada ning teha otsuseid valdkondades, mida ma ise piisavalt ei valda.
See abiline on loomulikult tehisintellekt ehk AI ehk igakülgne abiline mistahes eluvaldkonnas. Kui keegi on oma elu jooksul tundnud puudust võimalusest, kellegi käest piiramatult küsida üht põhilisemat küsimust – miks – siis tehisintellekt võimaldab seda lõpuks piiramatult (va kaudsed kulud) teha. Teine oluline küsimus on – kuidas?
AI päringute osas tuleb arvestada, et läbimõtlemata sõnastatud küsimusele ei oskaks ka maailma targeim inimene vastata.
Miks jaotada kood paljude eri failide kaupa laiali? Miks peaks läbi mõtlema, kellele ma oma rakenduse teen? Kuidas planeerida tootearendust nii, et see ka valmis saaks? Kuidas muuta kollast nuppu siniseks ja lisada sellele tumesinine piirjoon? Miks on mobiilirakenduste arendamine veebirakendustest erinev? Kust leida infot makselahenduste integreerimise kohta? Millised on parimad praktikad…?
On palju räägitud sellest, et AI kasutamise edu sõltub puhtalt päringute tegemise oskusest. Samamoodi tuleb AI osas arvestada, et läbimõtlemata sõnastatud küsimusele ei oskaks ka maailma targeim inimene vastata. Sobivate tulemuste saavutamiseks peab inimene muidugi ise teadma, mida tal teada vaja on ja mis tulemuseni ta jõuda soovib.

Aina rohkem ennustatakse, et AI võtab infotehnoloogiavaldkonnas, eriti tarkvaraarendajatel, töö ära. Räägitakse “vibe-codingust”, mis võimaldab oskuslikult sõnastatud päringu abil luua AI-põhise programmeerimistarkvaraga lihtsa rakenduse otsast lõpuni ise valmis. Kui see rakendus aga tööle ei hakka, läheb pusimiseks. Kes oskab vigu leida ja kes mitte. Kel kulub vea lahendamiseks rohkem aega ja kes saab kolme käsuga probleemi lahendatud. Siin tulevad mängu kogemus ja loovus. AI ei oska sageli kõige kummalistemaid põhjuseid ja tagajärgi omavahel seostada, inimesel on aga võimekus olla loov ning mõelda kastist väljapoole.
Minu rakendus on jõudnud juba nii kaugele, et sellele on tekkinud keeruline struktuur – failide rägastik, mis on üksteise koodijuppidest sõltuv. Suudan hoida meeles asju, mida AI ei suuda. Ka ei tea ta minu failide vahelisi seoseid, mida olen juba teinud ning mis veel plaanis. Ka on ta juba ära unustanud need ämbrid, kuhu mul on õnnestunud sisse astuda.
Kui süsteem on kasvanud suureks ja keeruliseks, ei suuda AI seda enam tervikuna hallata. Talle lihtsalt ei saa nii palju infot sisestada. Probleemid ja lahendused korduvad ning käivad ringiratast. Vahel olen probleemide lahendamiseks alustanud uut päringut või söötnud selle mõnele teisele AI-le sisse. Paistab nii nagu minule, kulub värske pilk ka talle ära.
Üldiselt võimaldab AI tarkvaraarendajatel enda praktilisi oskuseid arendada efektiivsemalt kui näiteks mõnes ettevõttes praktikal olles päev läbi oma probleemidega vaikselt nurgas istudes ja juhendaja vaba hetke oodates. AI aitab väga hästi õppida ja AI-lt saab küsida kõiki rumalaid ja häbenema panevaid tehnilisi ja teoreerilisi küsimusi, mida algajatel, kes suurt süsteemi ei taju, ikka jagub. Kokkuvõttes ei asenda AI teadmisi, vaid aitab ja võimendab õppimist. AI võimaldab arendajal leida lahendusi valdkondades, kus puuduvad spetsiifilised teadmised, ning keskenduda keerulisematele arhitektuurilistele otsustele ja toote strateegilisele arendamisele.

Lisa kommentaar