Responsibilities:
Working in a team to design and develop a real-time, reliable and secured e-payment devices that processes millions of public transport commuters’ cards daily.
The activities required to be performed shall include the following:
- Requirements gathering.
- Design and develop software applications for embedded devices.
- Implement and optimize communication protocols (e.g.TCP/IP, HTTPS, FTPS/SFTP, MQTT-S) to establish secure and reliable connections between embedded devices and on-premises/cloud platforms.
- Conduct thorough testing, debugging and troubleshooting of embedded devices to identify and resolve issues related to functionality, connectivity, performance and reliability.
- Preparation and submission of deliverables throughout the Software Development Lifecycles (SDLC) such as Business Rules,
- Software Requirement Specifications, Software Architecture
- Document, Design Specification, Interface Specifications, Source Codes, Testing Specification, Operation and Maintenance Manual, Training Manual and others documents as required in the SDLC processes.
- Assist day-to-day application support issues.
- Liaise with users on the requirementtesting and production issues.
Qualifications & Requirements:
- Degree in Electrical / Electronics / Computer Engineering / Computer Science or a relevant discipline.
- Developed software in at least one full Software Development Lifecycle.
- Experience in writing Requirements Specification, Use Cases, Design Documentation, and designing software using objectoriented software design and UML modelling
- Good knowledge and experience in C++ on Embedded platforms (e.g. QNX, Vxworks, Embedded Linux).
- Experience in multi-threading, socket programming and serial/USB communication.
- At least 5 years’ experience in object-oriented software development.
- Prior experience in following areas Scrum AGILE methodology process is a plus:
- Scrum AGILE methodology process
- Develop and integrate embedded devices with cloud platforms