Senior Java Developer / Engineer – Java Modernization & Code Quality
O pozici
Pracovní nabídka
Baví tě Java, ale nechceš jen přidávat další funkcionality? Chceš mít možnost ovlivnit, jak kvalitní, bezpečný a udržitelný kód vzniká – a hlavně jak se zlepšuje ten stávající?
V Baader Computer hledáme zkušeného Java vývojáře, který nám pomůže posunout naše aplikace technologicky dál. Čeká tě modernizace existujících systémů, aktualizace technologií, zlepšování kvality kódu a zavádění automatizace.
Nejde o jednorázový projekt ani o pozici, kde budeš jen opravovat chyby podle výstupů analytických nástrojů. Dostaneš prostor navrhovat řešení, nastavovat standardy a ovlivňovat způsob, jakým naše vývojové týmy pracují.
Na čem budeš pracovat
Tvým hlavním úkolem bude zvyšovat technickou kvalitu, bezpečnost a dlouhodobou udržitelnost našich aplikací.
1. Modernizace Java aplikací a správa závislostí
Naše projekty používají různé verze technologií a potřebujeme je postupně sjednotit a aktualizovat.
Konkrétně budeš:
- Vyhodnocovat výsledky bezpečnostních skenů v Black Duck a rozhodovat, které zranitelnosti (CVE) je potřeba odstranit prioritně a které lze s odpovídajícím zdůvodněním odložit.
- Aktualizovat knihovny a závislosti (minor a patch updates), včetně tranzitivních závislostí.
- Realizovat větší technologické migrace, například:
- Java 8/11 → 17/21
- Spring Boot 2 → 3 (javax → jakarta)
- Hibernate 5 → 6
- JUnit 4 → 5
- Identifikovat problémy s licencemi používaných knihoven a hledat vhodné alternativy.
2. Zlepšování kvality kódu
Nechceme pouze sbírat metriky a reportovat problémy. Chceme je systematicky řešit.
Budeš proto:
- Pracovat se SonarQube, vyhodnocovat a odstraňovat Bugs, Vulnerabilities a Security Hotspots.
- Pomáhat postupně snižovat technický dluh podle jeho závažnosti a dopadu.
- Zvyšovat pokrytí kódu automatizovanými testy, aby byly další aktualizace bezpečnější.
- Nastavovat a udržovat Quality Gates a Quality Profiles.
3. Automatizace vývojových procesů
Chceme, aby kontrola kvality a bezpečnosti byla přirozenou součástí vývoje, nikoli další manuální povinností.
Tvým úkolem bude:
- Integrovat SonarQube a Black Duck do našich CI/CD pipelines.
- Zavádět automatické aktualizace závislostí prostřednictvím Renovate nebo Dependabot.
- Využívat OpenRewrite pro automatizaci technologických migrací.
4. Spolupráce s vývojovými týmy
Nebudeš na všechno sám/sama. Budeš spolupracovat s vývojáři a projektovými manažery napříč našimi projekty.
Očekáváme, že budeš:
- Společně s týmy plánovat technologické aktualizace a hledat realistický způsob jejich provedení.
- Pomáhat vývojářům porozumět zjištěným problémům a řešit je samostatně v jejich vlastním kódu.
- Navrhovat společné standardy kvality kódu a bezpečnosti, které budou dávat smysl napříč projekty.
- Udržovat přehled o technologickém stavu jednotlivých aplikací a průběhu jejich modernizace.
A co potom?
V prvním období, přibližně 12 měsíců, bude tvou hlavní prioritou modernizace aplikací, bezpečnost a kvalita kódu.
Postupně se ale budeš více zapojovat také do běžného vývoje zákaznických projektů.
Nechceme, aby ses stal/a člověkem, který jen kontroluje práci ostatních. Chceme zkušeného vývojáře, který rozumí reálnému vývoji, dokáže věci sám implementovat a současně pomáhá ostatním týmům pracovat lépe.
Co bys měl/a umět
Hledáme zkušeného Java vývojáře, který se nebojí existujícího kódu, umí se v něm rychle zorientovat a dokáže navrhnout i realizovat jeho modernizaci.
Co je pro nás důležité
- Alespoň 5 let profesionální zkušenosti s vývojem v Javě.
- Velmi dobrá znalost Spring a Spring Boot.
- Praktická zkušenost s Maven a/nebo Gradle, včetně řešení konfliktů mezi závislostmi.
- Zkušenost alespoň s jednou větší migrací frameworku nebo aktualizací verze Javy.
- Schopnost rychle porozumět existujícímu kódu, i když ho napsal někdo jiný.
- Základní orientace v bezpečnosti aplikací (OWASP Top 10, CVE, CVSS).
- Velmi dobrá angličtina pro spolupráci s mezinárodními týmy.
Výhodou bude, pokud máš zkušenosti také s
- SonarQube, Black Duck nebo obdobnými nástroji, například Snyk, Mend či OWASP Dependency-Check.
- OpenRewrite nebo Renovate.
- CI/CD nástroji (Jenkins, GitLab CI, Azure DevOps) a Dockerem.
- Automatizovaným testováním (JUnit 5, Mockito, JaCoCo).
- Němčinou nebo češtinou.
A jakého člověka hledáme?
Někoho, kdo přemýšlí nad kvalitou své práce, má rád dobře fungující řešení a dokáže se na problém podívat v širších souvislostech.
Oceníme pečlivost, systematický přístup a schopnost udržet si přehled i při práci na více projektech současně.
Důležitá je pro nás také komunikace. Budeš spolupracovat s různými týmy, takže potřebujeme někoho, kdo dokáže své návrhy srozumitelně vysvětlit, diskutovat o nich a hledat společná řešení.
Co ti nabízíme
Práci, jejíž výsledky budou skutečně vidět.
Nebudeš pracovat jen na jedné aplikaci. Tvoje práce pomůže zlepšit kvalitu a bezpečnost celé řady našich projektů.
- Možnost ovlivnit technické směřování: Dostaneš prostor navrhovat nástroje, procesy a standardy, které budou naše týmy používat.
- Samostatnost a důvěru: Zajímá nás tvůj odborný názor a zkušenosti. Dostaneš prostor přicházet s vlastními návrhy a realizovat je.
- Technicky zajímavou práci: Různé aplikace, různé technologické výzvy a možnost řešit problémy s dlouhodobým dopadem.
- Moderní nástroje: SonarQube, Black Duck, CI/CD, Java 21 a prostor pro další automatizaci.
- Možnost odborného růstu: Do budoucna se můžeš posunout do role Tech Leada pro oblast Code Quality & Security.
- Flexibilní pracovní dobu a možnost práce z domova, případně z našich kanceláří v Praze, Českých Budějovicích nebo Šumperku.
- 5 týdnů dovolené.
- Stravenkový paušál.
- Jazykovou výuku.
- Podporu dalšího odborného vzdělávání a profesního rozvoje.
- Firemní notebook a potřebné pracovní vybavení.
- Firemní akce a teambuildingy: Společné vánoční večírky, bowling a další aktivity s kolegy.
- Občerstvení na pracovišti: Káva, čaj a další drobné občerstvení.