Obrazovanje

Ove četiri karakteristike treba da ima svaki budući programer

Ove četiri karakteristike treba da ima svaki budući programer
Foto: N.N. | Ove četiri karakteristike treba da ima svaki budući programer
N.N.

Zamislite da upoređujete rezime dva programera: programera A i programera B. Oba kandidata imaju gotovo identične vještine: jezici, okviri, platforme, metodologije i tako dalje.

Oni su praktično iste osobe – na papiru. Ipak, postoje određeni indikatori koji bi mogli da ukažu na to da će programer A vjerovatno biti znatno uspješniji u karijeri od programera B, skoro u svakoj kategoriji. Kako?

Tehničke vještine i iskustvo mogu da vas dovedu samo do određene tačke. Izuzetno uspješni programeri razvijaju i određene karakteristike, ponašanje i razmišljanje, koji ih u mnogo čemu razdvajaju od mnoštva drugih kolega.

Pitali smo različite profesionalce u programiranju o navikama i osobinama koje odvajaju odlične programere od ostalih. Evo koje od tih navika su ključne za uspjeh.

1. Pišete čist, višekratni kôd, koji je lakši za čitanje i testiranje

Postoji pregršt načina za pisanje čistog koda, koji je lakši za ponovnu upotrebu, čitanje i testiranje – ali bez obzira na metod, to je sve bitnija karakteristika visokokvalitetnog razvoja softvera.

Endru Mejdži, menadžer za razvoj softvera u  kompaniji „Enigma Digital“, sa sjedištem u Velikoj Britaniji, nudi ovu polaznu tačku: svakoj funkciji dodijelite samo jednu svrhu.

„Kada počnete da pišete kôd, uobičajeno je da počnete da pišete liniju po liniju koda, a funkcija postaje sve veća i veća", kaže Mejdži.

To bi moglo da izgleda kao lakši put u početku, ali stvara nekoliko problema: vaš kôd postaje teži za čitanje, teže je njegovo ponovno korišćenje i teže ga je testirati.

„Funkcija treba da uradi samo jednu stvar. Ako radi više od jedne stvari, nema fokusa", ističe on.

Mejdži također savjetuje dodjeljivanje jasnih, značajnih imena varijablama i funkcijama – što bi trebalo da bude jednostavnije ako pratite pravilo „jedna funkcija – jedan cilj“.

„Kao programer, vi provodite više vremena čitajući svoj kôd nego pišući ga", napominje Mejdži. „Važno je da kada se vratite na svoj kôd, na primjer nedjelju dana nakon pisanja, brzo i lako možete da razumijete šta će taj kôd da radi.“

2. Shvatate kako vaš kôd pomaže u vođenju cijelokupnog poslovanja

Ima i previše programera koji umiju da napišu kôd, primjera radi, za novu mobilnu aplikaciju neke kompanije. Mnogo je manje onih  koji vide širu sliku i razumiju zašto kompanija uopšte gradi mobilnu aplikaciju.

Odlični programeri „razumiju kako kompanija funkcioniše na poslovnom nivou, govore poslovnim jezikom i savladali su prevođenje poslovnog jezika na tehnologiju i obrnuto", kaže Tod Stiven, potpredsjednik za softverski inženjering u kompaniji „Ask Applications“.

Slično tome, Stiven dodaje, odlični programeri mogu da razgovaraju o vrijednosti tehnologije u poslovnim terminima –  i to tako da ih razumije ostatak kompanije, uključujući i laike.

Žoze Migel Perez, šef tehničke službe (CTO) u kompaniji „Market Goo“, dijeli sličan pogled na ovu osobinu programera:

„Oni žele da razumiju i šire ciljeve, namjere i uticaj projekta, koji prevazilaze ulogu koju oni igraju u projektu."

Evo krucijalnog koraka za bolje razumijevanje doprinosa vašeg rada toj velikoj slici: fokusirajte se na korisnika ili kupca.

„Uspješni programeri preuzmu odgovornost za ono što isporučuju – ne samo kompaniji, već i korisnicima", kaže Klej Smit, programer u kompaniji „New Relic“.

3. Slušate više nego što pričate – ili barem slušate prije nego što progovorite

„Ako ste u kancelariji sa drugim programerima, prvo slušajte, a zatim govorite", kaže Kristofer Mendi, menadžer programera u kompaniji „Evus Technologies“. „To je najbrži način učenja."

Ovo zahtjeva poniznost, posebno ako mislite da ste najpametnija osoba. Veliki programeri imaju „sposobnost i spremnost da priznaju kada nešto ne znaju", dodaje Perez. Štaviše, on smatra da sjajan programer nije onaj koji koristi mnoštvo tehničkih stručnih izraza nego onaj koji umije da prizna da možda još ne zna odgovor na određeno pitanje.

4. Imate disciplinu

Talenat, osim možda u ogromnim količinama, nije sve. Zaista, talenat ili vještina su samo dio formule za uspjeh. „Disciplina je drugi dio", kaže Gadi Pitaru, šef tehničke službe (CTO)  u kompaniji „Badger Maps“. „Visokokvalifikovani softverski inženjer bez discipline je poput starog mornara bez karte: dobar u upravljanju brodom, ali ne može da pronađe obalu."

Pitaru opisuje disciplinovanog softverskog inženjera kao nekoga ko ne žrtvuje kvalitet zarad brzine. Ali kada je to apsolutno neophodno, ti programeri su „svjesni tehničkog duga koji stvaraju i borbe koja ih očekuje u budućnosti."

On dodaje da su sjajni programeri osobe koje prihvataju procese, jer priznaju da su postavljeni na to mjesto kako bi pomogli da projekti uspiju.

„Oni su u potpunosti prisutni tokom pregledanja kodova i podstiču konstruktivnost", kaže Pitaru.

„Sjajni programeri su oni koji znaju koliko vrijedi fokus na programerski rad. Oni shvataju i znaju koliko je fokus važan i rade sve da bi obezbijedili sebi vrijeme u kome će biti fokusirani samo na rad, bilo da je to tako što isključe sve ono što ih ometa – od telefona do društvenih mreža, ili tako što koriste slušalice – da pomenemo samo neke načine za to.“

Da zaključimo: ako želite uspješnu karijeru u programiranju, potrebno je da imate tehničke vještine, ali i neke dodatne vještine, koje se zovu transverzalne ili „meke“ vještine.  Zato kratki i brzi kursevi i samoedukacija nisu dobra metoda učenja. Da biste stekli potrebne vještine i znanja potrebno je da prođete obrazovni program od najmanje 12 mjeseci, koji uključuje i praktičan rad i upoznavanje sa „mekim“ vještinama. Takvi edukativni  programi postoje i kod nas, a više o njima možete da saznate na ovom linku.

 

Najčitanije