Available for new opportunities

Irfan Kurniawan

Software EngineerEnterprise 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 Spring BootAngularMicroservicesZero-DowntimeKafkaRedis
Career

Professional Experience

Enterprise software engineering across Indonesia's 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
Portfolio

Featured Systems

Enterprise-scale applications delivered in production across Indonesia's banking sector.

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.Current

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
Expertise

Technical Skills

Full-stack enterprise engineering capabilities spanning backend systems, databases, frontend, and operational practices.

⚙️

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
Background

Education & Languages

Academic

🎓

Bachelor of Computer Science

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

Languages

🇮🇩
Indonesian
Native
🇬🇧
English
Professional Working
Let's Connect

Get in Touch

Open to new opportunities in enterprise software engineering, large-scale system architecture, and banking technology. Let's build something meaningful together.

WhatsApp
+62 89623320912
LinkedIn
irfankurni
View Profile
Jakarta, Indonesia