Skip to content
svc/identityest. 2022

Muhammad
Haikal Zhafran

Software Engineer · System modernization · Jakarta

I build and modernize systems across banking, insurance, healthcare, and government. My work usually starts from the backend, but I don't mind going all the way to the frontend when the system needs it.

fig.00operatoron shift
Muhammad Haikal Zhafran — portrait
Software EngineerJakarta, ID
fig.01migration path · legacy → servicesillustrative — composite of real migrations
legacy systemnew stack · k8s · docker · ci/cdcdcmirrorClientweb · mobileAPI Gatewaymirror · weightLegacy Monolithone deployLegacy DBone shared schemaKafkacdc.legacy.*Patient SvcSpring BootBilling SvcSpring BootClaims SvcSpring BootRediscache asidePostgreSQLdb per serviceGrafanadiff · lag · errorslegacy decommissioned
users on new stack0%legacyevery user hits one monolith and one database

No big bang. The new stack runs alongside the old one, with data synced through CDC. We shadow traffic, compare the results, then move users over gradually. If something goes wrong, traffic can be shifted back to the old stack. The legacy system stays around until nothing depends on it anymore.

§01

Who's on shift

The short version. The long one is in the career trace below.

doc/about

I'm Haikal, a software engineer based in Jakarta. Over the last four years I've worked across banking, fintech, insurance, healthcare, and government systems.

My main strength is backend engineering and system modernization, but I work across the stack when needed, from APIs and data to Angular, React, and JavaScript on the frontend.

A lot of my work has been about taking an existing system, understanding how it actually works, and figuring out what should change without breaking everything around it.

fig.02spec sheet
status
Open to engineering roles
based
Jakarta, Indonesia · UTC+7
core
Backend · system modernization
also
Frontend · Angular, React
education
B.Eng Informatics, Gunadarma · 3.51
off-shift
GEMASTIK national finalist · CTF author
§02

Career trace

4 roles since 2022, no gaps. Bar length is time in service.

root span: career · 2022 → now
2022202320242025now
sobat-bisnis-groupsoftware-engineer12 moactive
AUG 2025 — NOW

Sobat Bisnis Group

Mayapada Group · Jakarta
  • Moving insurance and healthcare platforms off a monolith one service at a time, including the containers and deployment config behind each one.
  • Own services end to end, from the API contract to the caching, queues and retries that keep them up under load.
  • Co-designed the AI-assisted workflow the team uses for scaffolding, review and docs; project setup went from a day to two hours.
7Services delivered
12Engineers on the workflow
bank-mandirisoftware-engineer16 moclosed
MAY 2024 — AUG 2025

PT Bank Mandiri

Jakarta · Treasury, LSP, Customer Care
  • Owned the Customer Care application end to end, from requirements to production release.
  • Put role-based access control in place with Spring Security across three business units, and shipped standardised screens on Wavemaker.
  • Ran a production migration in an overnight maintenance window, from midnight to 4am.
10,000Users served
25%Fewer production errors
otto-digitaljava-software-engineer12 moclosed
MAY 2023 — MAY 2024

Otto Digital

Jakarta · Promo, Fraud, Core Banking
  • Sole developer of the multi-tenant promo engine: rules change without a deploy, and decisions flow over Kafka.
  • Worked on the Fraud Engine and a core banking migration that cut over with zero data loss.
  • Set up containerised CI/CD with Docker, Jenkins and Kubernetes on GCP.
120TPS at peak
60%Min unit test coverage
3Platforms delivered
mitrafor-teknologijava-backend-developer9 moclosed
AUG 2022 — APR 2023

Mitrafor Teknologi

Jakarta · Bea Cukai · CEISA 4.0
  • Built and maintained backend workflows for CEISA 4.0, Indonesia's national customs system.
  • Designed APIs for both the trader portal and machine-to-machine partner integrations.
100+Endpoints maintained
§03

Systems shipped

Production systems I've worked on. Open one for its call sequence and screenshots.

6 systems
§04

Stack, by layer

What I reach for, grouped by where it sits in a system.

5 layers
01

Backend

Java · Spring Boot · Spring Security

02

Frontend

Angular · React · JavaScript

03

Data & integration

PostgreSQL · MySQL · Kafka · RabbitMQ · Redis · REST / OpenAPI

04

Delivery

Docker · Kubernetes · Jenkins · GitLab CI/CD · GCP · AWS

05

Practice

Microservices · System migration · API design · JUnit / Mockito

fig.05handshakesyn → syn-ack → ack

Have a system that needs moving?

Open to software engineering roles. Happy to talk systems, migrations, or anything in between.