Kreatori i alati: Nenad Božidarević, softverski inženjer

Ove subote, sa nama svoje alate deli Nenad Božidarević, softverski inženjer zaposlen u Instagramu.

Nevenka Rangelov - 5. Avgust, 2017.

Nenad je studirao na Računarskom fakultetu u Beogradu, nakon čega se na jesen 2013. zaposlio u Facebooku i počeo da radi na alatima za oglašivače kao frontend inženjer. Zatim je 2015. godine prešao u Instagram gde je nastavio da radi na ovim alatima, ali sa fokusom na implementiranje funkcionalnosti vezanih za Instagram reklame.

Hardver

Moje glavno oruđe je Macbook Pro Retina 15″, podešen na najvišu moguću rezoluciju, tj. 2880×1800. Ovo mi omogućava da smestim što više sadržaja na ekran, a to je najbitnije kada kodiram, jer mogu istovremeno da imam otvoreno nekoliko fajlova u editoru zajedno sa terminalom za ostale operacije. Kada sam za svojim stolom, ovo unapređujem upotrebom monitora — do skora sam koristio Apple Thunderbolt Display 27″, jer sam bio najzadovoljniji kvalitetom slike i boja, ali sam sada prešao na Dell UltraSharp 30″ pošto su njihovi monitori postali mnogo prijatniji za korišćenje nego ranije.

Osim laptopa, koji je veoma praktičan jer ga uvek nosim sa sobom, na stolu imam i Apple Mac Pro koji prvenstveno koristim kada je u pitanju razvoj mobilnih aplikacija. Iako Macbook bez problema ima dovoljno snage da to podrži, problem se javlja zbog manjka prostora na disku, prvenstveno zato što pored macOS-a imam i Windows koji koristim za testiranje kada se bavim frontend razvojem (što je zapravo 90% mog posla).

Naravno, za prijatan rad za stolom nije dovoljan samo dobar monitor, pa tako imam još tri bitna elementa. Prvi predstavljaju Apple Magic Keyboard i Trackpad zahvaljujući kojima eliminišem nepotreban numpad i mogu da se namestim kako god želim jer su bežični, dok mi trackpad olakšava manupilasnje prozorima/desktopima i umanjuje stres nad zglobom zbog jednostavnijih pokreta kada se krećem između njega i tastature. Druga dva elementa predstavljaju sto i stolica – sto je KI WorkUp Adjustable Table, a stolica HermanMiller Aeron, i oba mi pomažu ne samo da tokom dana budem u udobnom položaju (zahvaljujući stolici), već da mogu da provedem i deo dana stojeći (zahvaljujući stolu).

Najzad, mobilni telefon koji koristim je Apple iPhone 6S — ovo je verovatno odlična prilika da se započne diskusija/svađa o tome kako su Android telefoni bolji od Apple telefona, ali izbor je za mene bio veoma jednostavan i logičan. Iako sam tokom srednje škole i studija uvek bio zainteresovan da podešavam što više stvari i u potpunosti kontrolišem svoj sistem (zbog čega sam dosta dugo koristio Ubuntu), ubrzo nakon što sam se zaposlio shvatio sam da je telefon napredna alatka koju slabo koristim, i samim tim želim nešto na šta ne treba da potrošim sate podešavanja. Pre nekoliko dana sam čuo i zabavno objašnjenje za ovo — Android su pravili inženjeri, dok su iOS pravili dizajneri.

Programiranje

S obzirom na to da je moje zvanično zvanje Software Engineer, očekivano je da većinu svog vremena provodim programirajući. Interfejsi na kojima moj tim radi su pretežno napisani uz pomoć Reacta, dok se za backend koristi Hack, što dalje znači da prvenstveno koristim (moderni) Javascript i PHP (na steroidima) — ovo je dosta standardna postavka za Facebook proizvode. Osim razvoja za web, u poslednje vreme se oprobavam i u razvoju za mobilne telefone, i za to koristim React Native, što se opet svodi na Javascript.

Prva stvar koju treba pomenuti kada su u pitanji svi ovi jezici jesu alati koje koristim. Kao editor najčešće koristim Nuclide koji je zapravo paket za Atom, a pritom dodatno obogaćen raznim funkcionalnostima koje su specifične za rad u Facebooku, i samim tim pruža podršku za sve ove jezike i okruženja u kojima se oni izvršavaju. Ukoliko želim da napravim neke manje izmene, pak, ili kada je u pitanju source control (Mercurial i Phabricator), koristim Terminal i Vim, pošto su brži i jednostavniji za korišćenje nego GUI alati.

Osim editora za sâm razvoj, oslanjam se i na nekoliko programa za ostale delove procesa. Browser koji najčešće koristim je Google Chrome, i to najviše zbog fenomenalne ekstenzije React Developer Tools koja znatno olakšava život bilo kome ko radi sa Reactom. Pored ovoga, imam instalirane i ostale browsere koje koristim za testiranje (Safari, Opera, Firefox), a u Bootcampu vrtim i Windows 10 ne bih li mogao da testiram iste te browsere i Internet Explorer. Najzad, ukoliko se javi potreba za bilo kakvim transformacijama na ikonicama koje koristimo, na scenu stupaju Adobe Photoshop i Sketch.

Produktivnost

Prvih nekoliko meseci nakon završetka studija, odnosno nakon započinjanja posla, fokus je uvek na pisanju kôda, ali to se vremenom menja i javlja se potreba da ljudi mnogo aktivnije doprinose timu i proizvodu na kojem rade. Tu dolazimo do raznih programa koji ovo olakšavaju i, u idealnom slučaju, pomažu mi da budem bolje organizovan.

Gmail. Iako na poslu koristim prvenstveno Microsoft Outlook zbog Exchange servera, za ličnu upotrebu koristim isključivo Gmail, jer je neprikosnoven kada je u pitanju kombinacija jednostavnosti upotrebe i funkcionalnosti.

Google Calendar. Pored Gmaila, ovo je drugi Google servis koji intenzivno koristim, jer se trudim da budem što organizovaniji i da uvek imam zabeleženo sve što sam isplanirao, čak i nedeljama/mesecima unapred. Kalendar mi se takođe sinhronizuje i sa Facebook Events, tako da imam sve informacije na jednom mestu.

Todoist. Najzad, za manje zadatke koje treba da obavim (do 5-10 minuta) koristim Todoist, koji ima odličnu integraciju sa macOS, pa mi omogućava da veoma jednostavno dodajem nove stvari tokom dana.

Quip & Bear Notes. Za beleške i pisanje dokumenata koristim Bear Notes, odnosno Quip, u zavisnosti od toga koliko očekujem da sadržaj bude komplikovan — Quip ima više mogućnosti, ali je Bear Notes brži za korišćenje (i upravo ga koristim ne bih li odgovorio na ova pitanja).

CrashPlan & Dropbox.  Pomalo iznenađujuće i uprkos silnom tehnološkom napretku, slanje i backup podataka i dalje nisu jednostavni koliko bi trebalo da budu, pa tako za ovo koristim dve aplikacije. Dropbox je manje-više standardno rešenje za slanje fajlova (uz Google Drive), dok CrashPlan koristim za backup. Priznaću da nisam previše vremena posvetio razmatranju opcija kada je backup u pitanju, ali mi CrashPlan trenutno odgovara, jer ne moram da brinem o prostoru (nude “neograničen” prostor), a pritom automatski dobijam pristup svim tim podacima preko njihove mobilne aplikacije.

Apple Music. Pre nekoliko godina sam koristio Rdio, ali kada su ga ugasili prešao sam na Apple Music iz dva razloga. Prvi je što (logično) ima bolju integraciju sa Apple uređajima koje koristim, a drugi je katalog muzike koji sadrži više stvari koje me zanimaju nego Spotify. I da, ovo apsolutno smatram da treba da stoji pod naslovom “Produktivnost” :)

Zaključak

Kada se sve sumira i kada pogledam iza sebe ka svim aplikacijama koje sam koristio, shvatam da meni najviše odgovara jednostavnost, pa se tako trudim da nemam više od jedne aplikacije za određenu svrhu, a neretko tražim i aplikacije koje obuhvataju nekoliko ovakvih, srodnih funkcionalnosti.

Naravno, ovo neće svima odgovarati, posebno ljudima koji vole jako visok nivo kontrole nad svim aspektima svog posla, ali ja ipak ostajem pri ovom savetu — keep it simple.