Mudrovanje – Softver zanatlija XII

Ako ste tek skočili na ovu stranicu, možda prije svega da pročitate prethodne dijelove i to:

Ovim današnjim člankom završavamo knjigu autora Sandro Mancuso koja govori o tome kako biti stručnjak i to vrhunski, poput vrhunskog zanatlije koji usput razvija vještine pragmatizma i ponosa – The Software Craftsman (Nećemo stavljati link ka online knjižarama gdje se knjiga može kupiti, kako ne bismo nikoga reklamirali niti favorizovali).

Pročitasmo i prokomentarisasmo cijelu knjigu. Kao što je jedan čitalac kazao u komentaru na jedan od prethodnih članaka (da izvinite):

E što se isprdi!

Tako bi se možda moglo opisati sve ono što je Sandro pisao, a mi komentarisali kroz članke prelazeći poglavlje po poglavlje. Ili možda drugim riječima – mudrovanje. Sve je to tako do ovih posljednjih poglavlja u kojima nam Sandro govori da sve ono što smo pročitali valja i usvojiti, a usvajanje svega nije jednostavno i ne može biti za par dana, rijetko nekoliko mjeseci, a optimistično par godina!

Karijera softverskog zanatlije

Za sve one koji su pažljivo čitali ono što pišemo, ili još bolje ako imaju priliku nabaviti knjigu pa pročitati sve detalje u originalu, uvidjeće sigurno da im nedostaje jako mnogo znanja i vještina iz mnogih oblasti koje jednog prosječnog programera vode ka velemajstorstvu u razvoju softvera. Uzimajući u obzir mnoge prepreke (porodični status, okolina, ekonomska i politička dešavanja u državi, mjesto življenja, …) čovjek doista može pasti u depresiju ili čak izgubiti volju i bilo kakav moral, jer će mu se ovako nešto činiti nedostižno ili još gore, elitistički. Veli nam Sandro da je i on prošao kroz mnoge faze, pa i neke od ovih koje smo mi naveli ovdje. Međutim, čovjek sebi mora postaviti jasan cilj šta želi u životu. Može raditi par mjeseci ili par godina možda i negdje gdje ne voli ili ne želi ili se ne vidi, ali ima izvrsnu priliku da stekne iskustvo i nove vještine. Treba imati fokus na tome i ne gubiti jasnu životnu vodilju. To je svakako teško, posebno ako se nema podrška od bližnjih, ili još gore, ako su čovjeku bližnji kamen spoticanja umjesto podrška svake vrste.

O ovome Sandro piše ustvari u zadnjem poglavlju knjige, no mi smo se odlučili ovdje spomenuti malo prije.

Čovjek nije drvo, ima noge, i može i treba da se kreće. Ako čovjek vidi da ne može uspjeti u svojoj lokalnoj zajednici, u regiji, državi, pa neka potraži neko drugo mjesto na Planeti. Svuda je Sunce isto, ali ako se može ostvariti u karijeri, ne treba bježati od toga da se promijeni mjesto stanovanja, čak naprotiv.

Promjene

Jednom kada čovjek riješi sa samim sobom da će biti odvažan u izgrađivanju vlastite karijere i to na način da poboljša svijet oko sebe svojim postojanjem, tada je napravljen ogroman korak, ali nažalost, otvara se mnoštvo drugih, nekada veoma teško savladivih prepreka.

Ono što čovjek mora naučiti nije samo inžinjerstvo, matematika, kako rade računari, kako se piše kod u programskim jezicima i koriste programski okviri, nego i kako rade ljudi. Kada čovjek odluči mijenjati svijet, susrest će se s mnogo tipova ljudi, a neki od njih su:

  • Neupućeni – Ovo su ljudi koji jednosavno ne znaju da postoje drugi alati i prakse. Vode se onime što su naučili nekada davno i to primjenjuju godinama. Oni se uglavnom plaše promjena i zbog toga ne čitaju knjige, ne prate blogove, vijesti iz svijeta nauke i tehnike. Možda čak imaju i neke druge hobije i nemaju strast u programiranju.
  • Povodljivi (Sandro je nazvao ovaj tip ustvari stado – The Herd) – To su ljudi koji iako možda imaju iskustvo u programiranju, nemaju u donošenju odluka. Nedostaje im samopouzdanja, pa odluke radije prepuštaju drugima. Ljudi, programeri iz ove skupine su uglavnom povodljivi, sljedbenici, a nisu vođe. Stoga oni čine dobar materijal koji se da iskoristiti za implementaciju novih vještina u timove.
  • Cinici – Svakako, svi ih znamo (a možda smo i sami takvi). To su oni koji bi se neprestano raspravljali i dokazivali kako su baš oni pametniji i iskusniji od drugih. Nije rijedak slučaj da oni od muhe prave medvjeda, a sve zbog nekih ličnih odnosa ustvari. Oni će radije pronaći način da potkopaju cijelu ideju, nego što će pročitati ili naučiti nešto novo.
  • Opečeni – Ko se na mlijeko opeče i u jogurt puše, mi bismo kazali. E baš tako se ponaša ova grupa programera. Oni su nekada u prošlosti nešto probali, nije im išlo od ruke ili još gore, ispalo je veoma loše i ne žele više na tu temu uopšte da razgovaraju. No, okolnosti su možda bile takve da nisu imali sreću. Zbog toga ih treba ohrabriti da probaju barem još jednom.
  • Stisnuti vremenom – Oni su uvijek zauzeti, prezauzeti. Imaju previše obaveza koje ne stižu završiti, a kamoli učiti ili probati nešto novo. Vjerovatno je to jer imaju loš odnos prema samoorganizovanju ili ih pak menadžeri pritiskaju preko svake mjere. Oni se mogu veoma dobro i kvalitetno iskoristiti uz pravilnu motivaciju i rasterećenje postojećih obaveza koje imaju, te podršku kod samoorganizovanja.
  • Šefovi – Ako šef nije tehnička osoba, on vjerovatno neće ništa razumjeti od onoga što vi želite da implemenitarte i poboljšate u timu ili cijeloj firmi, odnosno projektu na kom radite. Zato s njima treba razgovarati na njihovom jeziku. Umjesto da im se kaže, “trebaće nam vremena da napravimo unit-testove”, valja reći “trebaće nam vremena sada da osiguramo jeftini kod kasnije” i slične menadžerske izjave. Međutim, ako je šef tehnička osoba onda mogu biti dvije različite. Ako je bio neko ko ne voli programiranje i zato je otišao u šefovske vode, onda voli da pametuje kako nešto ne treba i kako je nešto važnije. Međutim, ako je neko ko voli nove stvari, čita, istražuje i usavršava se, on može biti veoma velika podrška.
  • Iracionalni – Najgora vrsta programera, ali i osobe s kojom se može ili mora sarađivati, vjerovatno. Skeptik ima logične i racionalne argumente kod diskusija i rasprava, ali iracionalni tipovi imaju uvijek nešto protiv. Čak i kada ih se prisilii da rade nove stvari oni će uvijek gunđati i za svaki, i najmanji propust nekog od članova tima likovaće. Tražiće suprotna mišljenja po blogovima i knjigama samo kako bi se oduprli promjenama. I s tim nikada neće prestati bez obzira što poslije svake rasprave budu poraženi.
  • Ravnodušni – Loši testovi su gori nego kada ih nikako nema! Oni nam onda daju veoma lažnu sliku o cijelom softveru, a ravnodušni tipovi uopšte ne unose strast u pisanje ni koda ni testova. Njima je važno da se sve zeleni i da je ispunjena forma, ali ne i suština.
  • Povrijeđeni (Sandro ih naziva Pogrešni – The Wronged) – su tipovi koji misle da im firma čini nepravdu. Firma ne cijeni njihovo znanje i vještine. Malo su plaćeni u odnosu na druge kolege i kolegice. Veoma su opasni tipovi koji mogu unijeti loš duh u tim, ali i nekvalitetan kod, a sve zbog toga što smatraju da im se čini nepravda i da oni zaslužuju mnogo bolje mjesto u firmi.
  • Nesposobni – Za razliku od neupućenih, oni imaju odgovarajuća saznanja i vještine. Vole da čitaju, ali uvijek se bave nekim sporednim temama – poput teoretičara zavjera (izvinite teoretičari, nemamo ništa protiv vas). Oni će uvijek naći argument, i to neki valjan, da je negdje neko rekao ili iskusio nešto što je u veoma direktnoj suprotnosti s onim što vi želite impementirati. Ali oni to nisu nikada probali, samo u teoriji znaju o tome.
  • Arhitekte iz Sultanovih dvora – To su oni tipovi koji misle da su svu pamet svijeta pobrali. Oni žele da donose sve odluke, pa skoro i kako će ko da se pozdravi ujutro kada dođe u kancelariju, ali zato veoma vješto izbjegnu svaki mogući vid odgovornosti, pravdajući se nekakvom birokratijom i baveći se politikanstvom. To su oni koji crtaju veoma lijepe dijagrame i prave još ljepše prezentacije kojima zadivljuju menadžere, ali inžinjerima ne govore skoro ništa, ali od njih očekuju da im čitaju misli.
  • Nesigurni – Ovo su ljudi koji možda i nisu previše talentovani za jednog progamera, a još manje da budu softverski zanatlija. Oni su se našli u svijetu IT-a u od kojeg preživljavaju, rade razne poslove, od popravljanja printera do pisanaj koda. Njima su ljudi koji žele biti softverske zantlije umišljeni i vide ih kao prijetnju.
  • Fanatični – Kao što imamo religijske fanatike, tako imamo fanatike i u svijetu programiranja, koji su čini se još i mnogo gori – srećom nisu teroristi, još uvijek. Neko se slijepo prihvati jednog programskog jezika ili jednog programskog okriva i ne želi da vidi išta izvan toga. Veoma su žustri u raspravama jer se vode opsesijama.

Da bi se znalo kako se ophoditi sa svima njima, valja naučiti ponešto i o psihologiji, sociologiji, komunikacijama, govoru tijela. Drugim riječima valja dobro uraditi domaću zadaću, prije nego se krene na put mijenjanja svijeta. To svakako na prvom mjestu podrazumijeva, prihvatanje svake ličnosti onakve kakva ona jeste. Bivanja otvorenim, transparentnim i veoma poštenim prema svima, te veoma važno, naučiti se slušati i uvijek imati argument kod rasprava.

Biti pragmatičan

Pragmatičan je pridjev nastao iz latinske riječi pragmaticos, a što znači stvaran, opštekoristan, djelotvoran, onaj koji daje poučno objašnjenje o nečemu.

Takav, pragmatičan, treba biti svaki softverski zanatlija! Od njega će se uvijek zahtijevati vrhunski kvalitet, jer će on sam svojom pojavom odavati da mu je kvalitet i zadovoljstvo klijenata na prvom mjestu. Svakako kroz sve to, on želi da izgrađuje sebe,  svoju karijeru i bude od koristi cijeloj programerskoj zajednici u cijelom svijetu.

Da bi se to postiglo, potrebna je hrabrost i odvažnost da se suoči, kako smo već prije rekli sa samim sobom, sa svim vrstama ličnosti s kojima će se susretati u životu, ali i otvorenosti spram tehnologija, tehnika, znanja i vještina koje će mu pomoći.

Ono oko čega treba biti veoma pažljiv kod promovisanja ideja, motivisanja ljudi ili prisiljavanja kroz birokratske aparate firmi jeste da se ne postane magarac i namćor.

Izvor: https://pixabay.com/
1

Hits: 105