U Srbiji, IT sektor raste, razvija se, širi se tržište i na inostranstvo, a programiranje ili neka vrsta programerske pozicije su sve zanimljivije mlađoj populaciji, ali i onima koji se polako prebacuju u ovaj sektor. Ohrabruje činjenica da stranci vole da sarađuju sa ljudima iz Srbije, pa eto i više mogućnosti za unapređivanje znanja i, ako hoćeš, portfolia. Dakle, programerski posao postaje zanimljiv, ali šta je potrebno da budeš dobar programer i kako ga prepoznati u moru kodera na tržištu i da li je potrebna neka ultra dobra škola da bi se bavio ovim poslom?
Odmah da odgovorim na ovo pitanje: ‘’Ne! Ne treba ti škola ili fakultet, papir ili diploma i slično, da bi postao programer. Tačka!’’. Ono što ti je potrebno za početak je da voliš programiranje i sve što ide uz to, sa određenom dozom upornosti i snalažljivosti.
Odlike dobrog programera…
Po mom mišljenju, za dobrog programera ti je bitno da poseduješ određeni mindset koji će te čuvati od izliva negativne energije kad izađeš iz komfor zone prilikom kodiranja. Biće ih sigurno, pa zato moraš da gajiš određenu ljubav ili pasiju prema sedenju ispred kompa i čitanja konzolskih logova kad nešto nije u redu.
Kad smo to rešili, možemo početi sa odlikama koje krase odličnog programera…
-
Dobar programer je timski igrač
Programeri koji su timski igrači će biti uspešniji od samotnjaka koji se zakucavaju u svoj ćošak i niko ne postoji za njih. Postoje određeni kulturološki stereotipi koji se grade prema programerima, gde se smatra da su obično sami na svetu, čudni geekovi iz ćoška koga niko ne voli i koji se ne druži mnogo sa ljudima. Ok, postoje takvi likovi, kome više prija takva sredina, ali iz mog iskustva, takvi ljudi su retki. Programeri su najčešće timski igrači, i programiranje je generalno timski sport, gde više mozgova izrađuje neki softver, pa je dobra komunikacija ključ uspeha. Posao im je da rešavaju probleme u kreiranju softvera, ne samo da ispisuju milione linija koda, a to svakako zahteva dobru komunikaciju između timova, od project menadžera, preko dizajnera, QA, do kolega programera...
-
Dobar programer je skroman i nesebično deli svoje znanje sa ostatkom tima
Uspešni programeri ne donose svoj ego na posao. Bez obzira koliko su dobri u svom poslu, neće uvek biti u pravu. Drugi članovi tima mogu imati konstruktivne kritike tokom code review faze, jer kod može imati greške za koje se saznaju tek nakon isporuke proizvoda. Ako se dođe u tu situaciju, skromnost programera i sposobnost da hendluje svoje rekacije i ponašanje u takvim situacijama je važna osobina koju će svako iz tima pozdraviti. Sposobnost da prihvati kritike i ispravke od drugih, a zatim da to shvati kao učenje o tome šta možete unaprediti, čini dobrog programera još boljim.
Isto tako, spreman je da svoje znanje i iskustvo podeli sa ostalim članovima i na taj način utiče generalno na performanse i učinkovitost tima. Ovo je jako važno zbog cele IT zajednice, da programer bude spreman na knowledge share, jer iz nedelje u nedelju se širi zajednica, kako na kompanijskom nivou, tako i generalno u sektoru.
-
Dobar programer ima odlične tehničke veštine
Ovo je svakako logično, jer programer mora posedovati određena znjanja o tehnologijama koje koristi, kao i sposobnost da piše čist, uredan kod. Njegov kod se često dobro komentariše i mogu ga lako razumeti drugi članovi tima, što omogućava lako otklanjanje grešaka i održavanje celokupnog softvera.
Dobar programer takođe pokazuje svest o svojim ograničenjima i tehnologijama koje još nije savladao, jer kada mu se dodeli neki projekat, on može unapred da kaže kada je i da li je potrebna pomoć drugog programera.
-
Dobar programer je znatiželjan i uvek spreman na učenje
Radoznalost ga vuče i motiviše da savlada nove stvari, da bude u toku sa najnovijim trendovima u developmentu, lako i brzo kapira nove stvari i spreman je da širi svoje znanje na ostale članove tima.
Redovno čita tech blogove, sluša podcaste, posećuje konferencije i slično. Na svaki način se trudi da investira u sebe i nešto novo da ‘’upije’’, unapredi svoje znanje.
-
Dobar programer u slobodno vreme kodira
Koliko god zvuči kao kliše, odlika dobrog programera je konstantno kodiranje, jer on zna da može biti bolji samo vežbanjem. Ovde mora da se vodi računa o generalnom zdravlju i doći u balans, jer konstantno sedenje za kompom znatno utiče na razna fizička oboljenja.
Pored kodiranja u slobodno vreme, često u trenucima opuštanja bira da gleda tutorijale, kurseve iz kojih će pokupiti dodatna znanja, jer nikad nije zadovoljan koliko zna ili koliko je naučio. Čita knjige, online tekstove dok pije kafu ili na stanici čeka autobus, jer najbolje utrošeno vreme je vreme u učenju.
Ovde ne mislim da programer mora po ceo dan da kodira da bi bio uspešan i da bi mogao da se bavi ovim poslom. Zapravo, mnoge kompanije danas zagovaraju work-life balans gde savetuju ili ne dozvoljavaju svojim zaposlenima da u slobodno vreme provode za kompom, nego da se relaksiraju sa društvom ili da se praktikuje neka fizička aktivnost, neki sport.
Dodatni hobiji se preporučuju da se sklone misli sa day to day posla i radnog okruženja, pa programeri se često bave i drugim stvarima osim programiranja. Ovo je važno zbog psihičkog aspekta pojedinca, jer čovek ne može da se po ceo dan bavi samo jednom stvari, a da u nekom momentu ne oseti neki vid psihičke tegobe.
-
Dobar programer zna da googla problem
Ovo možda zvuči apsurdno, ali činjenica je da je dobar deo programerskog posla se utroši na googlu u pretraživanju rešenja problema. Kako god, ali googlanje je sastavni deo programiranja i tu nema priče.
Kad naleti na problem ili bag, programer zna gde da traži pomoć, kako da ‘’pita’’ google, gde da nađe kod i prilagodi ga svom projektu, zna kako da koristi eksterne pakete i biblioteke…
Mitovi da programer šamara po tastaturi 500 reči u sekundi kad ispisuje kodove, kao na filmu, su upravo to - mitovi. U stvarnosti nije tako, jer jedan feature u izradi može trajati dva dana ili dva meseca, ali nikako ne može trajati 2 minuta.
Iako mu konzola detaljno ispiše u čemu je problem, programer se obraća googlu za savet i činjenica je da je to must have skill koji se gradi vremenom. Otkrivaju se novi resursi za različite bagove, novi tutorijali se postavljaju na net, čak i besplatno. Sve može da se pronađe i uradi, ‘’samo’’ moraš da znaš gde da tražiš, a dobar programer to zna.
-
Dobar programer hvata beleške i čuva kod snipete
Niko ne može da se seti baš svega, pogotovu kad je kod u pitanju. Kad naiđe na traženi kod, kopira ga i nalepi ga u neku arhivu kodova (snippets), jer će sigurno u nekom trenutku ponovo moći da ga iskoristi. Ozbiljni programeri poseduju zbirku dobro obeleženih kodova koje je lako pretražiti i koji se brzo mogu iskoristiti u projektu.
Da rezimiramo...
Dobar programer se ne ističe kao individualac, već onim što radi za tim i nikad ne ide protiv tima. Uz to se trudi da maksimalno poveća produktivnost, daje smernice timu i uvek je otvoren za nova iskustva, učenje i nove skilove. Jednom rečju, izvlači najbolje iz tima.
Majstor je u razumevanju različitih tehnologija i čitavog procesa razvoja, spreman je da preuzme juniore na svoja leđa, da im da maksimalnu podršku kako bi se što bolje uklopili u tim.
Dobrog programera je teško naći, u smislu da već nije angažovan od strane neke firme, ali dobro što Srbija raspolaže odličnim kadrom u IT sektoru, tako da dobrih programera ima i biće ih sve više, kako se unapređuje IT zajednica i povećava interesovanje za programerskim poslom.
10 komentara