Távmunka -- Senior Java fejlesztő

Fórumok

A cégről:

A cégünk neve Patients Know Best (http://patientsknowbest.com/careers). Kis-közepes méretű startupról van szó, körülbelül harminc fővel, ennek harmada fejlesztő. Elektronikus egészségügyi adatbázist gyártunk (EHR,
electronic health record), ahol a felhasználók teljes kórtörténete eltárolható és bármikor elérhető, függetlenül attól, hogy az adatok melyik intézményben, országban, stb. keletkeztek. Ilyen célú rendszerek
már léteznek, Magyarországon is most terveznek hasonlót bevezetni. Mi legfőképpen abban különbözünk ezektől, hogy az adatok való hozzáférést száz százalékban a páciens kontrollálja, mégpedig kriptográfia segítségével: az adatbázis kikerülése, betörés (vagy akár hatósági megkeresés) esetén a támadó nem férhet hozzá a kórtörténethez, mert a visszafejtéshez szükség van a felhasználó jelszavára. Ügyfeleink már jó ideje vannak, előreláthatólag a következő fél évben bőven hatszámjegyű új regisztrációval kell számolnunk. A cég finanszírozása biztosított, legutóbb pár hónapja kaptunk 3.5 millió font kockázatitőkét.

A feladat:

A szoftvert körülbelül öt-hat éve kezdték el fejleszteni, nagyon kevés erőforrással. A fejlesztők közül majdnem mindenki (engem is beleértve) az utóbbi egy évben került a céghez, mostmár van igény és lehetőség ( --
azaz pénz … ), hogy tűzoltás helyett/mellett a minőségi kódra, skálázhatóságra is komolyan figyeljünk. A stack alapvetően Postgres 8- J2EE 3 - Struts 2 alapokra lett építve, de próbálunk ezektől megszabadulni, és modernizálni. A cél az, hogy microservice-stílusban épüljön a rendszer, egyrészt a skálázhatóság, másrészt a távmunkához ez passzol jobban. (Egyébként elsősorban én felelek azért, hogy a következő generációs (rendesen skálázható) architektúrát megtervezzem/prototipizáljam, tehát erről is tudok részletesen mesélni, ha van rá igény) Amiket még használunk, vagy használni fogunk, címszavakban:

  • git
  • Vagrant, Docker, Ansible (hogy kézben tudjuk tartani a környezetet, work in progress)
  • Teamcity, Jira, Bitbucket, Artifactory (development flow)
  • Maven (új microservice-ekre Gradle, ha csak lehet)
  • Java 6-7-8 (remélhetőleg pár hét múlva már csak 8)
  • HDFS
  • Dropwizard, Spring Boot, Spring
  • Kriptográfiához szükséges technológiák (libsodium, etc.)
  • JSP, Struts2 -- remélhetőleg már nem sokáig
  • CentOS, Ubuntu a szervereken
  • Grafana, fluentd a logokhoz (és persze grep :) )

A munkakörnyezet:

100%-ban távmunka, havi egy opcionális meeting Londonban, félévente egy erősen ajánlott meeting Londonban. Slack-en csetelünk, Skype-on, Screenhero-n, join.me-n videózunk és telefonálunk. A munkaidő valamennyire flexibilis, jó, ha napközben elérhető vagy, de ha időnként ki kell ugranod ügyeket intézni, az teljesen rendben van. Én általában 8:30-tól dolgozom, napközben elmegyek futni, 5-től a lányommal foglalkozom, és este 8-9 körül még esetleg programozom egy kicsit. A CTO évente pár hónapot Malajziából dolgozik, van indiai kollega, van, aki Costa Rica-n él, és délután egytől este tízig van online. A csapaton belül alapvetően az udvarias és barátságos hangnem a szokásos, kiemelt figyelmet fordítunk arra, hogy a különböző hátterű, mentalitású emberek jó személyes viszonyban tudjanak együtt dolgozni.

Amit keresünk:

  • jó, ha minél több dolgot ismersz a fentiek közül, de nem feltétel, a lényeg, hogy akarj és tudj tanulni
  • legyél önjáró, motivált -- távmunkánál ez életfontosságú, nem tudunk és akarunk rendszeresen ellenőrizni senkit
  • kimagaslóan jó kommunikációs képességek: enélkül nagyon nehéz telefonon, Skype-on, etc.
  • legyen valamilyen, kapcsolódó terület, ahol kifejezetten hozzáértő vagy

Tehát nem gond, ha nincs J2EE tapasztalatod, vagy nem ismered a Dropwizardot -- pl. én sem dolgoztam J2EE-vel, mielőtt felvettek, de ők sem láttak Dockert ;) Nagyon gyorsan változik (fejlődik) a tech stack, egyrészt lépést kell tartani, másrészt előre kell mozdítani.

Pénz:

Erről sajnos nem tudok nyilatkozni, de egy angol cégről van szó, zömében Nyugaton dolgozó kollegákkal; szerintem a kompenzációval nincs probléma.

Minden egyéb kérdésre megpróbálok válaszolni, akár itt, akár privátban. Egyébként a mate@patientsknowbest.com-on érhettek el.

(A hirdetés a HUP-Profession szabadkártya felhasználásával került kihelyezésre)

Hozzászólások

Ez jól néz ki. :)

Ez de jol nez ki! Elore irigylem, akit felvesznek :)

Abszolute nagyon korrekt, sok sikert az új jelentkezőnek..

Kaptam pár kérdést emailben, hadd válaszoljak rá itt:

---- >>>
* olyan szakmai közösségben szeretnék dolgozni, ahol fontos a tesztelhetőség és a tesztelés
* a tiszta kód fontos: nem csak checkstyle szintjén, hanem vannak alapos design review-k és code review-k, és ezekre rá van szánva annyi idő, hogy lehessen egymástól tanulni. Ha gyenge kódminőségű legacy kóddal kell dolgoznom, az önmagában nem gond, van némi tapasztalatom régi rendszer kipofozásában, de legyen meg a szándék, hogy jobbá tegyük (ár-érték arányoknak megfelelően, tehát teljes újraírásokat inkább elkerülve). Ha jól vettem ki, ez nálatok így van.
* olyan helyen szeretnék dolgozni, ahol azt érzem, hogy meg vannak becsülve a fejlesztők. Ez alatt azt értem, hogy a cég költségvetéséhez képest vannak lehetőségek pl. céges pénzből szakkönyveket venni, esetleg meetupokra, konferenciákra járni
---- <<<

Kb. mostanáig nem volt prioritás (közel zéró test coverage volt). Pl. nekem nagyon az volt, részben emiatt mostmár
- pull requestekkel dolgozunk, 2 reviewer/PR
- keresünk QA leadet is
- helyben, az otthoni gépeden tudsz futtatni 100% reprodukalhato integrációs teszteket. Checkstyle is van, de annyi a warning jelenleg, hogy ki sem látunk belőle.
- CI-ből deployolunk, végre (alapdolog, de nem így volt, ezidáig)
- legacy kód az van dögivel :) Muszáj jobbá tenni, mert rossz kódot nem lehet skálázni. Ugye a skálázhatósággal elsősorban én foglalkozom itt, és az a tapasztalatom, hogy a skálázhatóság első lépése az, hogy a fejlesztést tegyük skálázhatóvá (ergo a rendszert könnyen lehessen módosítani).
- igen, a fejlesztők meg vannak becsülve. Mondjuk ha otthonra akarsz venni egy 4K monitort, akkor simán rábólintanak (ha már pár hónapja ott vagy). (Én mondjuk nem szoktam kifizettetni a céggel a cuccaimat, mert eléggé unreasonable dolgokat szoktam venni :), nem akartam elmagyarázni, miért kell nekem otthonra 64G RAM meg dual Xeon :) )

----------------------
while (!sleep) sheep++;

Nagyon korrekt benyomást kelt; már-már sajnálom, hogy nem vagyok fejlesztő :]
------------------------
{0} ok boto
boto ?

Korrekt, egyedul a sok friss fejleszto + legacy kod parositas a nyugtalanito. Azt tapasztaltam, hogy a gyorsan osszedobott legacy kod nincs kelloen dokumentalva (ez persze lehet, hogy itt maskepp van, de nem valoszinu), szoval jo, ha van, akitol lehet kerdezni. Viszont ha a legtobb fejlesztot az utobbi 1 evben vettek fel, akkor nem biztos, hogy van kitol.
Egyebkent tetszik.

--
Is that a banana in your pocket, or are you just happy to see me?
Neither, it's my new iPhone.

A CTO a legtöbb dologra tud válaszolni. Olyan abszolút elő tud fordulni, hogy pl. senki nem tudja, hogy a postgresql.conf-ban a max_fsm_pages miért éppen arra van beállítva, amire. Ezért is kellenek tapasztalt fejlesztők, akik jó eséllyel el tudják dönteni, hogy az okkal vagy véletlenül annyi, amennyi. Legacy kódnál van ilyen, mindenhol. De igyekszünk javítani ezeken.

----------------------
while (!sleep) sheep++;

Wow, nem hittem volna, hogy 2016-ban van meg ceg (raadasul startup), aki J2EE-vel fejleszt, annak ellenere, hogy nincs erre tortenelmi / szerzodeshez kotott oka.

Persze UK healthcare, ez sok mindent megmagyaraz ;) Te jo eg, HL7, a hideg raz azota is....

Azert persze sok sikert kivanok, van ennel rosszabb is, pl. Pythonban fejleszteni ugyanezt :P

Magával a J2EE-vel szerintem semmi baj nincs, legfeljebb azzal, ahogy néhol használjuk vagy használtuk. 2009-es a cég, ezt ne feledd, az akkori tech döntések nyoma látszik most is. És igen, HL7 az van :) Szeretném elérni, hogy polyglot stack legyen, azaz a microservice-ek esetében el lehessen térni az alap Java8-tól (Clojure FTW!)

Mit használjunk, Go-t? :)

----------------------
while (!sleep) sheep++;

Nem hangsúlyoztam fentebb, de tényleg kiváló angoltudásra van szükség, amivel telefonon is érthetően tudod kifejezni magad komplexebb ügyekben.

----------------------
while (!sleep) sheep++;

szuperjó, csak teljes állásban gondolkoztok?
akarom mondani, kiegészítésként meló után bevállalható-e?