Jesu li programeri šarlatani ako koriste ChatGPT na testiranju za posao?

Jesu li programeri šarlatani ako koriste ChatGPT na testiranju za posao?

Kako prepoznati da je (potencijalni) zaposlenik koristio ChatGPT, što se događa s programerima kada imaju ChatGPT na radnom mjestu i kako će izgledati testiranja novih zaposlenika, provjeravamo.

ChatGPT jedna je od onih tehnologija zbog koje dobivamo bombastične naslove kako će nas umjetna inteligencija zamijeniti, a milijuni će ostati bez posla. Koliko će točno ljudi ona zamijeniti ili im barem značajno promijeniti rad, teško je reći, ali programerska struka jedna je od tih kojoj se predviđa jak udarac.

U želji da se odmaknemo od fatalističkih predviđanja, razgovarali smo s Milošem Trifunovićem, Team Leadom u Lemaxu; Željkom Švedićem, osnivačem TestDomea, i jednim anonimnim programerom kojeg ćemo nazvati Ivan, kako bismo bolje upoznali situaciju na terenu.

Kako Lemax i Testdome znaju koji je kandidat koristio ChatGPT?

Iako kažu kako još nisu imali kandidata koji je rješavao zadatke pomoću ChatGPT-ja, Lemax se osigurao kako će te kandidate prepoznati. Dva su faktora ključna u prepoznavanju rješenja koja je stvorila umjetna inteligencija, naglašava Miloš.

Prvo je potrebno poznavati koje opcije rješenja AI može poslati, što znači kako će zatražiti ChatGPT da riješi zadatak. Tako u Lemaxu dobiju osjećaj kako izgleda jedno AI rješenje. Idući ključni faktor je prezentacija uživo koja predstavlja priliku da vide razumije li kandidat rješenje. Ovako mogu ispitati najmanje detalje u slučaju da bilo kakve sumnje u kandidata, objašnjava nam Miloš.

Kratkoročni i dugoročni problemi AI-a

Kako bi TestDome, softver namijenjen automatskom testiranju znanja i vještina programera pri zapošljavanju, bio otporan na ChatGPT, tako su Željko i njegov tim prepoznali kratkoročne i dugoročne promijene koje je potrebno napraviti. Kratkoročne promjene tiču se njihovih klijenata koji ne žele dozvoliti kandidatima korištenje alata ChatGPT. Zbog toga su uveli značajke protiv “varanja”:

  • Desktop proctoringtijekom testa se snima kandidatov ekran;
  • Webcam proctoringtijekom testa se vidi što kandidati rade preko web kamere;
  • Copy/paste protectionblokirano je kopiranje teksta pitanja koji je često dugačak i kandidati nemaju dovoljno vremena pretipkati pitanje;
  • TestDome Interviews – otežava varanje putem korištenja AI alata na online intervjuu.

S druge strane, Željko smatra da će se posao programera na dugoročno promijeniti pa zato mijenjaju samu bazu pitanja:

  • Slike i animacije ponašanja u opisu zadatkatako zadatak postaje apstraktniji i testira zna li kandidat definirati problem, a ne samo napisati kod;
  • AI-resistant pitanjakako bi pitanje bilo AI-resistant, tako često mora biti složenije.

Zašto Ivan smatra da su trenutni načini testiranja kandidata “živi užas”?

U isto vrijeme, mnogi programeri trenutni način testiranja kandidata za radno mjesto smatraju neadekvatnim. Leetcode i slični servisi pred kandidata stavljaju algoritamske zadatke kakve velika većina neće rješavati u praksi, bar ne svakodnevno, objašnjava nam programer Ivan:

Iako su takvi zadaci odlična mentalna gimnastika i principi koji su u njima traženi su bitni i korisni, obično su kandidati prilikom rješavanja ograničeni vremenom, a često su potrebni mjeseci i mjeseci priprema.

Ivan ne voli ovaj tip testiranja jer se onda kandidati koji ne mogu izdvojiti mjesece slobodnog vremena za pripremu nalaze u vrlo nepovoljnom položaju. Zatim, sama testiranja iziskuju mnogo vremena od kandidata. Za jedan Leetcode intervju kandidat mora odvojiti nekoliko sati koje obično mora utrošiti u komadu, a take-home zadaci pak zahtijevaju i po nekoliko dana ili tjedana neplaćenog rada. Također, testiranja su vrlo stresna:

Da, možemo pretpostaviti da je velikom broju firmi bitno da kandidati dobro funkcioniraju pod stresom, ali u praksi većinom nemamo scene kao iz Swordfisha u kojima Leet Haxor kodira s pištoljem uperenim u glavu.

Kod firmi koje imaju stroge procese selekcije, Ivan ima osjećaj kako će zauvijek biti eliminiran ako ne prođe na generičkom tehničkom testiranju iz bilo kojeg razloga (npr. nije bilo dovoljno vremena za pripremu, trivijalan bug i slično):

Ako nema ljudskog faktora koji može prosuditi radi li se o trivijalnoj stvari i osobe koju mogu provoditi kroz svoj način razmišljanja, firma potencijalno eliminira izuzetno dobre kandidate koji su napravili ono što developeri rade doslovno svaki dan – imali su bug.

Kad se sve to uzme u obzir, nije ni čudno što dio developera poseže za ChatGPT-jem prilikom testiranja.

Može li ChatGPT učiniti developera boljim?

Ako stavimo na stranu ulogu i problematiku ChatGPT-ja u procesu zapošljavanja, postoje i prednosti koje takvi alati donose. Tako Miloš vidi ChatGPT kao konstruktivniji Google jer, osim davanja odgovora na pitanja, on može pomoći s brzinskim code reviewom, odraditi repetitivne zadatke poput kreiranja podatka za unit testove temeljem definicije metode. Također, moguće je i dobiti dosta detaljne primjere kako se integrirati s vanjskim servisima ili dobiti odgovore na neka tehnička pitanja, ali ne smijemo zaboraviti da govorimo o nesavršenom alatu:

Treba biti svjestan da ChatGPT ne daje nužno uvijek činjenice, već najvjerojatniji odgovor. Stoga, ako nema nekih informacija, postoji mogućnost da će ti dati lažnu informaciju.

ChatGPT može izuzetno povećati produktivnost developeru koji zna kako kvalitetno postaviti pitanje, kako postavljati potpitanja, kako identificirati kad ChatGPT zabrazdi u krivom smjeru i slično, ističe Ivan:

Ono što je odlično što ChatGPT ima kontekst i mogućnost povezivanja koju je developer do sad morao odrađivati ručno (npr. kvalitetno nabosti ključne riječi guglajući i nabadajući rezultate po StackOwerflowu, GitHubu itd., pa isprobavati jednu po jednu od desetak ponuđenih opcija i slično). ChatGPT-u postaviš problem, navedeš što si isprobao i eventualno dodaš još konteksta ako vidiš da je krenuo u krivom smjeru.

Ako ChatGPT čini developere boljima, zašto ga onda ne bi koristili tijekom testiranja?

Neki poslodavci već sada na testiranju daju da potencijalni zaposlenici koriste Google i slične alate, a Miloš ne vidi problem u rješenjima koja su potpuno generirana ChatGPT-jem, ali sve dok kandidat stoji iza tog rješenja, da ga razumije u potpunosti i barata sa svime što je u rješenju:

Očito je da nam je prihvatljivo korištenje svih alata na raspolaganju, s obzirom na to da je zadatak po prirodi offline, odnosno kandidat ga rješava mimo našeg utjecaja i nadzora

Može li poticanje korištenja ChatGPT-ja pokazati neke korisne stvari o kandidatu kao programeru, Željko smatra – i da i ne. Sve ovisi o kompleksnosti zadatka i trajanju testa:

Jednostavni i kratki zadaci ne pokazuju razliku između programera – tekst zadatka se kopira u ChatGPT-ju i možda se dobije odgovor.

Ali složeniji i duži zadaci projektnog tipa zahtijevaju popravljanje ChatGPT grešaka, ponovno promptanje, razdvajanje zadatka u manje cjeline, definiranje arhitekture te pisanje vlastitog koda. Njih će puno lakše napraviti iskusni inženjeri.

Svjedočimo li evoluciji programera?

Ako računamo na to da će se pri selekciji kandidata više tražiti objašnjenja kako je netko došao do rješenja, a ne samo čisti rezultat, znači li to kako se mijenja i tip znanja koja će se tražiti ubuduće od inženjera? U Lemaxu se ta promjena dogodila već prije nekoliko godina, ističe Miloš:

Tražimo od kandidata određeno tehničko znanje, postavimo mu taj zadatak da ga riješi, ali daleko veću ulogu nam igraju “neprogramerske kvalitete” kod čovjeka, kao što su poznavanja industrijskih praksi, te standardnih paradigmi u programiranju.

Zadatak nam služi kao početna točka kako bismo vidjeli gdje kandidat stoji s tehničke strane te kao materijal za otvaranje malo šire priče, gdje ne tražimo odgovore na pitanja ŠTO je kandidat koristio, već ZAŠTO.

Programerski posao se mijenja tako što postaje apstraktniji, arhitekturalni i zahtijeva više pisanja teksta, ističe Željko. Na primjer, komentare je sad poželjno pisati prije koda, jer alati kao Copilot na osnovu komentara mogu odmah generirati kod:

Čim bolje opišemo problem u prirodnom jeziku, to će nam ChatGPT dati bolji kod. Prvo rješenje često nije točno te treba dodatno ChatGPT-ju objasniti kako modificirati kod. Što AI alati postaju bolji, to zadatak programera više postaje dobro opisati problem i osmisliti arhitekturu nego kodirati detalje.

Tehnički temelji, način razmišljanja, vještine komuniciranja i karakter osobe elementi su koje je potrebno prepoznati u kandidatima, ističe Ivan. Vjeruje da ne postoji razvojni tim koji bi umjesto vrhunskog developera, čiji karakter ne mogu smisliti, radije uzeli solidnog, a koji je vješt komunikator i s kojim je ugodno surađivati:

Većina developera ne gradi svemirski brod i ne otkriva toplu vodu. Da, potrebni su tehnički izuzetno sposobni ljudi, ali ne treba svaki developer u timu biti takav (niti ih možete platiti toliko, niti im možete svima dati dovoljno izazovnog posla).

Dobri developeri, osim tehničkih stvari, znaju postavljati pitanja o proizvodu, razmišljati o klijentu i iz perspektive klijenta, znaju razmišljati šire od svog Jira ticketa, znaju da umiranje u ljepoti koda ne donosi novac i da klijentu nije bitno je li aplikacija refaktorirana u Typescript ako ne rješava problem koji klijent ima.

Kakve tipove zadataka ChatGPT sada eliminira iz testiranja zaposlenika?

Dolaskom ChatGPT-ja nema više smisla pitati kandidate da napišu boilerplate code, standardne algoritme, poznate interview zadatke ili kodove koje je lako pronaći na internetu, objašnjava nam Željko. ChatGPT je treniran na cijelom internetu, uključujući StackOverflow i GitHub, te takve zadatke rješava bez problema.

Na primjer, ako pitate ChatGPT za FizzBuzz problem ili quick sort algoritam, dobit ćete točan kod i za manje korištene jezike kao što su F# ili Julia. Ponavlja se ista stvar kao s pojavom Googlea ili StackOverflowa, a to je da nema smisla pitati stvari na koje se odgovor može naći u manje od minute, ističe Željko:

Treba pitati nestandardne zadatke, koji se ne nalaze na internetu ili nema puno dostupnih odgovora. Moguće je i stare zadatke zakomplicirati tako da standardno rješenje ne zadovoljava.

Ivan vjeruje da će biti manje testiranja na tehničkim platformama poput Leetcodea, ali i više tehničkih razgovora u kojima kandidati odgovaraju kako su došli do rješenja. System design intervjui vjerojatno mogu ostati kakvi jesu (oni se ionako odvijaju uživo, bilo preko videopoziva ili bas uživo u prostorijama firme):

Sigurno će biti više razgovora o tome kako rješavati određene problemske zadatke, nego samog rješavanja i analize koda od strane firmi koje intervjuiraju kandidate.

Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.

Pravila ponašanja

Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime te pravu email adresu.

Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.

Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.

Komentari

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Ekskluzivno

57hours Viktora Marohnića narastao 4 puta i osigurao još 2,75 milijuna dolara

U ekskluzivnom intervjuu za Netokraciju, suosnivač brzorastuće avanturističke platforme Viktor Marohnić, sa svojim investitorima, otkriva planove.

Tvrtke i poslovanje

7 savjeta za učinkovitu izradu poslovnog plana (posebno za one koji nemaju vremena)

Nisu bez razloga velikani povijesti od Sun Tzua do Dwight D. Eisenhowera pričali o planiranju kao o svetom gralu uspjeha - i ne stoji bez razloga ona narodna: dobra organizacija je pola posla.

Tvrtke i poslovanje

Ivan Burazin pokreće novi startup – Daytonu, već ima Fortune 500 klijente

Nakon tri godine, uspostave i razvoja Infobipovog Developer Experience odjela, Ivan Burazin, pokreće novi dev projekt. Time se nastavlja njegova startuperska priča i misija koja je počela prije više od dekadu - pomagati developerima da rade lakše, brže i učinkovitije. Upoznajemo njegov novi projekt, Daytonu!

Što ste propustili

Dizajn

“Design Handoff” je proces zbog kojeg developer i dizajner ne moraju imati “standoff”

Predaja bilokakvog projekta ne završava s vašom točkom na kraju - nego svih kojih se taj projekt usko tiče. Uz Neuralab prolazimo kako od “ja sam svoje riješio” doći do kvalitetnog, strukturiranog “design handoffa” koji će značajno olakšati život svima uključenima: dizajnerima, developerima, PM-ovima, klijentima…

Izvještaj

HR.WEEKEND: Jelena Jelušić o 7 smrtnih grijeha “employer brandinga”

Na prvome HR.Weekendu na WMF-u saznali smo 7 smrtnih grijeha "employer brandinga" koji će definitivno ubiti sliku vaše tvrtke, ali donosimo i recept kako ga spasiti.

Intervju

Evo kako je hrvatska glazbena industrija pregovarala s Big Techom!

Dolazak Spotifya i drugih poznatih glazbenih servisa u Hrvatskoj povijesni su dani, ali njima su prethodile godine i godine pravnih pregovora sa samim servisima, kao i domaćih udruga koja štite prava svih sudionika. Upravo u tim pregovorima možemo pronaći lekcije za medijsku industriju koja trenutno vodi pregovore s Big Techom.

Izvještaj

Infobip Shift 2023: Kako pridonositi projektima otvorenog koda?

Zadnje retke s Infobip Shift 2023 konferencije posvećujemo ljudima i inicijativama vezanima uz open source (otvoreni kod).

Ekskluzivno

57hours Viktora Marohnića narastao 4 puta i osigurao još 2,75 milijuna dolara

U ekskluzivnom intervjuu za Netokraciju, suosnivač brzorastuće avanturističke platforme Viktor Marohnić, sa svojim investitorima, otkriva planove.

Zabava i zanimljivosti

Infobip Shift 2023: Od pive do savjeta za sreću, što su developeri dobili “ispod Peke”?

Infobip Shift iz godine u godinu potvrđuje kako zalužuje biti na popisu najboljih developerskih konferencija u Europi jer uspjevaju postići nešto teško - kvalitetan sadržaj svjetske razine predstaviti sa stilom u iskrenoj i pozitivnoj atmosferi.