// Adds dimensions UUID, Author and Topic into GA4
Monday, August 3, 2026
31.6 C
Singapore

‘Getting zero offers for 2 months was a good slap in the face’: Fresh grad reluctantly accepts job offer that pays below salary expectations

SINGAPORE: It seems the job market is leaving some fresh graduates with little choice but to accept jobs that pay below their salary expectations.

Recently, an NUS graduate shared anonymously on a local forum that he reluctantly took a data engineering role even though the starting salary was “4% lower than the median and 10.8% lower than the mean” compared with what his fellow graduates were earning.

While he admitted the pay was not ideal, he felt it was the more practical choice.

“I’d much rather be employed now and start earning a salary and hopefully use this job as leverage for my future career.”

250 job applications

The graduate said he began searching for work in May, immediately after sitting his final paper. Since then, his life had pretty much boiled down to two activities: building projects to beef up his portfolio and firing off job applications.

“I spent my days either churning up vibe coded projects (backend for skills and frontend for employer showcase) or sending out my resumes. I’ve iterated through so many resumes and went for several interviews.”

“I believe I’ve sent out ~250 job applications, most of which I’ve written a cover letter tailoring to the job.”

Despite all that effort, the offers simply never came. “I was genuinely feeling the job-hunt fatigue. Getting zero offers for 2 months was a good slap in the face.”

At the end of his post, he had a message for students yet to graduate, particularly those pursuing STEM courses.

“For current students, please do your internships (at least for STEM majors), imagine going to your graduation ceremony, only to see 200 other competitors fighting for similar jobs you’ve been applying for. There are simply not enough jobs for the increasing number of graduates, and this is only accounting for NUS students.”

“To other graduates, feel free to share about your experience in the 2026 job hunt.”

“I’m still unemployed now”

His story struck a chord with many commenters, several of whom said they were facing similar struggles. One wrote, “I’M STILL UNEMPLOYED. Honestly, I have been slacking a little the last few weeks due to burnout after getting rejected for a role that I was quite further in. I don’t know whether I’ll even get a job.”

Another commented, “CS Major here, I only got one offer after ~100 applications, but I ended up rejecting it as it was >S$1k below median. Slowly regretting it, though, because I’m still unemployed now.”

A third said, “Man, it’s even harder if you are on a student pass. I’ve been searching since the career fair. Many jobs do not offer work passes for fresh grads.”

The stories above reflect what many fresh graduates are experiencing today: landing that first full-time job is taking longer. According to the Ministry of Manpower, only 74.4% of 2025 university graduates in the labour force secured full-time employment, down from 87.5% in 2022.

That said, the bigger picture is more reassuring. Employment rates for degree holders aged 25 to 29 have remained steady at around 90% over the past decade.

Read also: Singapore man says supporting his wife, parents and relatives has left him emotionally drained

- Advertisement -

Hot this week

‘I feel lost and embarrassed’: Singaporean fresh grad opens up after failing probation

SINGAPORE: A Singaporean fresh graduate shared on Reddit that she feels “dejected” after failing her probation at her first full-time job, an outcome she never saw coming because she believed thing...

Man draws out a kitchen knife because his neighbor was making a phone call in public corridor

A man, angered by his neighbor's loud phone call outside his home, not only hurled insults at the neighbor but also went home to grab a kitchen knife and stormed towards him.

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