Mi smo ActiveCollab i već 10 godina se takmičimo na globalnom tržištu alata koji timovima olakšavaju da rade na projektima. Naši principi su usklađeni sa time da smo proizvodna kompanija sa 10 godina istorije i planovima da za 10 godina za sebe možemo da kažemo da smo proizvodna kompanija sa 20 godina istorije. Naši principi su usklađeni sa time i uslovljavaju naš pristup razvoju softvera:
- Krajnji korisnik i vrednost koju mu isporučujemo su od presudnog značaja. Mi nosimo potpunu odgovornost za to na šta smo se fokusirali i šta smo napravili, jer nema poručioca projekta (klijenta) da preuzme rizik. Mi smo sami sebi klijent. Poslovni rezultat i to da li smo i dalje u igri ili ne zavisi samo od toga da li smo krajnjem korisniku rešili problem,
- Kvalitet i održiv razvoj su bitni. Kupci sa velikim izborom na globalnom tržištu imaju izuzetno visoka očekivanja. Kompromis po pitanju kvaliteta koji danas napravimo je već sutra problem mušteriji sa jasnim potrebama i visokim očekivanja, a verovatno i dug koji će ubrzo doći na naplatu u vidu potrebe za redizajnom ili refaktorisanjem, blokiranja nečeg novog što želimo da isporučimo itd,
- Timovi su bitni. Nema dobrih timova bez stabilnosti. Zato nemamo projektne timove, koji se rastavljaju i sastavljaju po potrebi, već timove koji zajedno mogu da rastu i napreduju godinama. Izuzetno cenimo dijalog, međusobno razumevanje, konstruktivan konflikt i iskrenost. Lažna harmonija u timu je pogubna za njegovu sposobnost da uspešno rešava probleme i isporuči kvalitetan softver.
To su neki od osnovnih principa na kojima baziramo razvoj. Ako Vam imaju smisla i vidite sebe kao deo jednog takvog tima, voleli bismo da nam se pridružite, kao:
Senior Software Developer
Stack
Location: Novi Sad
Pretpostavljamo da Vas zanima koje tehnologije koristimo. Imamo odvojen frontend i backend, koji međusobno komuniciraju kroz REST API. Podatke razmenjuju u JSON formatu. Frontend je kombinacija React (16) i Angular (1.5) aplikacije. U pravom strangler duhu, React, kao sadašnjost i budućnost ActiveCollab frontenda, “davi” staru Angular implementaciju stranicu po stranicu, komponentu po komponentu.
Backend su PHP (7.1+) i MySQL (5.7.8+). Volimo PHP-FIG i interoperabilnost koda. Volimo kod koji se lako čita i lako testira. Volimo da testiramo (unit, integration, acceptance).
Ima toga još: ElasticSearch za pretragu, job queue za distribuirano izvršavanje, HA arhitektura aplikacije, slanje događaja na frontend kroz web sockete itd, ali da ne idemo baš previše u detalje.
Par inicijativa koje obeležavaju našu skoriju budućnost:
- Komunikacija između frontenda i backenda u realnom vremenu (kroz web sockete). Arhitektura je zaokružena i u produkciji imamo proof of concept, ali ćemo imati veliki push da te mogućnosti dodamo na sve bitne stranice aplikacije,
- Radimo na tome da u jednom momentu tokom 2018. budemo u mogućnosti da skroz pređemo na Trunk Based Development. Nismo još uvek tu, ali nismo ni daleko,
- Prepisivanje mobilnih aplikacija na React Native.
Okruženje
Verovatno Vas zanima i kako radimo. Kao član tima, bićete zaduženi da iznalazite i implementirate tehnička i arhitekturalna rešenja. Timovi nemaju formalne tehničke leadove koji pred timove izlaze sa gotovim rešenjam koje samo treba “iskucati”. Tim je taj koji je u potrazi za rešenjem, a iskusnije kolege su tu da pomognu oko razmatranja alternativnih pristupa i usklađivanja sa problemom i poslovnim ciljevima. Nekada nam je lakše da pred tim iznesemo tehnički smišljeno rešenje i kažemo: “Hajd’ sad iskucajte ovo”, ali znamo da to nije u dugoročnom interesu firme i proizvoda. Umesto toga, insitiramo da su timovi ti koji moraju da se bore sa problemom kako bismo rasli svi zajedno, što kao pojedinačni profesionalci, što kao firma.
Timovi su multi-disciplinarni. To znači da kao tim poseduje sve veštine koje su potrebne da dogovoreno rešenje naprave i isporuče. Svi mi imamo jače i slabije strane kada je tehnički stack u pitanju i to je skroz OK. Ono što nije OK su članovi tima koji povlače crtu preko koje „ne prelaze“, čak i kada je napor tima da isporuči neko rešenje zbog tog stava ugrožen. Ne očekujemo da svi budu full stack developeri, ali očekujemo da timovi mogu da isporuče rešenje bez puno praznog hoda. Na primer, ako radimo neku real time komponentu gde „nema puno backend posla“, ne očekujemo od developera kojima je backend jača strana da sede i čekaju, već da imaju „OK, kako mogu da pomognem?“ stav.
Kvalitet je izuzetno bitan aspekt softverskog rešenja. U dizajn rešenja ćete ulaziti kroz definisanje acceptance testova (BDD), da biste ih kroz implemenaciju upotpunili i unit i integracionim testovima. Problem je bitno da razumemo, a pisanje acceptance testova unapred nam pomažu u tome. Kada problem rešimo, treba da znamo da je naše rešenje dobro. Testovi pomažu i u tome. I napokon, kada je rešenje pred mušterijama, trebalo bi da je kvalitetno jer smo se kvalitetom bavili od početka, a ne samo na kraju. Sami testovi nam kasnije pomažu da se manje vraćamo isporučenom rešenju zbog regresija i bagova.
Zahtevi
Ovim oglasom pre svega tražimo developere sa dokazanom sposobnošću da problem reše na kvalitetan način koji može da „drži vodu“ godinama. Tehnologije na kojima se primarno bazira Vaša profesionala ekspertiza treba da budu PHP i/ili JavaScript.
Pozicija je u Novom Sadu. Naši timovi su kolocirani i to pozitivno utiče na kvalitet razmene informacija i njihovu efikasnost.
Očekujemo da u ActiveCollab donesete iskustvo, tehnike i prakse koje će na bolje pomeriti tim, proizvod, pa i celu firmu, a u sistemu vrednosti koji već imamo – preuzimanje odgovornosti za rešenje, fokus na kvalitet i isporuku vrednosti korisnicima, dugoročno razmišljanje itd. Nakon što se upoznate sa kolegama, proizvodom, kodom, procesima i sistemom vrednosti, očekujemo da postanete ključni igrač u daljem unapređenju istih. U suprotnom smo uradili samo pola posla…
Ukoliko Vam sve ovo zvuči zanimljivo, javite se elektronskim putem.
Rok za konkurisanje: 01.03.2018.