About
Generating code isn’t the same as engineering a reliable system.
Lead Engineer in Sydney, focused on distributed systems, engineering judgement in high-stakes environments, and building teams that make better technical decisions.
I’m Munir, a Lead Engineer at Bupa Australia. I lead a squad building customer-facing platforms on Azure, Next.js and headless Sitecore, where mistakes are expensive and changes have to be explainable.
AI is making code cheaper to produce. It hasn’t made reliable systems cheaper. The hard questions remain: what should we build, how do we know it works, and what prevents an automated system from causing damage when it gets things wrong? These questions shape how I engineer, how I lead, and what I write about here.
Much of my career has been spent where those questions matter: pharmaceutical production software, insurance, energy, and now health insurance. I’ve built platform capabilities in Sitecore’s product R&D team, run high-traffic platforms for global brands, and helped modernise traditional CMS architectures without disrupting the customer experiences that depend on them.
The decisions I write about here are ones I’ve had to make: replacing a fragile cache-expiry trigger with a queue and scheduler while deliberately avoiding a full event-driven rebuild; arguing for a data-model fix rather than patching a multi-tab bug; and preparing for a high-risk migration where the biggest risk wasn’t in the code.
With AI, I distinguish between what I’ve done and what I’m still testing. I’ve introduced shared prompts and ticket templates to make my team’s AI-assisted output more consistent and reviewable. I also migrated this site with an agent and documented where it had to stop. I’m now designing environment-refresh automation around scoped identities and pipeline approvals.
My working hypothesis: safe automation is constrained by design. It starts with tightly scoped permissions; approval gates are the second line of defence, not the first. Productivity gains need to be measured, not assumed.
I hold an M.Sc. in Computing Systems Engineering from Politecnico di Milano, earned on a full scholarship, and a B.Sc. in Computer Science and Engineering from the University of Asia Pacific in Dhaka. I’ve worked across Australia, Italy, Malaysia and Bangladesh.
Selected impact
- Decoupled frontend delivery from the CMSDrove the move from a traditional Sitecore build to headless Next.js on Azure, reducing CMS rendering coupling so frontend teams can ship independently.
- Making environment refreshes safe and repeatableDesigning automation that replaces a manual, multi-step refresh with pipelines that run under least-privilege identities, with people kept for the judgement calls. In progress.
- Protecting customers through a platform migrationWorked on session-recovery architecture with Redis so customers keep their progress while traffic moves between old and new platforms.
- Consistent, reviewable AI output across a teamIntroduced shared prompt libraries and ticket templates for AI coding tools, so output is predictable and reviewable rather than individual and ad hoc.
- Product capability used by enterprises worldwideIn Sitecore R&D, built core platform features including usage analytics and Azure Marketplace provisioning.
How I think about engineering
- Systems fail at the boundariesOrdering, timing, retries and who owns the data. Make those assumptions explicit before production finds them. See where →
- Permissions before approvalsAn agent should only be able to do what is safe. Approval improves a decision; it doesn’t limit what can happen. See where →
- Don’t ship what you can’t define and explainIf you can’t say what a change does, what it touches and how to undo it, you aren’t approving it. You’re passing it along. See where →
- Fix the model, not just the bugA recurring defect is often a design assumption the product has outgrown. See where →
- Complexity has to earn its placeThe simplest design that holds up in production usually wins, including the rebuild you choose not to do. See where →
Path
- 2026 – nowLead Engineer · Bupa Australia
Technical direction and people leadership for a squad building on Next.js and headless Sitecore.
- 2022 – 2026Senior Sitecore Developer · Bupa Australia
Owned backend architecture for customer-facing platforms in a regulated environment, driving the move from traditional CMS to headless Next.js on Azure.
- 2020 – 2022Senior Software Developer · VMLY&R
Technical ownership of high-traffic Sitecore platforms for major brands, from solution design and performance tuning to third-party integrations.
- 2018 – 2020Senior Software Developer · AKQA
Multi-site, multi-lingual Sitecore and .NET platforms; set implementation standards and quality gates, and mentored developers.
- 2015 – 2018Senior Developer, R&D · Sitecore · Kuala Lumpur
Built core Sitecore platform capabilities used by enterprises worldwide, including usage analytics and Azure Marketplace provisioning.
- 2013 – 2015Senior Software Engineer · Aprosoft · Dhaka
Led development of a loyalty and real-time transaction platform for one of the world's largest petroleum companies.
- Earlier.NET Software Engineer · Milan · Dhaka
Enterprise software in regulated and large-scale domains, including medicine production systems for GlaxoSmithKline, insurance and energy, in Agile teams across Italy and Bangladesh.
What I write about here
Distributed systems, release risk and migrations: designing for the failures production will find anyway.
Agents, guardrails & reviewSafe AI deliveryUsing AI agents in real engineering work, in environments where mistakes are expensive: permissions, review and judgement.
Leading engineersEngineering leadershipOwnership, judgement and leading teams through change, including reviews of the books that shaped how I lead.
Certifications
Talks, conversations, collaboration
Happy to speak or compare notes on: Safe AI-assisted delivery in regulated environments · Agent permissions, guardrails and review · Platform migrations without big-bang rewrites · Leading engineers through the shift to AI.