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ống | Công nghệ lõi | Ngân hàng sử dụng |
|---|---|---|
| Temenos T24 | Java, jBASE/BASIC | Techcombank, VPBank, MB Bank, Sacombank |
| Oracle Flexcube | Java EE, Oracle DB | VietinBank, BIDV |
| Infosys Finacle | Java | Agribank (đang triển khai) |
| In-house (tự xây) | Go, Java, Kotlin | MoMo, 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.