About the Role :
We are looking for an experienced C++ Developer with hands-on expertise in Metro AFC (Automatic Fare Collection) systems . The ideal candidate will have strong knowledge of C++ programming along with experience in AFC subsystems such as Gates, TVM, TOM, Validators, Station Devices, and Back-Office Systems.
Key Responsibilities :
- Develop, enhance, and maintain AFC software modules using C++ (preferably C++11 / 14 / 17).
- Work on device communication with AFC equipment (Gates, TVM, TOM, Validators, PDS, PAD, Station Server).
- Integrate AFC systems with central back-office servers (Clearing House, HCMS, Revenue Systems).
- Troubleshoot software issues related to station devices and field AFC systems.
- Work closely with hardware, networking, and AFC operations teams to deliver stable solutions.
- Participate in requirement analysis, technical design, coding, testing, and deployment.
- Develop communication protocols (TCP / IP, Serial, REST APIs, SOAP, XML / JSON).
- Ensure software performance, reliability, and compliance with Metro standards.
- Collaborate with QA teams to support functional, integration, and device-level testing.
- Prepare technical documentation, design notes, test cases, and release notes.
Required Skills :
Strong proficiency in C / C++ , OOPS, STL, Multithreading, IPC.Experience working on AFC domain software (mandatory).Hands-on experience in device protocol handling , middleware, or embedded applications.Knowledge of Linux-based development , build tools, and deployment.Experience with SQL / MySQL / PostgreSQL (good to have).Understanding of networking concepts (TCP / IP, SFTP, sockets).Familiarity with Message Queues, Microservices (optional) .