// Adds dimensions UUID, Author and Topic into GA4
Tuesday, June 16, 2026
28.9 C
Singapore

8M Real Estate appoints Jocelyn Hao as new CEO

SINGAPORE: 8M Real Estate has appointed Jocelyn Hao as its new Chief Executive Officer, effective Oct 15.

Ms Hao has been in regional leadership roles across retail and real estate for more than two decades. Most recently, she was the General Manager for licensing in Asia Pacific at Starbucks Coffee Company, where she oversaw operations in Taiwan, the Philippines, Thailand, India, New Zealand, and Australia.

She also led large-scale market expansion strategies, rolled out new store formats, and pushed digital transformation at Starbucks and across other brands, including Crocs, Uniqlo, Cushman & Wakefield, CB Richard Ellis, and Robinsons Group.

8M Real Estate has been known for buying and restoring heritage shophouses in Singapore, as well as transforming mixed-use assets into creative hubs.

According to the company, Ms Hao’s experience across different markets, along with her expertise in building networks, creating value through partnerships, and customer-focused strategies, will be instrumental to its portfolio expansion. /TISG

Read also: Former DBS CEO Piyush Gupta appointed as 17th S R Nathan Fellow for the Study of Singapore by IPS

- Advertisement -

Hot this week

‘Two global powerhouses unite’: Mayor of London in Singapore on official visit

London mayor Sadiq Khan is in Singapore on an official visit. "This is what it looks like when two global powerhouses unite. Delighted to be here to bang the drum for London and supercharge the s...

Malaysian MP says RM600,000 is required to demolish illegal four‑storey settlement in Selangor

Parliamentary member Sany Hamzan sparked controversy after claiming it would cost around RM600,000 to demolish an illegal Rohingya settlement in Malaysia. The site drew public attention when images...

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