Senior Backend Engineer

Engineering - Hybrid

FishingBooker je najveća online 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 3.700 EUR do 4.250 EUR neto
  • Lead Software Engineer: od 4.600 EUR do 5.400 EUR neto
  • Principal Software Engineer: 6.000 EUR do 7.200 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  (na svake dve godine radnog staža u FishingBooker-u dobijaš dodatni dan odmora).

  • Privatno zdravstveno osiguranje.

  • Pristup knjigama, treninzima i kursevima.

  • Apple MacBook Pro, uz Dell Ultrasharp monitor(e), i miš/tastatura po tvom izboru.

O poslu

Pridružićeš se Platform ili Realization timu, kao Senior, Lead ili Principal inženjer. 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.

 

Šta radi Platform tim u FishingBooker-u:

  • 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.

Šta radi Realization tim u FishingBooker-u:

  • Razvoj i unapređenje end-to-end procesa realizacije rezervacija na platformi - svega što se dešava od trenutka kada je rezervacija plaćena, pa do njenog završenog i uspešno realizovanog iskustva.

  • Razvoj i održavanje payment infrastrukture sa fokusom na napredne modele plaćanja (npr. pay part now - part later, remaining balance, refunds, tips, ...), uz integracije sa sistemima poput Stripe-a, kako bismo obezbedili pouzdane i sigurne transakcije širom sveta.

  • Implementacija tax servisa koji obuhvata kalkulaciju poreza i prikupljanje sredstava u skladu sa propisima različitih tržišta.

  • Razvoj i održavanje booking flow-ova - uključujući accept, decline, change i booking details stranice - koji povezuju kapetane i mušterije i čine osnovu korisničkog iskustva.

  • Razvoj i unapređenje Instant Messaging sistema koji omogućava brzu, sigurnu i efikasnu komunikaciju između korisnika platforme.

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 Next.js framework za web aplikacije i React Native za mobilne aplikacije. Razvili smo sopstveni Design System koji koristimo za implementaciju funkcionalnosti putem komponenti, čime obezbeđujemo konzistentnost u izgledu i ponašanju korisničkog interfejsa na svim platformama.

  • 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. 

Pored domen-specifičnih odgovornosti, od senior inženjera se očekuje i aktivan doprinos celokupnom inženjerskom ekosistemu tima: aktivno učešće u tehničkim diskusijama i donošenju arhitektonskih odluka, proaktivan predlog rešenja i unapređenja, mentorisanje mlađih kolega kroz code review, knowledge-sharing, kao i podizanje inženjerskih standarda kroz kvalitet, stabilnost i održivost implementacija.

Proces selekcije je ovde.

Radujemo se tvojoj prijavi! ✌️

 

Interested in applying?

Before you apply, we have a riddle for you:

"The response header of this page will lead you towards the answer."