Core Banking Developer là ai?

Một Core Banking Developer là kỹ sư phần mềm chịu trách nhiệm xây dựng, vận hành và phát triển hệ thống xử lý toàn bộ nghiệp vụ tài chính cốt lõi của một ngân hàng — từ quản lý tài khoản, xử lý giao dịch chuyển tiền, tính lãi suất, đến đảm bảo mọi đồng tiền được ghi chép chính xác tuyệt đối.

Khác với developer thông thường, lỗi của một Core Banking Developer không phải là trang web bị lỗi 404 — mà là tiền của khách hàng bị mất, bị trùng, hoặc sổ cái mất cân bằng. Áp lực đó định nghĩa toàn bộ cách họ viết code và thiết kế hệ thống.

Tại sao đây là lĩnh vực đặc biệt?

1. Tính chính xác là tuyệt đối

Trong phần mềm thông thường, “eventual consistency” (nhất quán sau cùng) được chấp nhận. Trong Core Banking, một giao dịch hoặc là đúng hoàn toàn, hoặc là không xảy ra. Không có trạng thái ở giữa. Đây là lý do tại sao ACID database transactions là nền tảng không thể thiếu.

2. Tính đồng thời cực cao

Hàng triệu người dùng có thể cùng thực hiện giao dịch trong cùng một giây. Hệ thống phải xử lý concurrency mà không để xảy ra race condition dẫn đến trừ tiền sai hoặc cộng tiền hai lần.

3. Yêu cầu tuân thủ pháp lý (Compliance)

Mọi thao tác trên hệ thống Core Banking đều phải có dấu vết kiểm toán (audit trail). Ngân hàng Nhà nước, cơ quan thuế và các tổ chức quốc tế có quyền yêu cầu xem lại toàn bộ lịch sử giao dịch bất kỳ lúc nào.

Bản đồ kiến thức của một Core Banking Developer

┌─────────────────────────────────────────────────────────────────┐
│                   CORE BANKING DEVELOPER                         │
│                                                                   │
│  DOMAIN KNOWLEDGE          TECHNICAL SKILLS                      │
│  ─────────────────          ────────────────                     │
│  • Kế toán kép (GL)        • Database (ACID, Locking)            │
│  • CASA (Tiền gửi)         • Distributed Transactions            │
│  • Lending (Tín dụng)      • Event-Driven Architecture           │
│  • Payments & Clearing     • API Design (REST/gRPC)              │
│  • Trade Finance           • Security & Encryption               │
│                                                                   │
│  STANDARDS & PROTOCOLS     ARCHITECTURE PATTERNS                 │
│  ─────────────────────     ─────────────────────                 │
│  • ISO 8583 (Card/ATM)     • Saga Pattern                        │
│  • ISO 20022 (SWIFT)       • Outbox Pattern                      │
│  • BIAN Framework          • CQRS & Event Sourcing               │
│  • PCI-DSS                 • Idempotency Keys                    │
└─────────────────────────────────────────────────────────────────┘

Bức tranh thị trường

Hệ thống Core Banking phổ biến tại Việt Nam

Hệ thốngCông nghệ lõiNgân hàng sử dụng
Temenos T24Java, jBASE/BASICTechcombank, VPBank, MB Bank, Sacombank
Oracle FlexcubeJava EE, Oracle DBVietinBank, BIDV
Infosys FinacleJavaAgribank (đang triển khai)
In-house (tự xây)Go, Java, KotlinMoMo, ZaloPay, VCB Digibank

Xu hướng thế hệ mới

Các ngân hàng số và fintech đang không mua Core Banking đóng gói nữa — họ tự xây dựng Core Banking bằng Microservices. Đây chính là cơ hội lớn cho một full-stack developer có tư duy hệ thống phân tán.

Lộ trình học trong chuỗi bài này

Bước 1 → Tư duy Kế toán Kép (Bắt buộc, không thể bỏ qua)
Bước 2 → Nghiệp vụ ngân hàng: CASA & Lending
Bước 3 → Kỹ thuật Database: ACID, Locking, Concurrency
Bước 4 → Kiến trúc hệ thống Core Banking hiện đại
Bước 5 → Chuẩn tích hợp quốc tế (ISO 8583, ISO 20022)
Bước 6 → Bảo mật, kiểm toán, tuân thủ pháp lý
Bước 7 → Thực hành: Tự xây Mini Core Banking

Hãy bắt đầu từ Phần 1 — Tư duy Kế toán Kép & Sổ Cái. Đây là nền tảng tư duy mà mọi Core Banking Developer đều phải nắm vững trước khi viết một dòng code nào.