Skip to main content

Experience

7+ years building production backend systems

Backend-first engineering across APIs, integrations, payments, search, data synchronization, and operational software, with full-stack delivery when features cross the API boundary.

How I work

I trace the current behavior before changing it, keep existing configuration working, and check the result in production after release.

About

I care about clean code and good abstractions, but I would rather leave something understandable and appropriate to the codebase than add complexity to make it look clever.

Backend is where I have stayed because the problems hold my attention longer: how data moves through a system, how services talk to each other, how business rules get represented, and what happens when something fails. I like taking a messy requirement and turning it into something predictable that the rest of the system can rely on.

Since joining SoftwareSeni in 2021, my scope has grown. On MyChatLab in 2021 I was the junior engineer on an established team, raising issues for other people to pick up. At Leadplus I led solution planning for Realty+ and the Attachment Service, with other engineers reviewing the designs before implementation. On Funraisin I review the team's pull requests and carry release feedback back to the pod.

Outside work, it is family, some gaming, and a homelab. The homelab is the least convincing example of not working, since it is still Linux servers, Docker containers, networking things together, and breaking something so I have to work out how to fix it.

Engineering profile

My work is primarily backend engineering: APIs, business workflows, integrations, background jobs, payment systems, and data synchronization between services. I am comfortable working in mature codebases where new features have to coexist with existing behavior and production constraints. I have worked this way remotely from Yogyakarta since 2021, for clients in Australia, New Zealand, and the UK.

Most of my work has been client assignments, so I have joined existing codebases cold more often than I have started new ones, and taken assigned work through planning, implementation, review, and release. On each assignment the first job is working out which constraints are fixed and which are open. The revenue rules at e-PNBP and the established fundraising defaults at Funraisin had to stay as they were. The token contract and the matched-giving calculation were the parts I could change.

My deepest production stack is PHP and Laravel, supported by Node.js and TypeScript for integration-heavy services. I also work across React, Vue, and server-rendered interfaces when a feature needs both backend and frontend changes.

Backend systems

APIs, business workflows, background jobs, payments

Integrations and data

Webhooks, external APIs, synchronization, data normalization

Production engineering

Reliability, observability, migrations, legacy compatibility

Remote delivery

Australian, New Zealand, and UK clients since 2021, mostly async through tickets and pull requests, with daily standups where the team ran them

Full-stack delivery

Backend APIs, admin tools, and the user-facing interfaces that depend on them

Joining a codebase

Six of the ten systems in the work archive were already in production when I joined

Employment and client assignments

SoftwareSeni assignments are nested under one employer. Direct freelance work is listed separately.

Employment

Aug 2021 – Present

SoftwareSeni

Software Engineer

Five assignments in one continuing SoftwareSeni role — Funraisin, Leadplus, and more.

FunraisinJun 2025 – Present

Full-stack Engineer

Protected the matched-giving and raffle payment paths with MySQL named locks, transactions, and row-level locking. Worked most of the tickets on two initiatives, Third Party Event Management and Designated Giving, and was named Legend of the Month by the Funraisin AU team for November 2025.

LeadplusOct 2022 – May 2025

Backend Engineer

Improved CRM integration reliability through provider-specific throttling, webhook recovery, identity resolution, direct-to-R2 uploads, and Laravel and PHP upgrades.

Moladin Warehouse ManagementAug 2022 – Sep 2022

Backend Engineer

Added separate response and arrival deadlines to the interwarehouse flow, with scheduled cancellation, audit history, warehouse-scoped authorization, and mobile capability flags.

PepyMar 2022 – Aug 2022

Backend Engineer

Built an explicit MySQL-to-Elasticsearch synchronization contract and repeatable alias-backed reindexing, plus Trello, GitLab, and Google OAuth integrations.

MyChatLabAug 2021 – Feb 2022

Full-stack Engineer

Owned subscription state across Stripe, Midtrans, and WooCommerce. Traced a two-to-four-minute production operation to cross-region database latency amplified by query count.

Freelance

May 2022 – Jan 2024

Prasetiya Mulya University

Full-stack Engineer

Concurrent freelance work alongside SoftwareSeni employment. Connected verified Midtrans payments to enrollment and invoicing, and integrated application-side SSO and CoursePlayer provisioning across the Vue V0 and Laravel-rendered V1 applications.

Freelance

Aug 2021 – Sep 2021

UPS maintenance reporting (private client)

Full-stack Engineer

Short freelance build at the start of my SoftwareSeni role. Rewrote a UPS maintenance reporting system in Laravel, with quarterly reports per branch, editable reports, an LDAP name lookup, and live status read from each UPS's web interface over the client's network.

Rebuilt from scratch as open source, with no client code or data: github.com/imrdwi/ups-monitor (opens in a new tab)

Employment

Jul 2019 – Jul 2021

Java Multi Mandiri

Software Engineer

Built Shopee marketplace workflows alongside invoice and payment features, and contributed across the ERP, CRM, reporting, order, and permission workflows.

StockrakenJul 2019 – Jul 2021

Backend Engineer

Isolated partial Shopee provider failures and built marketplace stock mapping, inline synchronization, and inventory reconciliation around one stock model.

ES3-KULAJul 2019 – Jul 2021

Full-stack Engineer

Built invoice and partial-payment handling, internal sales orders, and multi-assignee IT issue workflows. Also contributed to delivery, reporting, and permission-aware interfaces.

Freelance

Dec 2019 – Jan 2020

PT Ciberindo Makmur Sejahtera

Backend Engineer

Concurrent freelance work alongside Java Multi Mandiri employment. Connected the Epayindo payment wallet to the Winpay gateway with logged, forward-to-merchant notifications, and built the RumahPro marketplace checkout on the Epayindo API with WhatsApp payment links.

Freelance

Sep 2019 – Jul 2020

Reksa Karya

Software Engineer

Concurrent freelance work alongside Java Multi Mandiri employment. Extended the Flutter client and its Laravel API across authentication, assessment verification (coklit), correspondence, and receivables. The device-token migration stayed backward compatible with older clients.

Case studies for the assignments above

View work