Requirements for Software Engineer (Devices)
Responsibilities:
- Analyse, design, and develop one or more devices that are integral components of an integrated e-payment fare collection system.
- Explore and introduce new methods and technologies to enhance the system.
- Resolve challenging issues that the development teams are unable to address.
- Actively participate in the software development lifecycle, utilising agile and iterative development methodologies.
Qualifications & Requirements:
- Recognised degree in Electrical and Electronics Engineering, Computer Science, or a related discipline.
- At least 5 years of experience in C++ application development on Linux.
- Minimum of 3 years of experience in object-oriented software design with UML modelling.
- Strong skills and methodologies in translating requirements into software design.
- In-depth knowledge of multi-threading, socket programming and inter-process communication.
- Experience in multi-tier system architecture solutioning; experience with multi-tier system development for cloud computing is a plus.
- Proficiency in AWS ECS and Docker containerization, with a solid understanding of DevOps principles and best practices.
- Proficiency in handling and troubleshooting various peripherals such as receipt printers, barcode scanners, and other related devices is a plus.
- Knowledge of Angular development is an added advantage.
- Familiarity with Agile or Rational Unified Process (RUP) methodologies in the software development lifecycle.
- Strong analytical and problem-solving skills with the ability to explain technical details effectively.
- Excellent written and verbal communication skills.
- Ability to work independently, self-motivated, and a strong team player.
Working Location Arrangement:
The candidate shall adhere to the Authority work arrangement to work in office and/or work from home. The Authority has the sole discretion to make the arrangement.