I’m a Senior Software Engineer at Delivery Hero, based in Berlin. I’ve been working in the Salesforce ecosystem since 2014, twelve certifications’ worth, including the Application Architect one, which mostly tells you I’ve spent a long time in one platform and got curious about the parts of it that aren’t in the trailheads.
The work I find interesting isn’t building on the platform. It’s deciding where the platform should stop. Which objects belong in the data model and which are someone else’s problem. When a requirement should become Apex and when it should become an integration. Those calls are cheap to make and expensive to unmake, and they’re usually made under time pressure by whoever is closest to the deadline.
Most of what I’ve learned came from orgs that had already grown past the point where anyone understood all of them. So I care about the ones that stay understandable: few and obvious integration seams, logic that lives in one place, and a written reason for the strange decision while the reason is still fresh.
Now#
Senior Software Engineer, Delivery Hero · Berlin, Germany · Nov 2023 – present
- Part of a global platform team supporting 10,000 Salesforce users across every Delivery Hero brand: Talabat, Glovo, Foodpanda, PedidosYa, Yemeksepeti, Hungerstation, and more.
- Designed and built the integration that connects shipment orders to Salesforce, so support agents can track an order without leaving the case.
- Designed and built Go services that automate content creation, cutting agent processing time by around 80%. The stack spans both clouds: Lambda, API Gateway, SQS, SNS, DynamoDB, EC2, and AWS Batch on AWS; Cloud Run and BigQuery on GCP; Vault and Secrets Manager for secrets across both.
- Mentor junior developers on the team.
Previously#
Senior Salesforce Developer, Gojek · Jakarta, Indonesia · Jul 2019 – 2023
- Ran a Service Cloud org with 1,000+ active agents handling around 3 million cases a month across three operating countries.
- Led the project that merged four separate Salesforce instances into one, including the trigger and web service frameworks that made shared logic possible afterwards.
- Wrote a Go service that captured events out of Salesforce and published them onto our internal Kafka stream, near-real-time, peaking around 108,000 transactions per minute.
- Interviewed and hired developers, and mentored the juniors who joined.
Senior Salesforce Developer, Team Lead, TTMS Software · Selangor, Malaysia · Aug 2018 – Jul 2019
- Led seven developers spread across several countries, supporting Salesforce for APAC operations: Australia, Malaysia, Indonesia, Singapore.
- Designed the integration connecting Google Drive to Salesforce, including the file restructuring logic underneath it.
- Worked directly with L2 support on client issues, which is where I learned that most “platform bugs” are someone’s undocumented assumption.
Senior Salesforce Developer, Amalan International · Jakarta, Indonesia · Dec 2015 – Aug 2018
- Built lead scoring and reworked the flow customer service reps used all day. Revenue went up 33%.
- Owned the enhancement roadmap and the integrations into third-party systems, and acted as technical lead on anything that touched the platform.
Technical Consultant, Phincon · Jakarta, Indonesia · May 2014 – Nov 2015
- Five full-cycle Salesforce implementations across education, utilities, and non-profit, plus the presales demos and end-user training that come with consulting work.
Salesforce#
Twelve years and twelve certifications in one ecosystem. The architect ones changed how I work the most, not because of the material, but because preparing for them forced me to justify decisions I’d been making on instinct.
Certifications
- Application Architect
- Data Architect
- Sharing and Visibility Architect
- Platform Development Lifecycle and Deployment Architect
- Platform Developer II
- Platform Developer I
- JavaScript Developer I
- Omnistudio Developer
- Agentforce Service Consultant
- Platform App Builder
- AI Associate
- Administrator
What I actually build with
Apex, Lightning Web Components, Aura, Visualforce, Flow, Platform Events, Platform Cache, and SFDX. The declarative-versus-code line is a decision I make weekly and still get wrong sometimes.
For data work: Data Loader, Jitterbit, and enough Sharing and Visibility rules to know that the sharing model is where most performance surprises actually live.
Outside the platform#
Go and JavaScript, Kafka for event streaming, and the integration plumbing between Salesforce and everything around it: REST callouts, web services, and the middle-layer services that keep the two sides from knowing too much about each other.
When something breaks: Sentry, New Relic, Grafana, Kibana. Most of my strong opinions about instrumentation come from not having it during an incident.
Community and speaking#
- Co-Leader, Salesforce Trailblazer Community Jakarta · Jan 2020 – Sep 2023
- Mentor, Trailblazer Mentorship · Dec 2019 – Dec 2020
Running a community for three years taught me more about explaining architecture than any design review did. If a design doesn’t make sense to a room of people who don’t share your context, it’s usually the design that’s unclear, not the room.
A four-week Apex workshop series for the community, April–May 2021, built as a course rather than four separate talks, so each week assumed the last:
- Introduction to Apex · 13 April 2021
- Core Apex Tools · 20 April 2021
- SOQL Guide and Tips · 27 April 2021
- Write Your Apex Trigger · 4 May 2021
Other talks
- Playing Around with Large Data Volume · 21 July 2023
Education#
Bachelor of Computer Science, Bina Nusantara University · 2010 – 2014 Major in Information Technology, minor in Interactive Multimedia.
Writing#
I started the blog because the interesting parts of this work are the parts that don’t fit in a commit message or a design review. Expect posts on platform architecture trade-offs, integrations that aged badly, and things I got wrong.
Elsewhere#
- GitHub: code, mostly
- Salesforce Trailblazer: certifications and badges, verified at source
- LinkedIn: the formal version
- Email: the fastest way to reach me