FishingBooker je najveća online travel platforma za rezervisanje ribolovačkih putovanja širom sveta koju je prošle godine posetilo preko 10.000.000 korisnika iz 100 različitih zemalja sveta.
Još od 2013. u FishingBooker-u razvijamo sopstveni proizvod za svoje korisnike, potpuno autonomno, bez spoljnih investicija. To omogućava da radimo brz, iterativni razvoj uz čest deploy koda. Verujemo u kvalitetna rešenja, zdrave i otvorene ljudske odnose i mogućnost da se stalno napreduje.
Kroz redovne A/B testove i "data-driven" pristup, ostvarujemo pobede i donosimo odluke koji nisu bazirane na ličnim stavovima pojedinaca, već su potkrepljene činjenicama i brojevima. Svako ima priliku da učestvuje u definisanju pravca u kome će se proizvod razvijati, nezavisno od funkcije, vremena provedenog u firmi i sl.
O tebi
Ti si Senior, Lead ili Principal inženjer sa dosta iskustva u razvoju veb aplikacija i visokim standardima kvaliteta pri razvoju servisa i ostale infrastrukture. Jasno nam je da nećeš znati kako naši sistemi funkcionišu od starta i ne očekujemo to od tebe. Najbitnije od svega je da imaš dobar temelj opštih veština za razvoj softvera, tehnički dizajn, debagovanje i rad u timu.
Ako poseduješ ove karakteristike, postoji velika šansa da ćeš se dobro uklopiti u poziciju:
-
5+ godina iskustva u backend razvoju veb aplikacija.
-
Napredno poznavanje jednog ili više serverskih programskih jezika, poželjno PHP-a.
-
Sposobnost dizajniranja i implementacije visoko skalabilnih i performantnih backend sistema, uključujući keširanje, load balancing i tehnike optimizacije.
-
Dobro poznavanje koncepta baza podataka i iskustvo sa SQL i NoSQL bazama.
-
Ekspertiza u dizajniranju i izgradnji RESTful ili GraphQL API-ja, i razumevanje najboljih praksi za API-je, verzionisanje i bezbednost.
-
Poznavanje web server tehnologija, poželjno NGINX, kao i razumevanje konfiguracije i optimizacije servera.
-
Iskustvo sa cloud platformama, uključujući implementaciju i upravljanje aplikacijama u cloud okruženju.
-
Poznavanje tehnologija kontejnerizacije kao što je Docker.
-
Razumevanje principa bezbednosti backend sistema, uključujući enkripciju podataka, autentifikaciju, autorizaciju i zaštitu od uobičajenih bezbednosnih ranjivosti.
-
Dobre veštine timskog rada i komunikacije radi efikasne saradnje sa drugim članovima tima, zainteresovanim stranama i timovima sa različitim funkcijama.
-
Jaka sposobost samoorganizacije i prioritizacije obaveza.
-
Razumevanje struktura podataka i različitih pristupa rešavanja problema, kao i sposobnost za donošenje odluka na osnovu trade off-a.
-
Inženjerska diploma ili odgovarajuće iskustvo umesto toga. Diploma, idealno u računarstvu ili softverskom inženjerstvu.
Plata i uslovi
-
FishingBooker zapošljava softverske inženjere po principu ugovora o radu.
-
Plata zavisi od nivoa senioriteta koji procenjujemo u odnosu na ostatak tima u FishingBooker-u.
-
Proaktivni smo oko deljenja plata, u skladu sa tim ispod možeš da vidiš raspone za svaku od pozicija, a da ne prolaziš kroz nekoliko krugova intervju procesa.
-
Senior Software Engineer: od 3400 EUR do 4.100 EUR neto
-
Lead Software Engineer: od 4.400 EUR do 5.300 EUR neto
-
Principal Software Engineer: 6.000 EUR do 7.100 EUR neto
-
Na svakih šest meseci ćeš od svog inženjering menadžera dobiti detaljan performance assessment sa jasnim instrukcijama kako da napreduješ dalje u okviru firme. Imajući to u vidu, imaćeš priliku za unapređenje i povišicu u skladu sa tempom kojim se razvijaš i standardnim rastom inženjerskih plata na tržištu.
-
Imaš slobodu da samostalno definišeš svoje radno vreme, dokle god ono dozvoljava dobru saradnju sa tvojim kolegama.
-
Prvih 6-12 meseci očekujemo da dolaziš u kancelariju 3-4 puta nedeljno.
-
23 dana plaćenog odmora (do najviše 25 dana u zavisnosti od dužine staža provedenog u kompaniji).
-
Privatno zdravstveno osiguranje.
-
Pristup knjigama, treninzima i kursevima.
-
Apple MacBook Pro, uz Dell Ultrasharp monitor(e), i miš/tastatura po tvom izboru.
-
Ne moraš da budeš pasionirani ljubitelj pecanja. Ne moraš ništa da znaš o pecanju. Ali, imamo tradiciju da svake godine počastimo firmu ribolovačkim putovanjem.
O poslu
Pridružićeš se Platform timu, kao Senior, Lead ili Principal inženjer. Platform tim je zadužen za izgradnju i održavanje platforme i servisa na koje se oslanja FishingBooker proizvod i sve njegove funkcionalnosti.
Radimo u šestonedeljnim razvojnim ciklusima, koji su praćeni dvonedeljnim pauzama rezervisanim za planiranje narednog ciklusa, smanjivanje tehničkog duga i isprobavanje novih ideja. Imaćeš slobodu da radiš posao kvalitetno uz podršku kolega.
Platform tim u FishingBooker-u je zadužen za sledeće stvari:
-
Optimizacija FishingBooker sajta i aplikacija sa fokusom na brzinu i performanse.
-
Stabilnost sistema.
-
Postavljanje bezbednosnih standarda za ostatak kompanije.
-
Postavljanje i održavanje backend infrastrukture za funkcionalnosti koje product timovi koriste prilikom razvoja (Na primer: Infrastruktura za plaćanje, infrastruktura za A/B testiranje, itd).
-
Implementacija različitih tehnologija koje unapređuju razvoj i poboljšavaju perfomanse sistema.
-
Definisanje, validacija i evolucija načina na koji gradimo, testiramo i vršimo deploy koda u servisno orijentisanoj arhitekturi.
-
Učestvovanje u tehničkom dizajnu i kod review sesijama.
-
Identifikovanje i usavršavanje dobrih praksi za backend razvoj.
-
Upravljanje našom cloud infrastrukturom, kao i provisioning, deployment, monitoring i on call sistema.
-
Primena metoda za poboljšanje pouzdanosti i kvaliteta podataka.
-
Kombinovanje sirovih informacija iz različitih izvora kako bismo stvorili dosledne i mašinski čitljive formate.
-
Razvoj arhitekture koja omogućava ekstrakciju i transformaciju podataka za prediktivno ili preporučujuće modeliranje.
Karakteristike pristupa razvoju web aplikacija:
-
Tehnički “stek” je baziran na PHP/MySQL, uz podršku NGINX servera čijom konfiguracijom upravlja Docker.
-
Infrastruktura se nalazi na AWS platformi i njom pretežno upravljamo korišćenjem Terraform i Ansible alata.
-
Od tehnologija sa klijentske strane koristimo React za web i React Native za mobilne aplikacije. Takođe, imamo razvijen Style Guide koji je baziran na private npm paketima koji pružaju mogućnost korišćenja tema, tipografije i grid sistema, kao i deljene komponente poput plaćanja, prikaza cena, itd.
-
Za monitoring, pouzdanost i upravljanje incidentima koristimo mešavinu alata kao što su New Relic, Elasticsearch, PagerDuty i nekoliko tipova automatizovanog testiranja (Unit, API E2E, Selenium).
-
Ozbiljno shvatamo i temeljno pristupamo tehničkom planiranju i code review-ima za sve funkcionalnosti i infrastrukturu aplikacija koje gradimo kako bismo obezbedili njihovu dugoročnu održivost. Stremimo ka tome da uvek ostavimo kod u boljem stanju nego što smo ga našli prilikom svakog spajanja pull request-a.
-
Ne ostavljamo slučaju kakav će uticaj napravljene izmene imati na korisničko iskustvo i ne zasnivamo odluke na “osećaju”. Naprotiv, oslanjamo se na A/B testiranje, detaljnu instrumentaciju i pristup analitici za donošenje data-driven odluka.
Da dobiješ ideju na čemu ćeš raditi, evo i nekih inicijativa na kojima planiramo da radimo:
-
Želimo da aplikacija bude implementirana prateći 12-factor app metodologiju kako bi bila portabilna i samim tim otpornija na otkaze. Postoji niz projektata i inicijativa koji nas vode u ovom pravcu.
-
Poboljšanje sistema za praćenje i analizu korisničke aktivnosti izmeštanjem podataka iz glavne baze u Snowflake, radi unapređenja performansi glavne baze i lakšeg rada sa velikom količinom analitičkih podataka.
-
Unapređenje monitoringa sistema, kroz bolje logovanje i efikasnije izveštavanje o incidentima kako bismo imali bolji uvid u greške koje nastaju i kako bismo brže reagovali i rešavali incidente.
-
Poboljšanje arhitekture i organizacije koda postojeće web aplikacije i širenje znanja i unapređenje praksi unutar tima.
-
Postavljanje mikroservisne infrastrukture i odvajanje pojedinih delove sistema u mikroservise radi unapređivanja performansi, lakšeg održavanja, povećanja autonomnosti product timova, i drugih benefita.
Radujemo se tvojoj prijavi! ✌️