Kreatori i alati: Nikola Poša, Humanity

Nikola Poša, back-end developer u kompaniji Humanity, otkriva nam koje alate i rutine primenjuje u svom programerskom poslu – između ostalog, zašto mu je trebalo vremena da uoči moć Vagrant-a.

Marija Gavrilov - 31. Oktobar, 2015.

Nikola Poša je back-end developer, zaposlen u kompaniji Humanity, koja razvija i prodaje istoimenu business management platformu. Nikoline primarne aktivnosti i nadležnosti na poslu su razvoj i održavanje API-a koji stoji iza Humanity aplikacije, pregledanje kôda, upravljanje release-ovima, kao i mentorisanje novih kolega i koordinacija svog tima.

U slobodno vreme, Nikola radi na ličnim open source projektima i piše stručne članke na domaćim i stranim web sajtovima. Takođe, on je stalni član udruženja PHP Srbija, dobrovoljne i neprofitne organizacije koja svojim aktivnostima radi na popularizaciji PHP programskog jezika, kao i na jačanju programerske zajednice u Srbiji.

Sa Nikolom smo pričali o detaljima njegovog radnog okruženja, kao i alatima i tehnologijama koje koristi u svom radu.

Računar

Bitno nam je da nas hardver ne ograničava u radu. Iako sam mogao da odaberem MacBook Pro ili Air, ipak sam uspeo da odolim Mac-maniji i odlučio se za Toshiba Satellite laptop visokih performansi, sa Linux Mint 17 operativnim sistemom po ličnom izboru. Naravno, ništa bez dva dodatna monitora.

Programski jezici i biblioteke

Poznavalac sam širokog spektra tehnologija, uglavnom web-orijentisanih – pre svih PHP i SQL. U Humanity-u dosta radim i sa tehnologijama sa kojima prethodno nisam imao toliko dodirnih tačaka, kao na primer MongoDB, kojeg pored primarnog MySQL-a koristimo za skladištenje podataka i Redis kojeg koristimo za keširanje.

Veliki sam fan Zend Framework-a i posedujem zavidno iskustvo u radu sa prvom i drugom verzijom tog PHP frejmvorka. Trudim se da prilikom rada “ne izmišljam toplu vodu”, te intenzivno koristim Composer kako bih u svoje projekte integrisao biblioteke koje uspešno rešavaju uobičajene šablone i funkcionalnosti sa kojima se mi programeri tokom razvoja neke aplikacije susrećemo, kao što su rutiranje, dependency injection, DBAL, ORM, logger i slično.

Naravno, veoma dobro poznajem i jezike iz front-end palete, kao što su HTML, JavaScript i CSS, ali s obzirom da zbog prirode aktuelnog posla već duže vreme ne dotičem taj aspekt web razvoja, nisam siguran da bi u ovom trenutku bilo prikladno da za sebe kažem bilo šta drugo osim da sam back-end developer.

Browser

Firefox. Koristim ga još od vremena njegovih prvih verzija i ne planiram da ga menjam, čak iako ponekad ume da se “zakašlje”.

IDE

Verujem da sam jedan od retkih koji koriste NetBeans. Ali baš kao i slučaju browser-a, u pitanju je stvar navike. Koristim ga dugi niz godina, nikada me nije izneverio, poseduje odlične dodatke koji ga sve skupa čine veoma moćnim alatom.

Verzionisanje kôda

Git, naravno. Zar neko u današnje vreme uopšte i koristi neki drugi VCS? Repozitorijume Humanity projekata čuvamo na GitHub-u, a isti servis koristim i u slučaju ličnih projekata. U Humanity-u striktno primenjujemo Gitflow proces rada, koji naš celokupni ciklus razvoja čini usklađenim i efikasnim.

Ostali alati

Tek po dolasku u Humanity sam shvatio koliko je Vagrant zapravo moćan alat. Koristimo ga za brzo i jednostavno kreiranje razvojnog okruženja, tako da ono odgovara produkcijskom, sve sa ciljem predupređivanja čuvenih “na mom kompu radi” problema.

Budući da u u Humanity-u primenjujemo prethodno pomenuti Gitflow proces rada, meni je lično od velike koristi git-flow biblioteka, koja je suštinski proširenje standardnih Git komandi, sa ciljem lakšeg i bezbednijeg obavljanja Gitflow operacija.

Kolaboracija

U Humanity-u, za upravljanje projektom i taskovima koristimo JIRA-u, koja umnogome olakšava rad naših agilnih timova. Od alata iste i slične namene koristim i Trello.

Takođe, privatno i poslovno se dosta oslanjam na Google Drive i uopšte Google paletu proizvoda.

Znam da možemo da gradimo lokalno → pridruži nam se 27. septembra od 18h