Software Engineer

  • Jobtailor
  • Redhill, Surrey
  • 25/07/2026
Full time Information Technology Telecommunications Testing

Job Description

Responsibilities
  • Develop, maintain and troubleshoot C/C++ applications for Front Office devices and embedded platforms.
  • Analyse software behaviour and investigate issues affecting device performance, functionality and service availability.
  • Support the integration of hardware devices and peripherals, including POS terminals, NFC devices, receipt printers, Bluetooth devices and other field equipment.
  • Design, implement and maintain software interfaces using communication technologies such as REST APIs, MQTT and WebSockets.
  • Collaborate with hardware and systems engineering teams to validate hardware-software interactions and device integration.
  • Participate in software testing activities, including unit testing, integration testing and defect resolution.
  • Contribute to software version control, build management and deployment processes using modern development practices.
  • Support production environments by investigating incidents, implementing fixes and contributing to continuous improvement initiatives.
Requirements
  • Minimum 2 years of experience in software development using C/C++.
  • Experience working with hardware-connected applications and embedded or device-level software.
  • Strong knowledge of modern C++ development, including C+ and C+ standards.
  • Experience integrating and supporting hardware devices such as POS terminals, NFC readers, receipt printers and Bluetooth peripherals.
  • Knowledge of REST APIs, MQTT and WebSocket communications.
  • Experience using Git or similar version control systems.
  • Experience working with Embedded Linux and/or Windows-based systems.
  • Familiarity with CMake and modern software build processes.
  • Strong analytical and troubleshooting skills.
  • Desirable
  • Experience within Fare Collection Systems, transport or ticketing environments.
  • Knowledge of Jira and Agile development methodologies.
  • Experience with CI/CD tools and practices, including Jenkins, Docker and Kubernetes.
  • Experience with unit and integration testing frameworks such as Google Test and Mockito.
  • Knowledge of software design patterns and Clean Code principles.
  • Experience developing applications in Windows environments using Visual Studio or Visual Studio Code.
  • Experience supporting software deployments in production environments.
Core Competencies

Demonstrates expertise in C/C++ application development for embedded platforms and hardware integration, with strong analytical and troubleshooting skills. Proficient in modern development practices, including version control and software testing methodologies.