Softverski obrt/zanatstvo

craftsman

Iz predgovora Roberta Martina (Robert C. Martin), u svijetu IT-a može se reći davne 2014 godine.

Ljudi mogu biti povezani na mnoge načine. Svakako, kada se priča o povezanosti najčešće se uzimaju primjeri dvoje zaljubljenih ili pak prijateljstvo. I jedno i drugo se zasniva na dubokom povjerenju i razumijevanju. Čak i kada se ne priča. Dovoljno je da se sjedi u istoj prostoriji i da se o istome razmišlja, imaju ista osjećanja. I upravo je to što snažno, emotivno povezuje ljude. Roberta i Sandra povezao je zanat – programiranje. To povezivanje je utoliko jače što obojica imaju isti pogled na svijet, isti pogled na programiranje, isti pogled na kolege programere, isto, …

I ne samo to. Robert snažno vjeruje da će se svaki programer koji bude čitao ovu knjigu suosjećati s rečenicama. Suosjećaće se s stvarnim, životnim, kraktim pričama Sandra koje iznosi na tako jednostavan, a tako slikovit način njegov životni put. Ako se s nekim suosjeća, to bi se moglo reći i da razumije svaki element bola o kojem autor piše. Da bola! Programeri, ali i zaljubljeni i prijatelji povezani su vjerovatno zbog toga što znažno osjećaju bol onog drugog.

Knjiga ima manje od 300 strana, a skoro da je enciklopedija prosječnog programerskog života. Od procesa zapošljavanja, odnosa s starijim i mlađim kolegama, raznim upravljačkim strukturama (menadžerima), rokovima, opisima poslova i nošenja s izazovima programerskog života.

Iz predgovora autora

Uvijek kada u knjigama vidim da se negdje nešto dešavalo s početka ili sredinom 1990-ih, sjetim se agresije na BiH i svega onoga što smo mi preživljavali, dok su se drugi bavili nekim za nas tada (a nerijetko i sada) nedostižnim temama. Autor u svom predgovoru upravo počinje događajima iz sredine 1990-ih u kojima opisuje procese zapošljavanja u softverskoj firmi kojoj je trebalo 60 (da šezdeset!) programera i to hitno. Tada, tih godina, oglas je objavljen u novinama u Sao Paolu i na njega se prijavilo 900 (devet stotina) programera. Danas, u 2020. godini, da bilo koja firma objavi oglas za posao ne samo u BiH, nego na prostoru cijele ex Jugoslavije, nisam siguran da bi se prijavio tako veliki broj. To samo govori koliko su neke zemlje veoma daleko ispred nas i kako nam se nekada čini da ih nećemo nikada dostići. Ali, zato je ova knjiga tu, da razbije mnoge predrasude.

Odmah u uvodu autor opisuje kakav je on bio sa svojih 21. godinu kada se prijavio na gore spomenuti konkurs. Upravo onakav kakvi su svi mladi programeri, posebno ako su počeli da se zanimaju računarima ili programiranjem jako rano kao Sandro. On je počeo da se bavi programiranjem u 11. godini, a već sa 19 je zarađivao vlastiti novac programiranjem. Takav, mlad, uglavnom postaje arogantan i bahat. Smatra da ne postoji drugi programer na svijetu kojeg ne može pobijediti. Kolege koji su uporno studirali, dok je on uporno radio smatrao je manje vrijednim. Pa čak i kada bi se vraćao na fakultet i predavanja, kolege bi posmatrao kao niža bića.

Naravno, jednom kada se kao mlad (i ipak neiskusan) “upadne” u firmu s iskusnim ljudima koji teže ka perfekcijama u svemu, stvari postaju malko drugačije. Početna arogantnost i bahatost može biti i dobra, posebno ako se želi uskočiti u dobar, najbolji tim u firmi i raditi na najtežim, najkompleksnijim i najkomplikovanijim zadacima. Tako je bilo i s Sandrom. Uletio je u najbolji tim u firmi i dobio svoj prvi zadatak. Za prvi zadatak dobio je cijelu sedmicu (sjećamo se ovoga svi! Neki od nas su dobili i više od toga, mjesec ili čak par mjeseci!). Ali, Sandro, kao i svaki mlad, arogantan, pun sebe programer želio je da se dokaže te je prionio na posao, marljivo radio i već isti dan poslije podne javio se svom šefu da ga obraduje i kaže mu kako je zadatak završen. I mogli bismo reći da ova enciklopedija počinje upravo tu. Sandro je, doduše, bio veoma sretne ruke, jer je imao šefa koji je znao, ali i htio da pokaže drugima. Da prenese svoje znanje i iskustva, bez izuzetka. Prošli su kroz kôd Sandrovog prvog zadatka i, naravno, uočili mnoštvo propusta. To je svakako bio veliki šamar za Sandra, ma kako se njegov šef trudio da bude ljubazan i da do detalja opiše šta su propusti te kako se mogu riješiti.

Sandro je, da bi pokazao koliko je pametan i iskusan, napisao i jednu metodu koja je bila veoma teška za razumjeti. Za pisanje takvih metoda zaista treba znanja, ali i iskustva. Kada je njegov šef vidio to, i nakon par minuta koliko mu je trebalo da shvati šta tu ipak piše rekao je: “Da li znaš koliko veliko nepoštivanje je ovo?” A zatim je objasnio šta to znači i rekao mu, da zamisli situaciju u kojoj svaki kolega pokušava da bude superpametan i namjerno piše kôd koji je teško razumljiv. Kako bi to bilo? Na šta bi softver koji razvijaju ličio i kako bi uopšte sarađivali, tj. radili timski? To je bio ogroman, drugi šamar za Sandra, ali i veliko iskustvo koje nam je evo, poslije više od 20 godina pretočio u knjigu koju sada možemo da čitamo i suosjećamo.

Vjerovatno nema tog progrera koji nije prošao kroz ovakvu ili sličnu fazu. Sandro je kao što se i očekuje bio bijesan, ali ne na sebe. Bio je bijesan na svog šefa, na to šta mu je šef sve rekao. Kako je pronalazio sve njegove greške i kako ih je opisivao. Možda ga je još više povrijedilo to što je opisao ustvari i kako svaku grešku prepraviti i koliko je problematična ta greška, kratkoročno i dugoročno. Nakon nekoliko ispušenih cigara i na desetine ili stotine izgovorenih psovki usebi upućenih šefu, ipak je shvatio da je to čovjek koji je odvoio par sati da pogleda njegovih 200 linija kôda, objasni mu sve gdje, šta i kako se može i treba popraviti. Ustvari, shvatio je da je upravo dobio svog prvog, iskusnog, pravog mentora koji želi da ga nauči kako biti dobar programer. Riječi koje su Sandra spustile na dno, ali i bile snažan motivator kasnije kroz cijeli život su one izgovorene od njegovog mentora i šefa na kraju njihovog razgovora:

“How it is done is as important as getting it done.”

“Kako je nešto napravljeno važno je koliko i da je uopšte napravljeno.”

Iz poglavlja: O čemu je ova knjiga

Razvoj softvera eksponencijalno raste. To je grana privrede u kojoj se eksperimentiše s upravljanjem ljudima i procesima kao nikada prije u historiji. Mnogo toga se promijenilo, posebno uvođenjem agilnih (brzih, hitrih, okretnih, prilagodljivih, živih) metoda, ali svejedno procenat veoma loših softvera na tržištu je možda veći nego ikada. I još gore od toga, taj procenat raste! Ova knjiga pokušava da predstavi jedan novi način razmišljanja, koji nije metodologija, ali skupa s nekom od agilnih metoda, poput scrum, lean, kanban i drugih veoma je kompatibilna i može dati odlične rezultate. Dobra je ne samo za programere, nego za sve one koji su uključeni u razvoj softvera direktno ili indirektno.

O Sandru

Sandro Mankuso (Sandro Mancuso) je čovjek koji je zavolio računare, ne samo kroz igru i zabavu, nego i kroz programiranje još od rane mladosti. Profesionalnu karijeru započeo je 1996. godine. Radio je za male i velike firme, startupe, konsultanske kuće, investicione banke. Sandro je proširio ideju Softverskog obrta/zanatstva, te za te potrebe čak osnovao i udruženje, zajednicu programera 2010. godine u Londonu. Ta zajednica se proširila širom svijeta i danas broji na hiljade zanatlija (da zanatlija, a ne programera). Cilj zajednice, odnosno, njegov lični kroz zajednicu je da se pokuša unaprijediti industrija softvera, a u tom cilju je i ova knjiga koju predstavljamo u nastavku.

5

Hits: 185