// Adds dimensions UUID, Author and Topic into GA4
Saturday, June 20, 2026
32.2 C
Singapore

‘Survived layoffs, now this’: SG worker react as PIP notices issued across company

SINGAPORE: Just months after watching their colleagues lose their jobs, one Singaporean worker revealed that almost everyone who remained at the company was suddenly placed on a Performance Improvement Plan (PIP).

Posting on Reddit on Friday (Jun 12), the employee questioned whether workers have any real protection when companies take this route.

According to the post, the company had already gone through two rounds of layoffs in recent months. 

Employees who survived the cuts were told they were being retained because there were still projects that needed to be completed and teams that needed manpower.

During a town hall meeting, management also reportedly assured staff that there would likely only be two rounds of retrenchments.

“In the previous town hall meeting, they said there will probably only be 2 rounds of layoffs. If they were to do a third round, the compensation package would still be given and be the same as the previous layoff. Now everyone got PIP instead.”

Needless to say, the employee was not convinced the timing was a coincidence.

“Layoff, layoff, then PIP—employees really cannot do anything in this situation?” they asked.

For many Redditors, the sequence of events raised eyebrows. First came the layoffs. Then came a company-wide wave of PIPs. To some, it looked suspiciously like the company had swapped one exit strategy for another.

In the thread, one commenter wrote, “PIP technically is not a layoff. How sly but typical of them to try to use PIP as a way to not pay compensation and to force resignation.”

Another remarked, “It’s worse than layoff leh since they don’t have to pay severance.”

A third user added, “Never take any company’s word at face value, always prepare for the worst. Means nothing if people survived a round of retrenchment. In fact, it’s a signal to find a new job before the next round of retrenchment hits. Some companies will retrench the less senior employees and PIP the more senior ones to save money.”

Some commenters also encouraged the employee to start gathering evidence in case the situation escalates.

One wrote, “If you feel that you have been unfairly dismissed, you can approach TADM. Before that, do collect evidence to help your case. From my experience, most companies terminate due to performance, conduct and KPI issues. It will be good if you can start keeping track of your work performance and also keep a record of conversations between yourself, your manager and your HR.”

In other news, a software engineer took to social media to share that he’s considering leaving his S$3,500-paying job after his company failed to deliver a promised salary increase.

He posted on the r/singaporejobs subreddit, explaining: “I recently completed my part-time computing degree at NTU, but I did not receive the promised salary increment due to budget constraints. I have 3 years of experience as a software engineer, and I feel completely undervalued and misled, and I am seriously considering leaving.”

Read more: Software engineer considers leaving S$3.5K job after company fails to deliver promised salary increase

- Advertisement -

Hot this week

Microsoft: Singapore workers using AI more actively and responsibly than global peers

SINGAPORE: Singapore workers were found to be among the world's most active and responsible users of artificial intelligence (AI) at work, according to findings from Microsoft's 2026 Work Trend Ind...

2011 MRT breakdowns that led to CEO’s resignation mysteriously struck off SMRT’s wiki page

An observer online noted, "It was the biggest event for smrt. Made the news for days and weeks. It should have its own section on smrt page. Not sure how anyone can justify calling it non notable."

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