// Adds dimensions UUID, Author and Topic into GA4
Thursday, June 18, 2026
31.1 C
Singapore

Singapore’s finance giants exploit contract hiring frenzy to cut costs

SINGAPORE: According to the 2025 Salary Guide Report of Morgan McKinley, a recruitment consultancy firm in Singapore, the city-state’s financial services sector continues to practise caution in its hiring practices with continued reliance on contract roles.

According to the report featured in an Asian Banking & Finance article, contract hiring has become the foremost approach as companies search for more flexibility and cost control.

Jobs in cybersecurity, compliance, and data analytics are often filled up through project-based contracts rather than permanent employment.

According to McKinley, while there is a continued demand for permanent roles, firms are giving priority to professionals who have the expertise in technical and strategic know-how necessary to push digital revolution and regulatory reworking.

Further, the report stressed that the financial sector has engaged in a restrained method of hiring, with many firms giving significance to replacement hires rather than expanding teams.

Singapore has seen considerable growth in private wealth over the past four years, with assets under management that reached $265b in 2024 This growth meant that private bankers have become the most in-demand job in the Lion City.

- Advertisement -

Hot this week

ERP gantries phasing out, satellite tech charging in: Singaporean puts new ERP 2.0 location-based charging via satellite-based system to the test

New alerts, blue road markings and gantry-free price charging are being tested as Singapore prepares to switch fully to satellite-based ERP

Singaporean woman facing 2 years’ jail for trafficking Kpods and 7 vape-related offences had her charges removed after dying of heart failure

The case was discontinued after the accused died before the court could determine the allegations against the 25-year-old

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