Software Engineer
We’re opening the position of a Software Engineer to work on the project of our Client — a German manufacturer of ticket validation and issuing devices for public transport, who is developing a standalone, reusable C++ module implementing the etiCORE functionality required by its devices. The module will expose a clearly defined HTTP/JSON API and run on ARM-based Embedded Linux devices, as independently as possible from the existing device software.
As a Middle C++ Software Engineer, you will focus on implementation, automated testing, and documentation. You will collaborate with one external Senior C++ Software Engineer / Software Architect and one internal Client’s Software Engineer. Architecture, interfaces, and key technical decisions will be coordinated within the team; the Senior Software Engineer will lead technical architecture and design.
The Client’s internal team will primarily handle integration into existing products, including the user interface and data provisioning. Your work will help deliver a maintainable module that the Client can independently support and extend after project completion.
Responsibilities:
- Analyze etiCORE specifications and implement the agreed functionality for ticket validation and issuance
- Develop a standalone, reusable C++ module for ARM-based Embedded Linux devices, following architecture agreed with the Senior Software Engineer and the Client’s team
- Implement etiCORE processes, binary data formats, protocols, and verification mechanisms
- Implement HTTP/JSON API functionality and contribute to interface design
- Integrate cryptographic functionality and interfaces to security components such as SAMs where required, in collaboration with the Senior Software Engineer
- Implement robust error handling, diagnostics, and logging with attention to performance, resource consumption, and reliability
- Develop automated unit and integration tests with traceability to requirements, including invalid data, error scenarios, and security-relevant functionality
- Apply secure coding practices and contribute to static analysis, dependency vulnerability scanning, and SBOM maintenance
- Document implementation, interfaces, dependencies, and build instructions; contribute to API documentation, preferably using OpenAPI
- Participate in code reviews, technical discussions, interoperability & conformance testing, integration support, and knowledge transfer
Requirements:
- Professional experience with modern C++, preferably C++17 or newer
- Good understanding of object-oriented design and modular software architecture
- Experience in developing software for Linux-based systems
- Experience with CMake or comparable build systems and Git
- Experience with automated testing, preferably using Google Test or Catch2
- Knowledge of HTTP-based APIs, JSON, and REST-oriented interfaces
- Experience with processing binary data formats
- Understanding of concurrency, asynchronous processing, and robust error handling
- Knowledge of secure software development principles
- Ability to analyze technical specifications and develop maintainable, well-documented software
- Independent, structured, and solution-oriented working style
- Strong collaboration and communication skills; proactive approach to technical challenges and 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