Java fejlesztő (haladó)

Pozíció leírása

Tapasztalt Java fejlesztő kollégát keresünk backend fejlesztési feladatok ellátására. A feladataid közé fog tartozni a meglévő rendszerek karbantartásán túl az új fejlesztések kiszolgálása backend oldalról egy korszerű, mikroszervíz alapú architektúrában.

  • Java alapú mikroszervizek fejlesztése
  • Magas színvonalú, újrahasznosítható, „tiszta” kód írása
  • Tesztek írása
  • Rendszertervezés
  • Architekturális problémák felismerése és javítása, teljesítmény optimalizáció
  • Adatbázistervezés
  • Adatbázis lekérdezések optimalizálása

Mit kínálunk?

  • Szakmai kihívást jelentő, érdekes feladatok
  • Bejelentett állás
  • Tapasztalat-, és teljesítményarányos, versenyképes fizetés
  • Év végi bónusz
  • Csendes, kényelmes munkakörnyezet
  • Nagyteljesítményű DELL és HP munkaállomások kettő vagy több monitorral
  • Atlassian (Jira, BitBucket, Confluence) és JetBrains szoftverkörnyezet
  • Külföldi (elsősorban amerikai) utazási lehetőségek

Rólunk

A seattle-i székhelyű ICF Technology Inc. a fejlesztője a világ egyik legnagyobb látogatottságú online streaming platformjának, mely napi több tíz millió felhasználó igényeit szolgálja ki világszerte. A cégcsoport három országban mintegy 400 főt foglalkoztat.

A budapesti iroda 2019-ben nyitotta meg kapuit azzal a céllal, hogy a cég tovább bővítse fejlesztői kapacitását, immáron globális szinten.

Célunk, hogy az ICF Technology már kipróbált és sikeresen működő, amerikai szemléletű, rugalmas és fejlesztő központú struktúrájára építve Budapesten is felépítsünk egy sikeres csapatot, mely kiemelt szerepet játszik a cég szolgáltatásainak továbbfejlesztésében, jövőjének formálásában.

Követelmények

Elvárt technológiai ismeretek

Általános szoftverfejlesztői ismeretek

  • Általános szoftverfejlesztői ismeretek
    • Algoritmikus komplexitás fogalma, alapvető algoritmusok
    • Memóriakezelési alapok (heap, stack)
    • Kivételkezelés
    • Clean code koncepciók
    • Alapvető szálkezelési ismeretek
  • Objektum orientált programozási ismeretek
    • Alapkoncepció, polimorfizmus, absztrakciós modellek
    • Tervezési minták: MVC, Dependency Injection, Adapter, Factory ismerete
    • SOLID koncepciók ismerete
  • Gyakori UML diagramok ismerete (class diagram, activity diagram, deployment diagram)
  • Linux felhasználói szintű ismeretek (SSH, Bash, jogosultságkezelési alapok)
  • Git alapszintű ismerete
    • Commit, push, fetch használata
    • Branching, merge commitok készítése

JAVA ismeretek

  • Tapasztalat Java keretrendszer használatában (Spring, Guice, EE CDI)
  • Tapasztalat ORM rendszer használatában (JPA, Hibernate, egyéb)
  • Build folyamat ismerete, függőségek kezelése (Maven, Gradle, Ant)
  • Típusok, kulcsszavak működésének ismerete (class, interface, static, final stb.)
  • Szálkezelés (Thread, Runnable, ExecutorService)
  • Memóriakezelés, JVM (referencia, stack, heap, GC)
  • Java features (String pooling, autoboxing, foreach, Iterable)
  • Collections API (List, Stack, Queue, Set, Map)
  • Kivételkezelés (checked/unchecked exception, try/catch/finally)
  • Teljesítményoptimalizálási és debug módszerek / tool-ok ismerete

Adatbázis ismeretek

  • Adatbázis anomáliák, normálformák, normalizáció
  • Egyedkapcsolati (ER) diagram tervezése, értelmezése
  • Külső kulcsok, egyedi kulcsok, constraint-ek
  • Indexek
  • Konkurens adatkezelési anomáliák, tranzakciók
  • Összetett SQL lekérdezések
  • Lekérdezések optimalizálása

Előnyt jelent

  • Docker használatában szerzett tapasztalat
  • CI/CD tapasztalat
  • Redis, Apache Kafka ismerete
  • Unit tesztelésben szerzett tapasztalat (JUnit, Mockito)
  • Java EE tapasztalat
  • Kotlin ismerete
  • Webszolgáltatások ismerete (pl. SOAP, JSON REST)

Soft skillek

  • Legalább középfokú angol nyelvtudás írásban és szóban
  • Jó kommunikációs képességek
  • Proaktív, kezdeményező, megoldás-orientált hozzáállás
  • Csapatban történő munkavégzésre való képesség