// Adds dimensions UUID, Author and Topic into GA4
Sunday, July 26, 2026
27.7 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

Netizen mocked after claiming colourful hair won’t get people hired in Singapore

Singaporeans pushed back against claims that brightly coloured hair would make young people unemployable. Others later pointed out that the original post was intended as satire.

Singapore study examines long-term impact of daycare and domestic helper care on young children

A study by A*STAR and NUS Medicine has found that if babies are cared for by someone other than their parents for the first 18 months after birth, they generally have better academic performance wh...

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