1. Design and Develop railway on-train public address, communications and information display systems
2. Participate in product planning activities such as proof of concept, requirement definition and design implementation
3. Design and Develop monitoring systems to be used for data analytics
4. Support existing firmware modification & features enhancement
5. Work with development team members to define and document software requirements and design, ensuring that requirements are traceable in the design and implementation.
6. Ensure that implementation conforms to the coding standards and engineering processes
1. Degree in Computer Science, Computer Engineering or Electronics Engineering
2. At least 3 years of C++ experience. Knowledge of Object Oriented principals, data structures and algorithms.
3. Experience in network programming using TCP, UDP, multicast.
4. Knowledge of embedded software development on X86 and ARM based systems using Linux Operating Systems
5. Knowledge of digital input/output, RS232/485 serial, i2c and CANBus communications programming.
6. Knowledge of Microchip 8/16 bit microcontroller programming would be advantageous.
7. Knowledge of Qt/QML GUI programming or Android Studio would be advantageous.
8. Experience in WiFi stack or 5G would be advantageous