19.11.2021. ·
6 min

9 navika uspešnih developera

9 navika uspešnih developera

Kada zalazimo u temu navika, zalazimo u relativnu temu i ne odnosi se na svakog pojedinca ili je to nešto mandatory što moraš da poseduješ da bi bio developer. Navika koja je dobra za nekoga, ne znači da je dobra i za drugog, tako da sve zavisi od tipa ličnosti, pa zbog toga ću i ja ovu sekciju podeliti u dve grupe, personalne navike i tehničke navike, odnosno navike što se tiču samog developera i njegovog posla. Ovde neću pisati o navikama developera tipa, čim ustanem spremam lonac kafe, palim komp, proveravam email-ove, puštam playlistu, pokrećem dev okruženje i slično. Te taskove svako ima i svako ih hendla na svoj način :).

Da bi ostavio/la neki trag u poslu developera, moraš ipak biti strastven/a u kodiranju i voleti to do ludila, kako bi se ta želja za programiranjem prenela i na tvoju želju za usavršavanjem i učenjem. To će svakako u nekoj meri promeniti srž tvojih navika i trebalo bi da ti to ne predstavlja problem. 

Navešću po nekoliko navika iz obe grupe, ono što lično smatram da je potrebno pomenuti, kao i ono što sam zaključio iz razgovora sa drugim developerima - kakve su im navike i na koji način razmišljaju kad se pozicioniraju na svoje mesto (za komp, jer očito je ovo jedna od navika ili rutina :) ). 

Prvo, da se uhvatimo u koštac sa personalnim navikama koje prihvatimo, usvojimo i nastavimo da živimo sa njima.  Opet pominjem, ne važi za svakog pojedinca, pa ako se, donekle, ne pronalaziš u ovome, to je skroz ok :), siguran sam da ćeš se negde pronaći. Dakle, pored pasije za kodiranjem, dobro je steći sledeće navike:

Disciplina i upornost

Disciplina pomaže u boljoštanju produktivnosti i omogućuje ti da obavljaš taskove na vreme. Upornost je vrlina koja te ojačava i oblikuje da se nosiš sa svim izazovima koje donosi radno mesto, na kojem ćeš se usredsrediti na zacrtane ciljeve i rešavanje problema i bagova dokle god ih bude bilo. 

Konstantno učenje i usavršavanje

Znamo da se tehnologija razvija iz dana u dan, pa da bi bio i ostao u toku sa najnovijim promenama, moraš steći naviku da googlaš rešenja, da učiš iz grešaka, da budeš radoznao, da se prilagođavaš tržištu i na taj način da proširuješ svoja znanja. Ovo nekome može predstavljati problem, ali većini je sve to zabavno i intuitivno, jer se stiču novi i unapređuju postojeći skilovi.  

Postavljanje pitanja

Počinje od smelosti da se postavi pitanje. Može uštedeti dosta vremena ako je stekneš, ali uvek postoji ona nedoumica: da li je ovo glupo pitanje i da li će mi se kolege smejati ili misliti da sam glup/pa. Ovakav stav bi trebalo što pre prevazići. I ja sam mislio da postoje glupa pitanja i ustručavao se da pitam ponešto. U više navrata sam video koliko je to korisno i važno, tako da slobodno pitaj :).

Deljenje znanja i koda

Deljenje koda i znanja je odlična navika za ceo tim, pogotovu za sve koji su spremni da uče u pokretu. Baza znanja je u mnogim kompanijama nešto što se dugo kreira i neguje i dobro je steći ovu naviku što je pre moguće. Ovo će doneti mnogo koristi u smislu nadograđivanju znanja i skilova, jer ćeš imati priliku da dobiješ feedback o svom kodu od iskusnijih kolega, a i utiče na to da se projekti završe na vreme.

U nekim firmama se kreiraju aktivnosti na nivou celog tima, gde jedana osoba priča o svom poslu, izmenama, problemima, bagovima i slično, te na taj način upoznaje kolege sa budućim aktivnostima na projektu. 

Što se tehničkih navika tiče, dobro je ako što ranije stekneš sledeće navike:

Pisanje čitljivog reusable koda

Jedna od prvih stvari koju developer treba da nauči (a i da koristi) je pisanje čitljivog i reusable koda. Ovo je važno da bi ostali programeri iz tima mogli da razmeju šta si ti to napisao/la, te ako je potrebno, mogu ih lako prilagoditi projektu. Pored toga, čitljivost znatno doprinosi brzom otklanjanju grešaka kao i održivosti, pa stekni naviku da što pre pišeš kod na ovaj način. 

Korišćenje version control-a

Iako je ovo nešto se nauči na samom početku, još jedna efikasna navika programera je da implementiraju sistem kontrole verzija. Pomoću ovog sistema se prate promene napravljene u dokumentima, na veb aplikacijama, u softverskoj izradi...  

Često se u dev fazi prave greške i softver je pun bagova, pa developeri moraju da se vrate na prethodne verzije i počnu da ispravljaju greške. Mnogo je pozitivnih strana ovoga, pa ako ti je neko rekao da nije potrebno da naučiš git, taj te je slagao. Uči GIT, nije komplikovan. 

DRY koncept 

Svi znaju za ovaj koncept, ali  nije na odmet da se podsetimo: ne ponavljaj se kad pišeš kod (Dont Repeat Yourself). Početnici često pišu kod sa ponavljanjem i iskusnije kolege to ne odobravaju, jer troše vreme na ispravljanje koda.

Jasno je zašto bi bilo korisno da se što pre stekne ova navika, ali početnicima je teško u početku da se prilagode. Srećom, uz pomoć iskusnijih kolega, prilagođavanje ide brzo. Pokušaj, ako si na početku, da malo više iščitaš o ovoj temi da stekneš uvid zašto je korisno i koje olakšice nudi ovakav način pisanja.  

Pravljenje unit testova i otklanjanje bagova u hodu 

Nije toliko česta navika koja se stiče kod developera, ali jako korisna na duže staze. Testiranje i otklanjanje grešaka neki put može potrajati duže, nekada čak dovesti i do pomeranja rokova isporuke, ali ako developer uporedo radi i unit testove, ovo znatno ubrzava ceo proces izrade. 

Lakše je developeru da otkrije grešku prilikom izrade neke celine, nego softver testeru, pogotovu što on zna unutrašnju strukturu, dok tester mora da pronalazi samostalno, pa se nekada desi i da promakne bag.

Dokumentovanje koda

Postoje nekoliko načina za dokumentovanje koda, najčešći su korišćenje komentara unutar koda, pisanje dokumentacije u posebnom dokumentu, kao i druge tehnike dokumentovanja. Važno je voditi računa o preciznosti dokumentacije, jasno i precizno predstaviti šta određeni kod radi, koje probleme rešava, koja mu je namena, eksterne reference i slično. U skladu sa tim, važno je davati i smislena imena funkcijama i varijablama koje pišeš.

Da ne širim  dalje, lista navika je mogla biti i duža, ali ovo neka bude neki baseline što se tiče personalnih i tehničkih navika kod developera. Neko će ih usvojiti pre, neko posle, ali važno je da sam izgradiš svoj model po kom ćeš se razvijati u ovom svetu i koji će ti pomoći da lako rešavaš probleme, taskove, ako hoćeš i bagove. Značajna je upornost koju ćeš uvek trenirati, ali i dovoditi u pitanje kad izađeš iz komfora.

Oceni tekst

21 osoba je glasala, prosečna ocena: 3
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ć.

10 komentara

Bane Bane 21.11.2021.
7

Dobar programer proveri šta je otkucao a dobar novinar i pisac se služi jezikom sa elementarnim nivoom pismenosti. U podnaslovu ti stoji Poostavljanje pitanja, a pretpostavljam da nisi mislio na Objektno Orijentisano Postavljanje Pitanja. Takođe, treba da se upoznaš sa pravilima transkripcije srpskog jezika; članak ti je prepun tuđica, pozajmljenica, stranih reči pa i slova koja ne postoje u srpskoj latinici. Znam da publika za koju pišeš nije nešto ni pismenija ni načitanija od tebe, ali slab je to izgovor obzirom koliko se trudiš da te ljudi shvate ozbiljno i kao profesionalca. I novinarstvo je veština, da ne kažem skil. Prestani da kasapiš srpski jezik. Na telefonu sam pismeniji od tebe za tastaturom.

Stefika Stefika 23.11.2021.
-2

Jao, dokad više ova bumerska tortura!? Pročitaj šta je napisano, a ne kako. Zamisli, pRaViLa tRaNsKriPcIjE boohoo, šta ćemo sad, plaky uništavaju srpski jezik

krsta krsta 24.11.2021.
3

ajde, realno, morao bi čovek da povede računa i o formi...al meni su saveti ok

miki miki 24.11.2021.
2

zamisli molim te, pismenost je tortura. pa i ne mora da se opismeni. neka ostane nepismen, ja samo ne znam sto bi onda ovo neko citao i... placao... a ti placi nad pRaViLiMa koja pokazuju da ni u osnovnoj nisi slusao na casu nego si blenuo u fesjbuk na mobilni

Vladimir Jovicic Vladimir Jovicic 24.11.2021.
-5

"Pisanje unit testova" i "Dokumentovanje koda"...hm. Verovatno negde, u nekoj firmi, u nekoj zemlji postoji neko ko radi sve to. U paralelnom univerzumu.U realnom zivotu, dokumentaciju pise samo onaj ko mora (kad mora)."Good code is self-explanatory".Unit testove ne pise skoro niko. Ostali point-i su uglavnom ok. 

Tamara Zimonjic Tamara Zimonjic 24.11.2021.
6

Ne slažem se sa komentarom da se ne pišu unit testovi. Svaka firma koja drži do kvaliteta svog proizvoda ili proizvoda koji isporučuje ima i programere koji ne beže od pisanja unit testova i podržavaju takvu i sličnu metodologiju razvoja (tipa test-driven-development-a). Problem za mnoge developer-e je da promene svoj način razmišljanja u ovakvom načinu rada pa se nerado hvataju ovakvog posla a obično pod parolom: nema vremena, za šta nam služi QA i slično.

Vladimir Jovicic Vladimir Jovicic 25.11.2021.
-5

Kompanije koje drze do sebe i kvaliteta proizvoda zaposljavaju kvalitetne programere, a ne code monkey-e, koji ce ici putanjom napisi praznu metodu - napisi test koji ne prolazi - napisi metodu da test prodje. Brains driven development umesto TDD.

Bane Bane 25.11.2021.
0

Kvalitetni programeri testiraju svoje programe i trude se da im pokriće koda bude 100%. Dobar programer će pored junit testova pisati i integracione testove, pa što da ne i funkcionalne u Seleniumu i sličnom alatu. Kladim se da nisi čuo recimo za komponent testove? A za automatsko testiranje CI/CD pajplajna? Nisi? E vidiš, to je razlog zašto nisi nikada čuo ni za visoku platu ni kvalitetan projekat. To je tvoj Brains Driven Development. Sediš u kancelariji i praviš se pametan, dok ozbiljni ljudi uzimaju ozbiljne pare na ozbiljnim projektima.

Vladimir Jovicic Vladimir Jovicic 26.11.2021.
-1

Ne bih se kurcio na tvom mestu, pogotovu kad su plate u pitanju. Ne znas ni ko sam, ni gde radim ni sta radim. Samo pokazujes da si nevaspitan. 

Ivan Vukadinovic Ivan Vukadinovic 27.11.2021.
1

Sredite bar malo ovaj responsive kod komentara. Nije neka nauka. I overflow usput. 

Iz ove kategorije

Svi članci sa Bloga