(Senior) Java Fejlesztő
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ű, mikroszerviz alapú architektúrában. Lehetőséged nyílik továbbá a Kotlin programozási nyelv elsajátítására és használatára is.
- Java és Kotlin 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?
- Tapasztalattól függő versenyképes fizetés és egyéb béren kívüli juttatások
- Lehetőség home office-ra vagy távmunkára rugalmas munkaidővel
- Szakmai fejlődési lehetőségek egy internacionális, technológia- és fejlesztő központú vállalatban
- A legmodernebb technológiák használata
- Változatos projektek cégen belüli könnyű átjárással
- Részvétel egy saját fejlesztésű, nagy látogatottságú streaming szolgáltatás fejlesztésének mindennapjaiban
- Lapos szervezet kis létszámú csapatokkal, ahol a csapat minden tagja aktívan részt vesz a döntéshozatalban
- Stresszmentes környezet és tervezhető munkafolyamatok
- Atlassian (Jira, BitBucket, Confluence) és JetBrains szoftverkörnyezet
- Szakmai in-house workshopok, trainingek és angol tanfolyam
Követelmények
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
- Proaktív, kezdeményező, megoldás-orientált hozzáállás
- Csapatban történő munkavégzésre való képesség