Company Overview
MSI Global Private Limited is a wholly-owned subsidiary of the Land Transport Authority of Singapore. MSI provides professional land transport consultancy, engineering services and solutions in Singapore and many other parts of the world. The Company owns a subsidiary in Shanghai and Bangalore.
We are looking for highly motivated, results-oriented team players to join us as professional partners to strengthen and realise our vision and mission.
Job Summary
Working in a team, you will be responsible for the architecture, design and development of front-end devices that are part of an integrated e-payment fare collection system. You will be involved in the software development lifecycle from defining and translating complex requirements into comprehensive system architectures and software designs, to code implementation and testing.
Responsibilities
- Translate complex software requirements into detailed system architectures and software designs to support integrated e-payment fare collection devices
- Develop and implement C++ software for embedded systems on QNX, Linux, or Windows platforms to deliver reliable front-end device functionality
- Apply object-oriented software design principles and UML modeling to create maintainable and scalable software solutions
- Utilize multi-threading, socket programming, inter-process communication, and serial communication techniques to enhance system performance and integration
- Incorporate cloud architecture concepts including cloud computing, cloud native services, cloud security, multi-tier architecture, and microservices to support system scalability and security
- Participate actively in the Software Development Lifecycle (SDLC) using Rational Unified Process (RUP), Agile, or Continuous Integration/Continuous Deployment/Delivery (CI/CD) methodologies to ensure timely and quality software delivery
- Communicate design decisions clearly and effectively in written and verbal formats to align with team and stakeholder expectations
- Work independently with self-motivation while collaborating effectively as a team player to achieve project goals
Education and Experience
- Recognised Degree in Electrical, Electronics, Mechanical Engineering, Computer Science, or a relevant discipline
- Minimum of 3 years experience in C++ software development for embedded systems or Windows platforms
- At least 1 year of experience in object-oriented software design and UML modeling
Preferred Competencies and Qualifications
- Knowledge of Software Development Lifecycle (SDLC) methodologies including Rational Unified Process (RUP), Agile, or Continuous Integration/Continuous Deployment/Delivery (CI/CD)
- In-depth knowledge of multi-threading, socket programming, inter-process communication, and serial communication
- Understanding of cloud architecture concepts including cloud computing, cloud native services, cloud security, multi-tier architecture, and microservices
- Strong skills and methodology in translating requirements into system architectures and software designs