Ove četiri karakteristike treba da ima svaki budući programer
Tehničke veštine i iskustvo mogu da vas dovedu samo do određene tačke. Izuzetno uspešni programeri razvijaju i određene karakteristike, ponašanje i razmišljanje, koji ih umnogome razdvajaju od mnoštva drugih kolega
Zamislite da upoređujete rezime dva programera: programera A i programera B. Oba kandidata imaju gotovo identične veš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 verovatno biti znatno uspešniji u karijeri od programera B, skoro u svakoj kategoriji. Kako?
Tehničke veštine i iskustvo mogu da vas dovedu samo do određene tačke. Izuzetno uspešni programeri razvijaju i određene karakteristike, ponašanje i razmišljanje, koji ih umnogome 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 uspeh.
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 sedištem u Velikoj Britaniji, nudi ovu polaznu tačku: svakoj funkciji dodelite 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đe savetuje dodeljivanje 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 primer nedelju dana nakon pisanja, brzo i lako možete da razumete šta će taj kôd da radi.“
Shvatate kako vaš kôd pomaže u vođenju celokupnog poslovanja
Ima i previše programera koji umeju da napišu kôd, primera radi, za novu mobilnu aplikaciju neke kompanije. Mnogo je manje onih koji vide širu sliku i razumeju zašto kompanija uopšte gradi mobilnu aplikaciju.
Odlični programeri „razumeju 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, potpredsednik za softverski inženjering u kompaniji „Ask Applications“.
Slično tome, Stiven dodaje, odlični programeri mogu da razgovaraju o vrednosti tehnologije u poslovnim terminima – i to tako da ih razume ostatak kompanije, uključujući i laike.
Žoze Migel Perez, šef tehničke službe (CTO) u kompaniji „Market Goo“, deli sličan pogled na ovu osobinu programera:
„Oni žele da razumeju šire ciljeve, namere i uticaj projekta, koji prevazilaze ulogu koju oni igraju u projektu."
Evo krucijalnog koraka za bolje razumevanje doprinosa vašeg rada toj velikoj slici: fokusirajte se na korisnika ili kupca.
„Uspešni programeri preuzmu odgovornost za ono što isporučuju – ne samo kompaniji, već i korisnicima", kaže Klej Smit, programer u kompaniji „New Relic“.
Slušate više nego što pričate – ili barem slušate pre 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 zahteva 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 ume da prizna da možda još ne zna odgovor na određeno pitanje.
Imate disciplinu
Talenat, osim možda u ogromnim količinama, nije sve. Zaista, talenat ili veština su samo deo formule za uspeh. „Disciplina je drugi deo", 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 „svesni 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 mesto kako bi pomogli da projekti uspeju.
„Oni su u potpunosti prisutni tokom pregledanja kodova i podstiču konstruktivnost", kaže Pitaru.
„Sjajni programeri su oni koji znaju koliko vredi fokus na programerski rad. Oni shvataju i znaju koliko je fokus važan i rade sve da bi obezbedili sebi vreme 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 uspešnu karijeru u programiranju, potrebno je da imate tehničke veštine, ali i neke dodatne veštine, koje se zovu transverzalne ili „meke“ veštine. Zato kratki i brzi kursevi i samoedukacija nisu dobra metoda učenja. Da biste stekli potrebne veštine i znanja potrebno je da prođete obrazovni program od najmanje 12 meseci, koji uključuje i praktičan rad i upoznavanje sa „mekim“ veštinama. Takvi edukativni programi postoje i kod nas, a više o njima možete da saznate na ovom linku.
(Telegraf.rs)