// Adds dimensions UUID, Author and Topic into GA4
Sunday, June 21, 2026
28.9 C
Singapore

Median salary of polytechnic graduates rises by $100 compared to previous year

SINGAPORE: The median gross monthly salary of polytechnic graduates in full-time employment has increased by $100 to $2,900 in 2024, according to the latest Polytechnic Graduate Employment Survey.

The median gross monthly salary of polytechnic graduates in full-time employment in 2023 was $2,800.

Graduates from programs in Health Sciences, Humanities and Social Sciences, and Information and Digital Technologies earned the highest median salaries across all fields, underscoring the growing demand for expertise in these sectors.

Despite slower overall employment growth last year, the survey revealed encouraging outcomes for polytechnic graduates, with 87.5% securing employment within six months of graduation or after completing full-time National Service.

Among the 5,769 graduates surveyed, 54.6% were in full-time permanent positions, while 27% found part-time employment.

Additionally, 2.9% had either accepted job offers or were in the process of launching their own business ventures, reflecting a diverse range of career pathways pursued by graduates.

- Advertisement -

Hot this week

‘Job-dropping’: Why more workers are choosing to step down, not up

"Job-dropping" is the latest workplace trend gaining traction, as more employees choose less demanding roles or turn down promotions in favour of better work-life balance, and it's striking a part...

‘Talent is everywhere, opportunity is not’: Singaporean rejected by local universities graduates from Harvard

From the student address of Biological and Biomedical Sciences PhD graduate Joel Tan, given at the HMS-Affiliated PhD Programs Hooding Ceremony on May 28, 2026, in Harvard. He spoke about having be...

Popular Categories

document.addEventListener("DOMContentLoaded", () => { const trigger = document.getElementById("ads-trigger"); if ('IntersectionObserver' in window && trigger) { const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { lazyLoader(); // You should define lazyLoader() elsewhere or inline here observer.unobserve(entry.target); // Run once } }); }, { rootMargin: '800px', threshold: 0.1 }); observer.observe(trigger); } else { // Fallback setTimeout(lazyLoader, 3000); } });
// //
Enable Notifications OK No thanks