Software Engineer - C++ & Java (AL-FNC250107 004/01)
The successful candidate will be responsible for the design and development of one or more devices that are part of an integrated e-payment Fare Collection System. The successful candidate will also be involved in the software development lifecycle from definition of requirements to design and development, and testing.
The activities required to be performed shall include the following:
Design and build advanced applications for ubuntu platform.
Collaborate with cross-functional teams to define, design and implement new features.
Unit-test code for robustness, including edge cases, usability, and reliability.
Work on bug fixing and improving application performance.
Preparation and submission of deliverables throughout the software development lifecycles 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 standard adopted by the Authority.
Liaise with stakeholders on the requirement, design and testing issues.
Tertiary qualification in Electrical/ Electronics/ Mechanical Engineering/ Computer Science or a relevant discipline
At least 2 years in software development and system integration
Experiences in C++ application development
Knowledge or work experiences in the following areas is an added advantage
Java application development
Web application using HTML/HTML5, JavaScript and JavaScript Framework (i.e. AngularJS, ExtJS, JQuery, Bootstrap)
Interfacing with database (i.e. MS SQL, Oracle, MySQL) using ODBC/JDBC and SQL
Multi-tier software architecture design and implementation
Object-oriented software design and UML modelling
Virtualization using Containerisation (e.g. docker)
Applications development and deployment into Commercial Cloud (e.g. AWS)
Application development for Desktops / Workstations
Web services in Commercial Cloud (e.g. AWS)
AWS Lambda Functions using Python or JavaScript
Single Sign-on solutions (e.g. OAuth, OpenID Connect, SAML)
Secure communication (e.g. MQ, MQTT, SFTP, FTP-S)
Strong analytical and problem-solving skills
Resourceful and self-motivated team player
Good written and verbal communication skills in English.