C++ Software Developer / Software Architect - Linux, etiCORE (Senior / Mid-Level | Freelancers & Software Development Companies)
O pozici
Vyvíjíme softwarová a hardwarová řešení pro systémy veřejné dopravy, která využívají dopravní společnosti po celém světě.
Pro nový projekt v oblasti elektronického odbavování cestujících (e-ticketing) hledáme dva zkušené C++ vývojáře - seniorního C++ vývojáře / softwarového architekta a C++ vývojáře na úrovni medior.
Uvítáme nabídky jak od jednotlivých freelancerů (OSVČ), tak od společností poskytujících služby v oblasti vývoje softwaru. Spolupráce bude probíhat formou Time & Material (T&M).
Cílem projektu je vyvinout samostatný, opakovaně použitelný softwarový modul v C++, který implementuje etiCORE (dříve VDV-KA 3.0), nový mezinárodní standard pro elektronické odbavování cestujících. Modul bude využíván v zařízeních pro kontrolu a vydávání elektronických jízdenek ve veřejné dopravě.
Vývoj bude probíhat v úzké spolupráci s našimi kolegy v Německu. Hlavním jazykem pro komunikaci a technickou dokumentaci je angličtina.
Náplň práce
Budete se podílet na návrhu, implementaci a testování samostatného softwarového modulu v C++ určeného pro zařízení s procesory ARM a operačním systémem embedded Linux.
Vaše hlavní odpovědnosti budou zahrnovat:
Analýzu technických specifikací etiCORE a návrh odpovídajících softwarových řešení.
Návrh modulární, udržovatelné a testovatelné softwarové architektury.
Implementaci požadovaných procesů etiCORE, datových formátů, protokolů, kryptografických a ověřovacích mechanismů s využitím moderního C++.
Návrh a implementaci HTTP/JSON API.
Integraci kryptografických knihoven a rozhraní k bezpečnostním komponentám (např. SAM), pokud jsou požadovány.
Vývoj automatizovaných jednotkových a integračních testů.
Implementaci robustního zpracování chyb, diagnostiky a logování.
Řešení technických problémů, optimalizaci výkonu a provádění revizí kódu (code reviews).
Přípravu technické dokumentace a dokumentace API.
Podporu integrace, testování interoperability a testování shody se standardem.
Zajištění sledovatelnosti vazeb mezi požadavky, implementovanou funkcionalitou a testy.
Seniorní C++ vývojář / softwarový architekt bude navíc zastávat vedoucí technickou roli při návrhu softwarové architektury a klíčových technických rozhodnutích, přičemž se bude nadále aktivně podílet na implementaci a testování.
Požadovaná kvalifikace a technické znalosti
Profesionální zkušenosti s vývojem softwaru v C++ (ideálně C++17 nebo novější).
Dobrá znalost objektově orientovaného návrhu a modulární softwarové architektury.
Zkušenosti s vývojem softwaru pro systémy založené na Linuxu.
Zkušenosti s Git a CMake (nebo srovnatelnými build systémy).
Zkušenosti s automatizovaným testováním (např. Google Test, Catch2).
Znalost HTTP, JSON a REST API.
Zkušenosti se zpracováním binárních datových formátů.
Porozumění souběžnému a asynchronnímu zpracování a robustnímu ošetření chyb.
Znalost principů bezpečného vývoje softwaru.
Schopnost samostatně analyzovat komplexní technické specifikace a převádět je do spolehlivého a udržovatelného softwaru.
Samostatný, systematický přístup k práci a orientace na řešení problémů.
Dobré schopnosti spolupráce a komunikace v rámci vývojového týmu.
Aktivní přístup k technickým výzvám a sdílení znalostí.
Velmi dobrá znalost angličtiny nebo němčiny pro pracovní komunikaci.
Další požadavky na seniorního C++ vývojáře / softwarového architekta
Rozsáhlé zkušenosti s návrhem a vývojem komplexních softwarových systémů v C++.
Výborná znalost kryptografie, digitálních podpisů, certifikátů a PKI.
Zkušenosti s kryptografickými knihovnami, jako je OpenSSL, a s bezpečnou správou kryptografických klíčů.
Zkušenosti s vývojem bezpečnostně citlivých aplikací a komunikačních protokolů.
Schopnost identifikovat technická rizika, vyhodnocovat alternativní architektonická řešení a přijímat pragmatická návrhová rozhodnutí.
Zkušenosti s prováděním technických revizí a poskytováním odborného vedení v menších vývojových týmech.
Výhodou jsou
Znalost VDV Core Application (VDV-KA), etiCORE nebo systémů elektronického odbavování cestujících.
Zkušenosti s čipovými kartami, NFC, RFID, ISO/IEC 7816 nebo ISO/IEC 14443.
Zkušenosti s bezpečnostními moduly Secure Access Module (SAM) nebo Hardware Security Module (HSM).
Znalost ASN.1, TLV nebo srovnatelných binárních datových struktur.
Zkušenosti s embedded Linuxem na platformách ARM.
Znalost Dockeru, Podmanu nebo srovnatelných technologií pro reprodukovatelná vývojová a testovací prostředí.
Zkušenosti s OpenAPI.
Znalost bezpečnostního testování, statické analýzy kódu, SBOM a správy zranitelností.
Orientace v požadavcích evropského nařízení Cyber Resilience Act (CRA).
Předchozí zkušenosti s etiCORE nejsou podmínkou. Důležitější jsou kvalitní znalosti C++, zkušenosti s vývojem pro Linux, schopnost pracovat s technickými specifikacemi a v případě seniorní pozice také dobrá znalost kryptografie.
Co nabízíme
Možnost pracovat na technicky zajímavém mezinárodním projektu v oblasti elektronického odbavování cestujících.
Spolupráci se zkušenými vývojáři a softwarovými architekty.
Přímé zapojení do analýzy, návrhu architektury, implementace a testování.
Zaujal vás tento projekt?
Zašlete nám prosím následující informace:
Životopis nebo profil společnosti, relevantní zkušenosti a označení pozice či pozic, o které máte zájem (Senior / Mid-Level).
Popis srovnatelných projektů vývoje softwaru v C++.
Zkušenosti s kryptografickými protokoly, digitálními podpisy a PKI.
Případnou dosavadní znalost VDV-KA nebo etiCORE.
Zkušenosti s vývojem modulárního softwaru pro embedded Linux.
Dostupnost, nejbližší možný termín zahájení spolupráce a předpokládanou kapacitu (počet dní v týdnu).
Požadovanou denní sazbu a příslušné obchodní podmínky spolupráce v režimu Time & Material (T&M).
Reference ze srovnatelných projektů, pokud jsou k dispozici.
Kontakt
Systek SWHW s.r.o.
Kamenná 3
63900 Brno
517 541 616
systekswhw@systekswhw.cz