granitebps.com

Granite Bagas · Assistant Lead Software Engineer · Sociolla · Jakarta

I make backend systems lighter, faster and harder to break.

Senior Software Engineer with 7+ years across backend services, web and mobile apps. I focus on memory, latency and how systems behave in production.

Works in

Go, Node.js, PHP/Laravel, MySQL, MongoDB, Docker, React, Vue, React Native

Before → after

Build and deploy time

NOBI

~30 min
<10 min

Memory across all backend services

Sociolla

before
up to −20%

≤400 MB

Worker memory for hundreds of thousands of CSV rows or MongoDB documents

<100 MB

Service memory after the move to Go

<500 ms

Transaction actions on the trade platform

<100 ms

Data retrieval on the same platform

Case files

Each one: the problem in production, what I changed, and the result.

01 · Sociolla2026

A reusable framework for large CSV imports and exports

Problem

Hundreds of thousands of CSV rows or MongoDB documents had to move through workers capped at 400 MB or less.

Change

Streaming, parts processed one after another, and saved progress that resumes after a crash.

Fits in 400 MB or less

02 · Sociolla2025

A shared library that loads only what each service needs

Problem

Every service loaded the whole utility library to use a few parts of it.

Change

A modular import structure, adopted company-wide.

Up to 20% less memory

03 · Sociolla2024–26

Moving PDF generation off the worker

Problem

PDF generation on a worker kept failing with out-of-memory errors.

Change

Generated in the web app, with layouts as React components.

Fast, reliable PDFs

04 · Sociolla2024–26

Serving Indonesia and Vietnam with isolated data

Problem

Services had to handle two markets without mixing product and business data.

Change

Every record tagged with its market, and every query scoped to the request’s market.

Two markets, isolated data

05 · NOBI2022–23

Moving a live trade platform from a Laravel monolith to Go

Problem

A monolith running transactions, real-time crypto pricing and third-party providers.

Change

Co-designed and built the migration to Golang microservices.

Deploys 30 → <10 min

06 · Titik Pintar2020–22

A real-time multiplayer quiz over WebSockets

Problem

Players answering at the same moment needed a fair winner.

Change

A WebSocket backend with live rooms, scoring and reconnect handling.

Ties resolved to the ms

Career

2019 – now

  1. Sociolla

    2 yrs 5 mos

    Assistant Lead Software Engineer

    Jul 2026 – now · 5 mos

    Technical design, code review, mentoring three engineers and release coordination across B2B and Planogram.

    Show detailsHide details for Assistant Lead Software Engineer
    • Support the engineering lead with technical design, code review, sprint planning and releases, and help three engineers get past blockers.
    • Turn business requirements for ordering, logistics, sales reporting and retail merchandising into technical designs and tasks.
    • Design country-aware configuration across B2B, Planogram and shared services so they can expand into more Southeast Asian markets without changing how Indonesia and Vietnam work.
    • Built a reusable CSV import and export framework that handles hundreds of thousands of records on workers with 400 MB of memory or less.
    • Investigate production failures and data issues, tune memory-heavy queries and sync flows, and check changes for data isolation, backward compatibility and release dependencies.
    • Still write code in Node.js, React Native and Vue, and cover the Arc vendor billing portal as backup.

    Software Engineer

    Jul 2024 – Jul 2026 · 2 yrs 1 mo

    Built the B2B ordering and Planogram retail merchandising platforms across web, mobile, APIs and background workers.

    Show detailsHide details for Software Engineer
    • Built both platforms in Node.js, React Native and Vue, and covered the Arc vendor billing portal as backup.
    • Delivered sales order, promotion, inventory and ERP integration features that needed changes across several microservices.
    • Improved the Planogram visual editor, product sync and CSV import and export, and moved CSV export to the frontend after backend memory failures stopped users from getting their files.
    • Designed request routing and data separation so Indonesia and Vietnam each keep their own product and business data.
    • Made the shared library load per module, adopted company-wide, cutting memory by up to 20% across backend services, and moved PDF generation from a failing worker into the web app.
  2. Adi Data Informatika

    7 mos

    Fullstack Developer

    Jan 2024 – Jul 2024

    Maintained three internal BPJS Ketenagakerjaan platforms on Node.js and Vue.js.

    Show detailsHide details for Fullstack Developer
    • Maintained and improved the knowledge management, learning management and professional certification platforms, on both backend and frontend.
    • Prepared releases for DevOps: wrote Dockerfiles, set up environment configs, tested the containers and fixed deployment issues.
    • Added SonarQube static analysis to the workflow to make code quality visible.
  3. NOBI

    2 yrs

    Full Stack Engineer

    Jan 2022 – Dec 2023

    Developed the core Trade platform and co-designed its move from a Laravel monolith to Golang microservices.

    Show detailsHide details for Full Stack Engineer
    • Built and maintained the Trade platform: transaction processing and calculations, real-time crypto pricing and third-party provider integrations.
    • Co-designed and built the move to Go: deploys from about 30 to under 10 minutes, service memory under 100 MB, transactions under 500 ms and data reads under 100 ms.
    • Designed real-time pricing workflows that keep up with frequent market updates without overloading production.
    • Reviewed code, shaped architecture decisions, coordinated with other engineers, and onboarded and mentored new hires and interns.
  4. Titik Pintar

    1 yr 4 mos

    Full Stack Developer

    Oct 2020 – Jan 2022

    Built the WebSocket backend for a multiplayer quiz and maintained backend services for the learning app.

    Show detailsHide details for Full Stack Developer
    • Built the multiplayer quiz backend: live rooms for up to 5 players, real-time scoring, room sync, reconnect handling, and ties resolved to the millisecond.
    • Maintained the learning app and Account Titik Pintar on Laravel and Node.js: parent-managed student accounts, subscriptions and payments.
    • Maintained Sahabat Pintar, the internal platform teachers, designers and animators used to build quizzes and visual content.
    • Reviewed code, investigated production issues and coordinated backend changes with the mobile and other teams.
  5. Wamplo Satu Interteknologi

    1 yr 5 mos

    Junior Software Engineer

    Jun 2019 – Oct 2020

    Developed Laravel web applications and supported React Native across client projects.

    Show detailsHide details for Junior Software Engineer
    • Built features, fixed bugs and troubleshot issues in Laravel web apps and React Native apps for clients.
  6. ICON+

    4 mos

    Internship

    Jan 2019 – Apr 2019

    Supported AngularJS development and testing.

    Show detailsHide details for Internship
    • Helped build an AngularJS application, found issues and validated features before release.