You will be a key member of the R&D Digital Translation team established under the Singapore Maritime Institute. The R&D Digital Translation team develops and operates digital and cyber products and translates R&D projects to real world implementations for the maritime industry.
You will be involved in the requirements gathering, development and testing of products as per evolving business needs as part of the end-to-end agile development lifecycle starting from UI/ UX Design to Cloud Engineering & Operations, Software Development, DevSecOps, Quality Assurance and Application Security.
Key Responsibilities
1. Participate in the requirements gathering sessions and contribute to the development of the functional/design specifications
2. Design algorithms and flowcharts to create new software programs and systems
3. Develop clean, efficient and extendable codes using HTML/CSS, Javascript, Java, .NET, React Native and other relevant programming languages.
4. Troubleshooting, debugging, maintaining and improving existing software
5. Perform code reviews and functional testing to ensure that standards are upheld.
6. Continuous review and refactoring code for reusability and reduce technical debt.
7. Work with QA Engineer to prepare test cases as well as entry and exit criteria for SIT and UAT to ensure that user requirements are met as described per product backlog
8. Work with Application Security Engineer to perform System Security Acceptance Test (SSAT), which includes Secure Code Review (SCR), Vulnerability Assessment (VA) and Penetration Test (PT) and remediate the security findings before seeking clearance and approval from CISO and CIO respectively
9. Maintain and update library of reusable APIs, components and modules
10. Develop technical documentation to guide future software development projects
Requirements
1. Background in Computer Science, Engineering or related disciplines.
2. Highly proficient in programming languages such as HTML/CSS, Javascript, Java, AngularJS, Bootstrap or other relevant programming languages
3. Participated in at least one full software or product development cycle, preferably using Agile Methodology
4. Excellent communication skills
5. Teamwork and collaboration skills
6. Possess critical thinking and problem-solving skills