{"$schema":"https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json","basics":{"name":"Sun Bong Kim","label":"Senior Software Engineer","image":"https://saywise-production-profilepicturestoragebucket-kbfooccc.s3.amazonaws.com/profile-pictures/c0cd1002-6a8a-4265-8a8c-5833a532da5b/linkedin-1792516239840.jpg","summary":"I build and run the systems where money, identity, and settlement all have to change together. For the past 9 years I've been the lead engineer on Pointropay, a fintech platform in Korea that converts gift card PINs and cash into points and pays out as bank refunds and mobile gift cards. I own the Java 17 / Spring Boot 3 backend — a transaction ledger with Redis-based distributed locking, cancellation and month-boundary reconciliation, partial-failure handling for multi-item issuance, and a token-based identity layer — and the production side that keeps it running: Kubernetes, a 13M+ row time-partitioned PostgreSQL 17 ledger, backups and WAL archiving, and request-correlated observability. On top of that sit a React/GraphQL customer web, a Next.js/Supabase operations CMS for settlement staff, and a Flutter app for Android and iOS. Before that, 16 years at Omnitel, where I led a backend team as the company grew from startup to IPO on the Korean market. What I care about: • Correctness under concurrency — append-only ledgers, idempotency, compensations, and knowing exactly what a lock does and doesn't guarantee • Databases as a first-class part of the design — partitioning, index-aligned query paths, zero-downtime schema changes • Operability from day one — trace IDs, vendor latency instrumentation, PII masking, alerts that mean something • AI-assisted engineering with discipline — I use Claude Code daily in a spec-first, test-first loop for refactoring, characterization tests, and legacy conversion; nothing merges unreviewed Stack: Java, Spring Boot, Spring Security, JPA/QueryDSL, PostgreSQL, Redis, GraphQL, ReactJS, Next.js, TypeScript, Flutter, Docker, Kubernetes, GitLab CI/GitHub Actions, AWS (Lambda, API Gateway, S3), Supabase, OAuth 2.0/JWT. Based in Irvine, CA. Bilingual Korean/English — comfortable working between Korean headquarters and US teams. Open to senior backend, full stack, and platform modernization roles.","location":{"city":"Irvine, CA, United States"},"profiles":[{"network":"LinkedIn","username":"sirottl","url":"https://linkedin.com/in/sirottl"}]},"meta":{"canonical":"https://saywise.com/member1340","version":"v1.0.0","lastModified":"2026-10-20T17:55:02.028Z"},"x_saywise":{"handle":"member1340","pronouns":null,"availability":null,"oneLiner":"I build and run the systems where money, identity, and settlement all have to change together. For the past 9 years I've been the lead engineer on Pointropay, a fintech platform in Korea that converts gift card PINs and cash into points and pays out as bank refunds and mobile gift cards. I own the Java 17 / Spring Boot 3 backend — a transaction ledger with Redis-based distributed locking, cancellation and month-boundary reconciliation, partial-failure handling for multi-item issuance, and a token-based identity layer — and the production side that keeps it running: Kubernetes, a 13M+ row time-partitioned PostgreSQL 17 ledger, backups and WAL archiving, and request-correlated observability. On top of that sit a React/GraphQL customer web, a Next.js/Supabase operations CMS for settlement staff, and a Flutter app for Android and iOS. Before that, 16 years at Omnitel, where I led a backend team as the company grew from startup to IPO on the Korean market. What I care about: • Correctness under concurrency — append-only ledgers, idempotency, compensations, and knowing exactly what a lock does and doesn't guarantee • Databases as a first-class part of the design — partitioning, index-aligned query paths, zero-downtime schema changes • Operability from day one — trace IDs, vendor latency instrumentation, PII masking, alerts that mean something • AI-assisted engineering with discipline — I use Claude Code daily in a spec-first, test-first loop for refactoring, characterization tests, and legacy conversion; nothing merges unreviewed Stack: Java, Spring Boot, Spring Security, JPA/QueryDSL, PostgreSQL, Redis, GraphQL, ReactJS, Next.js, TypeScript, Flutter, Docker, Kubernetes, GitLab CI/GitHub Actions, AWS (Lambda, API Gateway, S3), Supabase, OAuth 2.0/JWT. Based in Irvine, CA. Bilingual Korean/English — comfortable working between Korean headquarters and US teams. Open to senior backend, full stack, and platform modernization roles.","profileUrl":"https://saywise.com/member1340","markdownUrl":"https://saywise.com/member1340/profile.md","pdfUrl":"https://saywise.com/member1340/resume.pdf","archetype":{"code":"RS-MG","name":"Frontier Trailblazer","url":"https://saywise.com/sca/876102f480f1","rarity":"One of the first Frontier Trailblazers on Saywise"}},"work":[{"name":"Omninetworks Inc.","position":"Senior Software Engineer (Java / Full Stack)","location":"Seoul, South Korea","startDate":"2017-04-01","summary":"Lead engineer for Pointropay, a fintech platform that converts gift card PINs and cash into points and pays out as bank refunds and mobile gift cards. Own the Java/Spring Boot backend, the production Kubernetes environment, and the React, Next.js, and Flutter clients on top of it. • Designed a Java 17 / Spring Boot 3 transaction backend (Hexagonal architecture) deployed as 16 role-separated Kubernetes services from a single artifact • Built user-scoped Redis/Redisson distributed locks, an append-only cancellation ledger with post-transfer guards and month-boundary reconciliation, and per-item ledger records for partial-failure gift issuance • Implemented identity and access flows: Spring Security, OAuth 2.0/JWT sessions, Redis-backed opaque identity tickets, PostgreSQL row-level security — kept consistent across web and mobile • Manage a 13M+ row time-partitioned PostgreSQL 17 ledger (66 monthly partitions, pg_partman retention, pg_cron) and tune query paths with partition keys, composite FKs, and index-aligned filters • Built production observability: request trace IDs, AOP vendor latency/failure instrumentation, PII masking; operate daily pg_basebackup + WAL archiving with 14-day retention • Operate Docker/Kubernetes (RKE2, K3s, Rancher) delivery with GitLab CI/CD, ingress-nginx/Traefik, cert-manager, and HAProxy load balancing for external payment vendors; integrate AWS Lambda, API Gateway, S3 • Developed the React/Apollo GraphQL customer web (Express BFF, SSR), the Next.js/Refine/Supabase operations CMS (search, server-side aggregates, CSV reconciliation exports, role-based access), and the Flutter Android/iOS app (biometric login, gift conversion, Fastlane/TestFlight releases) • Use Claude Code daily in a spec-first, test-first workflow for refactoring, characterization tests, and legacy code conversion"},{"name":"Omnitel Inc.","position":"Backend Java Software Engineer / Team Lead","location":"Seoul, South Korea","url":"https://omnitel.es","startDate":"2001-01-01","endDate":"2017-03-01","summary":"Led a backend development team as the company grew from startup to a successful IPO in Korea, scaling Java systems that supported millions of users. • Designed, developed, and maintained Spring and Spring Boot enterprise applications using OOP principles, relational databases (MySQL, PostgreSQL), and system design best practices • Mentored engineers and owned code quality, delivery timelines, and alignment with business requirements through code reviews and technical guidance • Delivered projects across the full SDLC under both Waterfall and Agile methodologies, from requirements analysis to production support"}],"education":[{"institution":"Hanyang University","studyType":"Bachelor of Science - BS in Computer Science"}],"skills":[{"name":"Java"},{"name":"Spring Boot"},{"name":"PostgreSQL"},{"name":"Code Review"},{"name":"Mentoring"},{"name":"Technical Leadership"},{"name":"Claude Code"},{"name":"AI-Assisted Development"},{"name":"FinTech"},{"name":"Payment Systems"},{"name":"Systems Design"},{"name":"Software Development Life Cycle (SDLC)"},{"name":"Continuous Integration and Continuous Delivery (CI/CD)"},{"name":"Test-Driven Development"},{"name":"Domain-Driven Design (DDD)"},{"name":"Hexagonal Architecture"},{"name":"Application Monitoring"},{"name":"Software Observability"},{"name":"Backup & Recovery Systems"},{"name":"Database Partitioning"},{"name":"Performance Tuning"},{"name":"Database Design"},{"name":"Identity and Access Management (IAM)"},{"name":"JSON Web Token (JWT)"},{"name":"OAuth"},{"name":"Supabase"},{"name":"HAProxy"},{"name":"GitHub"},{"name":"Gitlab"},{"name":"Docker"},{"name":"Dart"},{"name":"Flutter"},{"name":"Node.js"},{"name":"TypeScript"},{"name":"Next.js"},{"name":"React.js"},{"name":"GraphQL"},{"name":"REST APIs"},{"name":"Distributed Systems"},{"name":"Microservices"},{"name":"Redis"},{"name":"QueryDSL"},{"name":"Jakarta Persistence"},{"name":"Spring Security"},{"name":"Spring Framework"},{"name":"Kubernetes"},{"name":"Java, Spring Framework, Team Leadership, System Design, MySQL"},{"name":"Java, Spring Boot, PostgreSQL, Kubernetes, React.js"},{"name":"Software Infrastructure"},{"name":"Engineering"}]}