Research Engineer (Digital Twin Platform & Software Architecture)
Skills
About the role
Job Description
.buttontext66fe6e883305b6d6 a{ border: 1px solid transparent; } .buttontext66fe6e883305b6d6 a: focus{ border: 1px dashed #ef7c00 !important; outline: none !important; }
#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-
.buttontexta1b2bddaf8a85a2b a{ border: 1px solid transparent; } .buttontexta1b2bddaf8a85a2b a: focus{ border: 1px dashed #ef7c00 !important; outline: none !important; }
Research Engineer (Digital Twin Platform & Software Architecture)
University-Level Unit:
College of Design and Engineering
Faculty/Department-Level Unit:
Civil and Environmental Engineering
Employee Category:
Research Staff
Location:
Kent Ridge Campus
Posted On:
05/05/2026
: root{ -nus-blue: #003D7C; / NUS Blue (requested) / -nus-orange: #EF7C00;/ NUS Orange (requested) / -text: #000; -shadow: rgba(0,0,0,0.1); } .nus-custom-job-box { font-family: 'Roboto', sans-serif; border: 1px solid var(-nus-blue); border-radius: 12px; background: #ffffff; padding: 12px 12px 16px; margin: 0 0 32px 0; box-shadow: 0 4px 12px var(-shadow); transition: max-height 0.4s ease, padding 0.3s ease; overflow: hidden; / Stretch to container width (remove right gap beside Apply area) / width: 100%; max-width: 100%; box-sizing: border-box; } / Extra inner spacing so title doesn't hug the border / .nus-custom-job-box .box-inner { padding: 16px 24px 8px; / was 0 24px; add top/bottom space / } .nus-custom-job-box.is-d { max-height: 160px; padding-top: 8px; padding-bottom: 12px; } .nus-custom-job-box: not(.is-d) { max-height: none; } .nus-custom-job-box .box-header { display: flex; align-items: center; cursor: pointer; padding: 0; position: relative; } #main-job-title-heading { font-family: 'Roboto', sans-serif; font-size: 22pt; font-weight: 700; color: var(-nus-blue); margin: 0 !important; padding: 0 !important; line-height: 1.25; text-align: left !important; overflow-wrap: break-word; hyphens: auto; } #main-job-title-heading::before, #main-job-title-heading::marker { content: none !important; } .collapsible-content { transition: max-height 0.4s ease, opacity 0.35s ease 0.1s; opacity: 1; } .nus-custom-job-box.is-d .collapsible-content { max-height: 0; opacity: 0; overflow: hidden; } / Desktop/tablet grid / .overview-rows { display: grid !important; grid-template-columns: minmax(180px, 36%) 1fr; gap: 14px 24px; align-items: start; margin-top: 16px; text-align: left; } .overview-row { display: contents; } .overview-row .label { font-size: 11pt; font-weight: 700; color: var(-nus-blue); / keep labels in NUS Blue / white-space: normal; text-align: left; padding-right: 12px; line-height: 1.3; } .overview-row .value { font-size: 11pt; font-weight: 400; color: var(-text); text-align: left; line-height: 1.3; overflow-wrap: break-word; } .overview-row strong { font-weight: 700; } .box-footer { display: flex; justify-content: center; align-items: center; margin-top: 14px; padding-top: 8px; } / Keep the toggle in blue to align with text; if you prefer orange, change to var(-nus-orange) / .toggle-btn { background: none; border: none; font-family: 'Roboto', sans-serif; color: var(-nus-blue); font-size: 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; } / Responsive adjustments / @media (max-width: 1024px) { / Previously there was a right margin; keep width full on tablet too / .nus-custom-job-box { margin-right: 0; } } / MOBILE FIX: keep two columns and prevent label wrapping vertically / @media (max-width: 768px) { .nus-custom-job-box { margin-right: 0; } .overview-rows { grid-template-columns: minmax(140px, 44%) 1fr; gap: 10px 14px; } .overview-row .label { font-size: 10.5pt; padding-right: 10px; line-height: 1.25; } .overview-row .value { font-size: 10.5pt; line-height: 1.25; } #main-job-title-heading { font-size: 18pt; line-height: 1.25; } } / Very small devices / @media (max-width: 360px) { .overview-rows { grid-template-columns: minmax(128px, 46%) 1fr; gap: 8px 12px; } #main-job-title-heading { font-size: 17pt; } .overview-row .label, .overview-row .value { font-size: 10pt; } } / Turn key action buttons (e.g., ) to NUS Orange. SuccessFactors skins vary, so we target a set of common selectors. Adjust or add site-specific classes as needed. / / Buttons that look like primary actions / .sfbutton, .sf-button, .btn, .button, .rcmjobdetail-apply, .rcmjobdetail-apply button, button[id="apply"], a[id="apply"], .btn-apply, .rcmApplyButton, .rcmApplyBtn, input[type="submit"], input[type="button"].primary, button.primary, a.button.primary { background: var(-nus-orange) !important; border: 1px solid var(-nus-orange) !important; color: #fff !important; filter: none !important; opacity: 1 !important; } ..sfbutton: focus, .sf-button: focus, .btn: focus, .button: focus, .rcmjobdetail-apply button: focus, button[id="apply"]: focus, a[id="apply"]: focus, .btn-apply: focus, .rcmApplyButton: focus, .rcmApplyBtn: focus, input[type="submit"]: focus, input[type="button"].primary: focus, button.primary: focus, a.button.primary: focus { outline: 3px solid rgba(239,124,0,0.35) !important; outline-offset: 2px; }
Job Title: Research Engineer (Digital Twin Platform & Software Architecture) University-Level Unit: College of Design and Engineering Faculty/Department-Level Unit: Civil and Environmental Engineering Employee Category: Research Staff Location_ONB: Kent Ridge Campus Posting Start Date: 05/05/2026
Job Description
NUS is hiring a Research Engineer to architect and develop a centralized Digital Twin Platform (DTP) for a fleet of construction robots. As the lead for Track 2 at NUS, he/she will be required to build the software bridge that connects real-time on-site physical data with digital models, enabling advanced progress tracking and automated task visualization. He/she will need to collaborate closely with the Advanced Remanufacturing and Technology Centre (ARTC) to integrate our DTP with their Robot Management Framework (RMF).
Key Responsibilities:
Develop a comprehensive Digital Twin Platform capable of processing point clouds and video analytics for real-time site reconstruction.
Implement algorithms for As-built vs. As-designed comparison to autonomously track construction progress against BIM models.
Design and deploy a scalable backend architecture and an interactive 3D frontend visualization dashboard for the DTP and RMF.
Ensure seamless API integration and data pipeline synchronization with external fleet management frameworks (including PM hoist systems and dynamic scheduling engines).
Lead the software engineering lifecycle of the digital platform, from tabletop prototype to full field deployment.
Job Requirements
Possess at least a bachelor’s degree in computer science, Information Systems, Engineering, or a related field.
Strong full-stack development skills (e.g., Node.js, React/Vue, Python backend frameworks).
Proficiency in 3D rendering and game engine technologies (e.g., Unity, Unreal Engine, WebGL, Three.js) for digital twin visualization.
Familiarity with BIM standards (IFC, Revit) and spatial databases is a strong plus.
Excellent software architecture design capabilities and experience with cloud/edge computing deployment.
Good written and spoken communication skills.
Open to fixed term contract.
Req ID: 32750
#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-#body.unify div.unify-button-container .unify-apply-now: focus, #body.unify div.unify-button-container .unify-apply-
.buttontextfb6029f8ab31c33c a{ border: 1px solid transparent; } .buttontextfb6029f8ab31c33c a: focus{ border: 1px dashed #ef7c00 !important; outline: none !important; }
Questions about this role
Want AI Applyd to auto-apply to roles like this?
We tailor your resume per posting, fill the forms, and track replies for you.