Key Notes
C/C++ software runs on front-office ticketing devices within Indra’s TfL programme, connecting embedded applications with payment and peripheral hardware. The hybrid Redhill contract role requires at least two years of C/C++ development and device-level integration experience. C++11/C++14, REST, MQTT and WebSockets feature in the essential technical criteria; fare-collection experience is desirable.
What You'll Work On
- Develop, maintain and troubleshoot C/C++ applications running on front-office devices and embedded platforms.
- Integrate POS terminals, NFC devices, receipt printers, Bluetooth peripherals and other field hardware with application software.
- Build and maintain interfaces using REST APIs, MQTT and WebSockets and validate hardware-software interactions.
- Support unit and integration testing, build and deployment processes and production incident investigation.
Why This Role Matters
- TfL’s front-office ticketing devices rely on embedded applications exchanging data with POS, NFC and other peripherals; interface testing identifies hardware-software mismatches affecting device behaviour.
- Live ticketing-device incidents are investigated at software level, with tested fixes and controlled builds providing a route from diagnosis back into production.
What They Are Looking For
- Experience: A minimum of two years developing software in C/C++ is essential.
- Technical: Modern C++ including C++11 and C++14 is essential.
- Technical: Hardware-connected and embedded/device-level software, including integration/support of devices such as POS terminals, NFC readers, receipt printers and Bluetooth peripherals, is essential.
- Technical: REST APIs, MQTT and WebSockets; Git or similar; Embedded Linux and/or Windows; and CMake/build-process familiarity are essential.
- Preferred: Fare collection, transport or ticketing experience is desirable.
- Preferred: Jira/Agile, CI/CD, testing frameworks, design patterns/Clean Code, Visual Studio tools and production-deployment experience are desirable.