Research Assistant (Computational Science and Machine Learning)

National University of Singapore

SGonsitePosted Jun 18, 2026
Posting intelligenceActively listedReposted 3×, possible evergreen/ghost posting

Skills

tensorflowpytorchpythonnaturallanguageprocessing

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 Assistant (Computational Science and Machine Learning)

: 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 Assistant (Computational Science and Machine Learning)

University-Level Unit: College of Design and Engineering

Faculty/Department-Level Unit: Mechanical Engineering

Employee Category: Research Staff

Location_ONB: Kent Ridge Campus

Posting Start Date: 17/06/2026

Job Description

We are hiring 1 Research Fellow in computational science and machine learning for extreme weather forecasting applications. The ideal candidate should be skilled in coding, and software development, and be highly proficient in Python, Large-Language Models and Natural Language Processing.

Qualifications

PhD in Computer Science, especially in the context of NLP.

Coding and software development (Python, Tensorflow or Pytorch).

Good problem-solving skills.

Proficient in English writing and verbal communication skills.

Req ID: 33385

#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

Click "Apply with AI Applyd" above. We auto-fill the application from your resume and answer screening questions in seconds. No copy and paste, no juggling tabs.

Compensation for Machine Learning Engineer roles in Singapore varies widely by seniority, employer size, and remote vs onsite arrangement. Check the salary range on this listing when published, or browse our Machine Learning Engineer hub for Singapore medians across recent openings.

Most applications complete in under 90 seconds. You can track the status in your dashboard and watch the screenshot proof land the moment the application submits.

AI Applyd supports Greenhouse, Lever, Ashby, Workday, iCIMS, SmartRecruiters, Personio, Teamtailor and other major ATS platforms. If we can submit through the platform, we do.

Want AI Applyd to auto-apply to roles like this?

We tailor your resume per posting, fill the forms, and track replies for you.