Deadwalker Koristenje AI alata poput ChatGPT-a nece zazivjeti jos neko vrijeme kao pouzdano rjesenje. Postoji vrlo jednostavan razlog, a to je kvaliteta ponudenih rjesenja. Najveci prostor na kojem AI moze uciti su podaci s interneta, a to sto je pokupio neko rjesenje ne znaci da zna pretpostaviti je li to kvalitetno rjesenje, vec samo da je najpopularnije. To dvoje nije toliko cesto povezano i trazi odgovornost inzenjera da ulozi trud i donese zakljucak temeljen na dugogodisnjoj edukaciji kako bi se implementiralo ispravno rjesenje. U slucaju juniora, to rjesenje nerijetko nece biti idealno, ali proces istrazivanja, zakljucivanja i vrijeme koje se ulozi u pronalazak rjesenja i njegovu analizu je nacin na koji junior uci i napreduje. Taj proces ChatGPT ili GitHub Copilot jednostavno ne nude.
Uzmi u obzir i vremenski faktor, odnosno koliko je neko rjesenje staro. Tehnologija jako brzo napreduje, nove verzije razlicitih frameworkova i biblioteka izlaze sve cesce i cesce, a sa sobom donose sve vise i vise promjena. Dolazi do niza clanaka o razlicitim pristupima koji su sve brojniji i brojniji.
No mozda je dovoljna jedna paralela. Koristenje AI alata nije nista veca vjestina od kvalitetnog Googlanja. To je nesto sto svatko tko zeli biti inzenjer mora savladati kao dio svoje edukacije, puno prije zaposlenja.
Ako se gleda automatizacija posla u samom razvoju nekog proizvoda, trenutno vidim samo dvije primjene:. Prva je pisanje tzv. unit testova koji funkcioniraju po principu "namjestanja" rezultata samog testa. To je nesto sto je vrlo sablonski i vjerojatno ce se pronaci integriranim u samom IDE-u (IntelliJ, Visual Studio, …). Druga ukljucuje pisanje jednostavnih skripti koje se najcesce koriste u CI/CD pipelineu i odnose se na postavljanje konfiguracija za razne okoline: testnu, produkcijsku i sl.
E sada, ovo sto sam sada napisao vrijedi iskljucivo za idealni svijet u kojem svatko radi na proizvodu koji se radi po standardiziranim pristupima, konstantno se odrzava i bogati novijim i kvalitetnijim funkcionalnostima i na livadi se pojavljuju jaglaci, a na jabuci su rodili najsladi plodovi. Stvarnost je puno drukcija. Rade se kompromisi na projektima koji su rezultat suradnje vise developera. U slucaju legacy projekata, tih vise developera postaje pun kufer developera. Ako su projekt i/ili firma nekvalitetni, onda se jos povecava broj developera jer je retencija zaposlenika niska. Ako nema standardiziranog koda, znaci da se mijesaju razliciti stilovi. To znaci da ako ides savjetovati ChatGPT, moci ces dobiti samo apstraktna rjesenja, ona na koja bi naisao klasicnim Googlanjem. Onda se opet vraca u igru sposobnost inzenjera da donese dobru odluku temeljenu na vec spomenutoj analizi.
Za nekoliko ce tjedana biti 4 godine kako sam u struci. Upoznao sam svakakve ljude na svakakvim pozicijama. Ono sto mogu reci je da ce prvi i potencijalno jedini koji ce kao uvjete traziti poznavanje AI alata za posao developera biti one firme na cijim su vodecim pozicijama biznismeni bez doticaja sa samim razvojem. One firme ciji su sefovi developeri-sad-poslovnjaci s visegodisnjim iskustvom, oni nece traziti takvo nesto jer znaju da kraci put ne garantira dugorocnu efikasnost.