Available for new opportunities

Irfan Kurniawan

Software Engineer—Enterprise Systems & Banking Technology

Jakarta, Indonesia

Software Engineer with 4+ years of experience architecting and delivering scalable enterprise systems for Indonesia's leading banking institutions. Specialist in zero-downtime microservices migrations, high-throughput data pipelines, and real-time streaming architectures. Proven track record of reducing operational timelines by orders of magnitude through modern engineering practices.

Java 21Spring Boot 3Angular 20MicroservicesZero-Downtime MigrationWebSocket & RedisMySQL 8.0
23
Microservices Modernized
Java 21 & Spring Boot 3 zero-downtime cutover
20M+
MySQL Records Rolled Over
v5.7 → v8.0 migration with 40% read boost
83%
Audit Cycle Reduced
Quarterly stock audit from 3 months to 2 weeks

Professional Experience

Enterprise systems architecture and zero-downtime modernisation across leading banking institutions.

Software Engineer

March 2025 – Present
Sinar Jernih Suksesindo·Placement: Bank SMBC Indonesia Tbk.·Jakarta, Indonesia

Embedded engineering contributor at Bank SMBC Indonesia Tbk., driving a large-scale Collateral Management Document System modernisation across 23 interconnected microservices, building a real-time RFID inventory tracking system, and delivering an automated seat booking platform.

  • Led the migration of 23 microservices from Java 8/Spring Boot 2.x to Java 21/Spring Boot 3.x, achieving full backward compatibility and zero downtime.
  • Migrated frontend from Angular 12 to Angular 20, adopting standalone components and the new control flow syntax.
  • Engineered a rollover strategy for 20M+ MySQL rows from version 5.7 to 8.0, including query re-optimisation and index tuning for a 40% read performance improvement.
  • Established a phased blue-green deployment pipeline reducing deployment risk and enabling seamless rollback.
Java 21Spring Boot 3Angular 20MySQL 8.0Docker
  • Architected a WebSocket-based real-time streaming pipeline for RFID handheld scanners, pushing live inventory events to the central system.
  • Implemented Redis in-memory caching layer to handle burst scan events and eliminate duplicate processing.
  • Reduced stock audit cycle from approximately 3 months to approximately 2 weeks — an 83% cycle-time reduction.
Spring BootWebSocketRedisAngularRFID
  • Designed and built a real-time seat availability engine with conflict detection and automated scheduling, replacing a manual email-based process.
  • Reduced meeting/workspace reservation turnaround from days to seconds, adopted bank-wide.
Spring BootAngularPostgreSQLReal-time Scheduling
Tech Stack
Java 21Spring Boot 3.xAngular 20MySQL 8.0DockerREST APIMicroservicesWebSocketRedisPostgreSQL

Featured Systems

Mission-critical platforms delivered and maintained in active banking production.

Bank SMBC Indonesia Tbk.

Collateral Management Document System

Enterprise-scale document management platform handling collateral records for Indonesia's banking operations, requiring a comprehensive modernisation across 23 microservices.

  • Migrated 23 microservices: Java 8 → Java 21, Spring Boot 2.x → 3.x
  • Frontend migration from Angular 12 → Angular 20 with standalone components
  • Rolled over 20M+ MySQL records from v5.7 to v8.0 with zero data loss
  • 40% improvement in read query performance post-optimisation
  • Blue-green deployment pipeline for zero-downtime releases
20M+ records · 23 microservices · Zero downtime
Java 21Spring Boot 3.xAngular 20MySQL 8.0DockerMicroservicesREST API
Bank SMBC Indonesia Tbk.

Handheld RFID Real-Time Tracking

Real-time inventory tracking system using RFID handheld scanners with WebSocket streaming and Redis caching, transforming a quarterly manual stock-take into a continuous, near-instant process.

  • WebSocket pipeline streaming real-time RFID scan events to the central system
  • Redis in-memory cache layer for burst event handling and deduplication
  • Reduced stock audit cycle from ~3 months to ~2 weeks (83% faster)
  • Mobile-responsive operator dashboard for live tracking status
83% cycle reduction · Real-time streaming · 0 duplicates
JavaSpring BootWebSocketRedisAngularREST APIRFID
Bank SMBC Indonesia Tbk.Active System

SEIRI Booking Management System

Automated seat and meeting-room scheduling system with real-time availability engine, replacing a manual email-based process that took days with an instant, self-service experience.

  • Real-time availability engine with conflict detection
  • Automated scheduling and confirmation workflows
  • Bank-wide rollout, reducing reservation cycle from days to seconds
  • Notifications, cancellations, and audit trail built-in
Days → seconds · Bank-wide adoption
JavaSpring BootAngularPostgreSQLREST APIReal-time
Bank BTPN

Archive Report Management System (ARMS)

Large-scale legacy modernisation of the bank's document box management platform, performing a zero-downtime tech refresh across 15+ microservices.

  • 15+ microservices upgraded from Spring Boot 1.x to 2.x
  • Angular frontend migrated from v7 to v12
  • 30% memory footprint reduction through service refactoring
  • Zero-downtime cutover strategy with feature-flag-gated rollout
15+ services · Zero downtime · 30% memory reduction
JavaSpring Boot 2Angular 12MySQLMicroservicesDocker

Technical Competencies

Full-stack enterprise engineering across high-throughput distributed backends, databases, and modern frontends.

Backend & Distributed Systems

JavaSpring BootMicroservicesREST APIWebSocketApache KafkaRedisZero-Downtime DeploymentBlue-Green Deployment

Database & Data Engineering

MySQLPostgreSQLSQL ServerQuery OptimisationSchema MigrationIndex TuningData Pipelines

Frontend & Mobile

AngularTypeScriptJavascriptTailwind CSSAndroid (Java)Responsive Design

Practices & Tooling

Agile / ScrumDockerGitEnterprise ArchitectureTechnical DocumentationCode ReviewSystem Design

Education & Languages

Academic Degree

Bachelor of Computer Science

Universitas Bina Darma
Computer Science·March 2021·Palembang, Indonesia

Languages

ID
Indonesian
Native
EN
English
Professional Working

Get in Touch

Open to senior software engineering, distributed systems, and banking technology roles. Let's discuss how I can contribute to your team.

Jakarta, Indonesia
Send an Email