31.12.2021. ·
8 min

Loše osobine developera

Loše osobine developera

Dohvatismo se i ove teme. Neko će (ili većina) pogrešno razumeti ovaj tekst, možda malo i skrenuti na neku od strana, pa će ne daj bože, biti  povređena sujeta, ali suština ovog teksta je da se opiše neka ‘’loša’’ osobina kod pojedinca, kako bi se, eventualno promenila ili otklonila i na taj način unapredi sopstveni tehnički razvoj.  Recimo da ću pisati o svojim lošim osobinama i osobinama koje sam primetio u svom dev okruženju. Ne shvataj ovaj tekst lično. Nije uperen u tebe, nego na moju bagru :). Naravno, ovi moji će mi svakako naplatiti to već na sledećem pivu.   

Kao i uvek, playlista je spremna, lončić kofeina je na poziciji između dva monitora na stolu, pa možemo da uletimo polako u temu.  

“Ovako bi trebalo da se kodira!’’ 

Ljudi koji počinju svoj put u programiranju, često na osnovu raznih tutorijala zidaju znanje i kad postanu bolji u nekom stacku, misle kako je to jedini način za kreiranja aplikacija, kodiranja i rešavanja problema. Kad počneš da radiš u nekom manjem timu, shvatiš kako si sve vreme imao pogrešan stav i kako bi trebalo da menjaš, zamisli,  svoj način kodiranja zarad tima. Ovako ćeš svakako više naučiti i napredovati, ali u tom trenutku, kad si savladao jedan stack i jedan način pisanja, teško ti je da skontaš da su to samo osnove nečeg mnogo većeg od tebe i tvog znanja u tom trenutku. To je ok, prilagođavaš se projektu i načinu pisanja koda kakav je usvojen mnogo pre tebe. Svojim dolaskom doprinećeš timu u nekom segmentu razvoja u kojem si dobar, možda i u celini, ali ne bi trebalo da imaš pristup da se kodirati može na samo jedan način. Slobodno predloži promenu, razmotri mogućnosti sa timom, ako se složite oko izmena - super, doprineo si poboljšanju nečega, ako se ne složite, nastavi dalje. Naučio si.  

‘’Mrzi me da komentarišem kod, nepotrebno je i oduzima vremena’’ 

Da oduzima vremena, to se slažem, da je nepotrebno – tu se ne slažem nikako. Moram priznati da je ovo bila moja loša osobina, jer sam bio zagovornik ove teorije i mogu ti reći da sam bio u većem haosu nego da sam iskoristio par minuta više da iskomentarišem kod.  

Bio sam iz fazona, pročitaće kod, znaće šta se dešava, šta radi i čemu služi, ne moram da gubim vreme na opis… Udarih glavom o zid onog momenta kad sam se vratio na svoj kod posle dužeg vremena, pa pogađaš, nisam imao pojma čemu služi iako sam ga čitao pola sata i razgibavao mozak da skontam koja mu je namena. Čovek tad svašta sebi kaže narokan kofeinom, u negativno hajpu propraćen nervozom zašto nisam bio pametniji i slično. Tada je došao onaj “AHAAA” momenat i tada sam shvatio da je to loša stvar koju neko može gajiti kao developer. Jesi li se pronašao? Nema veze, ne moraš da kažeš :D. U svakom slučaju, danas kad nešto izrađujem, najviše vremena razmišljam gde je potrebno iskomentarisati kod, kako da opišem funkcionalnost, a da ima nekog smisla, što i savetujem i tebi da usvojiš to što je pre moguće, ali samo ako si se pronašao :D. 

“Moja ispravka je dobra, neko je tamo napravio grešku!” 

Napisao si par “Hello world.” aplikacija i postao si veliki haker pod nadimkom NEO 2.0 i razumeš da si najbolji za tastaturom i da sve možeš kreirati. Dođe tako čoveku da misli o sebi kad završi par tutorijala na nekom online kursu, pa spuca u CV da zna i da razume sve i svašta. Nije sva krivica na njemu, video je u oglasu da se traži front end developer koji treba da zna sve backend alate i da poseduje ozbiljne cyber security skilove. Onda pomisli da je majstor svog zanata i umesto da gradi znanje, gradi svoj ego.  

Jako loša osobina kod developera je veliki ego. Samo zato što ne razumeš kako i zašto neki kod radi, to ne znači da je loše napisan ili da ga treba menjati, jer ga ti nisi napisao. Jasno da ćeš ti napisati bolji i lepši kod iz nekog tutorijala koji si pogledao na netu, ali shvati da nisi jedini koji zna. Svoje nedostatke prebacuješ na druge ljude i ne prihvataš kritku na svoj račun iako je ta kritika upućena sa najboljom namerom da se unaprediš kao developer. Egoisti su često glasni, prolaze na priču, kite se tuđim perjem i iz svake situacije se izvuku na foru, ne prihvataju tuđa rešenja i ne bave se problematikom. Imaju znanja, ali nisu voljni da dele sa ostatkom tima, ne dozvoljavaju nikakav kompromis i prosto mora da se radi na neki njihov način ili to ništa ne valja. Najčešće fraze koje upotrebljavaju su: “Nisam ovo uradio!“, “Ovo izgleda loše!“,  “Nije moj problem“, “Ovo nije povezano sa mojom popravkom, ali je neko tamo napravio grešku!“ i slično. Uuf, zbog ovoga ću se naplaćati piva :D. 

“Samouki developer?! Potreban nam je neko sa fakulteta u timu?” 

Potcenjivanje... Ovde ne pričam samo u poslovnom IT svetu nego generalno. Ne treba nikog potcenjivati, jer ne znaš šta je sve prošao na svom putu da stigne tu gde jeste, a stigao je do tima u kom se i ti nalaziš. Ako malo razmisliš o ovome, ako sklopiš takav stereotip o nekome ko ne dolazi iz jake škole programiranja kao ti i da ne poseduje dovoljno znanja kao ti, a opet eto ga u tvom timu, šta ti to onda govori, šta onda to govori o tebi? Da je tvoje znanje isto slabo, jer ste na istom nivou?  

Samouki developeri ne moraju biti loši developeri samo zato što ne dolaze sa IT škola, fakulteta i slično. Mnogi developeri koji su završili jake škole, govore da nisu dovoljno naučili, nego da su stekli podlogu za dalje zidanje znanja. Ono što samouki developer može, je da se u početku usmeri na stakove koji mu se sviđaju, odnosno tehnologije u kojima bi mogao da izgradi dobru karijeru, što kod formalnog obrzaovanja nije slučaj. U školi moraju da uče po programu koji je definisala država. Za ove programe je karakteristično što uglavnom nisu dovoljno savremeni. Oba pravca imaju svoje pozitivne i negativne strane, razume se, ali nikoga ne bi trebalo potcenjivati. Znanje se stiče dokle god si spreman da učiš i da posvetiš vreme učenju i usavršavanju. Postoje odlični samouki developeri koji zaslužuju jednako poštovanje kao i developer koji je završio faks. 

“Sam ću! Ne treba mi tim, ne treba mi niko!” 

Neki ljudi su introvertni, povučeniji i ne vole da rade u timu, a to samo po sebi nije loša stvar, ali programeri često to rade na svoju štetu. Govorim o situaciji kada programer insistira da radi samostalno i nikako drugačije, jer je to obično znak intenzivne arogancije u smislu da ta osoba zna da može i ume da uradi bukvalno sve sama, što može dalje da prouzrokuje da ta osoba veruje da ne mora učiti ništa novo, niti se na bilo koji način prilagođavati i unapređivati timu ili kompaniji. Drugo, dešava se da takvi programeri ne mogu tolerisati kritiku ili konkurenciju, prihvataju nerealne izazove i taskove, ne prihvataju nikakvu pomoć, a često se rokovi ne ispoštuju. To ih sprečava da izrastu u ozbiljne i izuzetne programere, što bi donelo dobrog i firmi u kojoj rade, a i njima samima, naravno. Dve glave su uvek pametnije od jedne i ne kaže se džabe da najbolji programeri rade u parovima. 

“Stackoverflow, copy, paste… Rešeno!” 

Svi poznajemo ili smo upoznali nekog ovakvog tipa... Problem pronađu na stack-u iskopiraju, pejstuju gde treba i to je to. Programeri se lako upecaju na ovakav vid rada, gde se relativno brzo dođe do rešenja, pomisle da su produktivni, a ne razumeju šta su to rešili kopiranjem. Na duže staze ovo može biti jako veliki problem prilikom izrade kompleksnijih sistema i aplikacija. Nedostaje mu motivacija da nauči i razume problem, srećan je što pušta druge programere da rade njegov posao, ne mareći da li će tim cimanjem njega/nju dovesti u tešku poziciju, jer je lakše rešiti problem kopi pejstovanjem. Sve se menja kad lead programer zagrmi i traži da mu se objasni ko je i zašto ovako rešio problem, koji je usput stvorio gomilicu drugih problema… 

Ovde bih se zaustavio sa ovom temom, jer postoje mnoge loše osobine kod svakog od nas na kojima je potrebno konstantno raditi, ali na svaku jednu lošu osobinu, imamo barem 3 dobre. Ako prepoznaješ kod sebe neku od ovih osobina, pokušaj da ih sagledaš i razumeš, jer će ti to pomoći da ih u skorije vreme i otkloniš. Nadam se da razumeš šta hoću da kažem, ali konstantan rad na sebi i svom znanju, ne može da škodič. Pokušaj da stičeš i učiš nove skilove i znanja, usput se zabavi i samo guraj napred, a ja sad moram da isplatim određenu valutu određenim ljudima zbog ovog teksta :D. Znamo se, pa valuta nije šušteća, nego tekuća, pa ti ako si razpoložen/a javi se :D.  

 

Oceni tekst

29 osoba je glasalo, prosečna ocena: 4
Ivan Kuzmanović Ivan Kuzmanović

Običan i opušten lik, technology freak. Čovek koji kad ode u šoping po odeću (ili bilo šta drugo), vrati se sa nekim tech gedžetom ili komponentom za PC. Bavi se web programiranjem, trenutno kao frontend developer, sa ciljem da se lagano prebaci u fullstack kad se poklope sve kockice u glavi. U slobodno vreme kad ne ispija piva sa društvom, čita knjige, tech blogove, gleda filmove, serije, šeta uz reku i, naravno, gejming do kasno u noć.

2 komentara

Maja Maja 11.01.2022.
7

Postoji konvencija pisanja koda za svaki jezik.

Dimitrije Dimitrije 19.01.2022.
1

Programiranje je umetnost. Jezici su samo alat za resavanje problema i stvaranje umetnosti. Toliko ljudi iz non-tech sveta imaju dobrih ideja koje ne realiziju jer je programiranje predstavljeno kao bauk. Treba se igrati, to je sustina svega. Tekst je vrh. Sve najbolje.

Iz ove kategorije

Svi članci sa Bloga