Software Engineer
We’re opening the position of a Software Engineer / Software Architect to work on the project of our Client — a German manufacturer of ticket validation and issuing devices for public transport, who is building a standalone, reusable C++ module that implements the etiCORE e-ticketing standard. The module will expose a clearly defined HTTP/JSON API and run on ARM-based Embedded Linux devices, largely independent of the existing device software.
You will join a small team consisting of one internal Client’s Software Engineer and two external Software Engineers. As the Senior Software Engineer, you will lead technical architecture and design while staying hands-on in implementation and testing. The goal is a maintainable solution that the Client can support and extend on their own after the project ends.
Responsibilities:
- Analyze etiCORE specifications and identify the functionality needed for ticket validation and issuance
- Design a modular, maintainable, and testable C++ architecture
- Define the HTTP/JSON API and module boundaries together with the Client
- Implement etiCORE processes, data formats, protocols, and verification mechanisms in modern C++
- Integrate cryptographic functionality and interfaces to security components such as SAMs
- Build robust error handling, diagnostics, and logging for resource-constrained ARM devices
- Develop automated unit and integration tests with traceability to requirements
- Apply secure coding practices, static analysis, and dependency vulnerability scanning, with EU Cyber Resilience Act (CRA) requirements in mind
- Document architecture, interfaces, dependencies, and build process; provide OpenAPI documentation
- Lead code reviews and technical discussions, and guide the mid-level Software Engineer
- Support integration, conformance testing, and handover to the Client’s team
Requirements:
- Extensive professional experience in developing complex systems in modern C++, preferably C++17 or newer
- Proven experience with object-oriented design and modular, maintainable, and testable software architectures
- Strong knowledge of cryptographic principles, digital signatures, certificates, and PKI
- Experience with cryptographic libraries such as OpenSSL and secure key management
- Experience in developing or integrating security-sensitive components and communication protocols
- Experience with Linux development, CMake or comparable build systems, and Git
- Automated testing experience, preferably with Google Test or Catch2
- Knowledge of HTTP-based APIs, JSON, and REST-oriented interfaces
- Experience in processing binary data formats
- Understanding of concurrency, asynchronous processing, robust error handling, and secure software development
- Ability to analyze technical specifications, assess technical risks, evaluate architectural alternatives, and document pragmatic design decisions
- Experience in conducting technical reviews and providing guidance within small Development teams
- Independent, structured working style, strong collaboration skills, and a proactive approach to knowledge sharing
- Very good German or English communication skills
- English level — Upper-Intermediate or higher
Will be a plus (candidates are not expected to cover all desirable qualifications):
- Expertise with VDV Core Application (VDV-KA), etiCORE, or electronic ticketing systems
- Knowledge of smartcards, ISO/IEC 7816, NFC, or ISO/IEC 14443
- Understanding of Secure Access Modules (SAM) or Hardware Security Modules (HSM)
- Ability to work with ASN.1, TLV, or comparable binary data structures
- Skills with Embedded Linux and cross-compilation for ARM platforms
- Experience with Docker, Podman, or comparable reproducible Development and Test environments
- Understanding of SBOM, vulnerability management, and CRA-related security requirements
We offer:
- Remote-first work model with flexible working hours (we provide all equipment)
- Comfortable and fully equipped offices in Lviv and Rzeszów
- Competitive compensation with regular performance reviews
- Referral Bonus Program
- 18 paid vacation days per year
- 12 days of paid sick leave per year
- Extra paid leave (blood donation, marriage, childbirth, etc.)
- Health & wellness support: either a monthly budget for medical insurance and sports activities, or a full medical insurance plan, depending on your cooperation model
- Mental Health Program — company-covered psychologist consultations, with an annual coverage limit
- English, German, and Polish language courses and Speaking Clubs
- Corporate merch gifts for your special dates
- Corporate subscription to learning platforms, regular meetups and webinars
- Friendly team that values accountability, innovation, teamwork, and customer satisfaction
- Maternity leave
- Inclusive environment where everyone feels valued and treated equally. We proudly partner with VeteranHub to support Ukrainian veterans
- We are committed to supporting Ukraine and actively participate in charity initiatives