Senior Backend Developer (Java) - Modern Tech - TA172
Mô tả công việc
JOB DESCRIPTION
Participating in design, functional development, and performance optimization for Jarvis onboarding products
Researching new technologies
Coordinate with team members to complete the work progress
SKILL REQUIREMENT
Graduated from University, College with major in IT
+3 years of experience
[required]Proficient in object-oriented programming, Java core ,cloud
[required]Having an object-oriented design mindset and proficiently using design patterns.
Experience in building backend systems for mobile/web
[required]Knowledge of frameworks such as Spring Boot, Spring Core, Spring Security, Spring Data.
[required]Knowledge of ORM such as Hibernate, JPA, master of orm/sql transaction concepts
[required]Knowledge of databases like Oracle, Mysql: sql optimization, indexing, function
[required] Experience in building systems according to Microservices architecture, Domain Driven Desing, Event Sourcing, CQRS.
[option]Experience in handling caching, message Queue(Redis or Kafka)
[option]Experience in Log framework, understanding of layers for logging when monitoring, operating an enterprise system(ELK)
[option]Experience in implementing microservices on Kubernetes is an advantage
[option]Experience in writing Clean, Testable Codes
THÔNG TIN KHÁC
Liên hệ để có thêm thông tin chi tiết:
Email: [email protected]
SĐT/Zalo: 0348969260
Địa điểm làm việc: VPBank HO, 89 Láng Hạ, Đống Đa, Hà Nội
Phân tích kỹ năng cần có
Phân tích kỹ năng cần có cho vị trí Senior Backend Developer (Java) tại VPBank
🎯 Tổng quan vị trí
Đây là vị trí Senior trong đội ngũ Modern Tech của Khối CNTT VPBank, tập trung vào phát triển sản phẩm Jarvis Onboarding — hệ thống số hóa quy trình mở tài khoản, eKYC, định danh khách hàng từ xa. Đây là một trong những sản phẩm chiến lược trong hành trình chuyển đổi số của VPBank.
🔧 Hard Skills — Bắt buộc (Required)
| Nhóm kỹ năng | Yêu cầu cụ thể | Mức độ ưu tiên |
|---|---|---|
| Ngôn ngữ | Java Core (OOP, Collections, Concurrency, Stream API, JVM tuning) | ⭐⭐⭐⭐⭐ |
| Framework | Spring Boot, Spring Core, Spring Security, Spring Data | ⭐⭐⭐⭐⭐ |
| Kiến trúc | Microservices, DDD (Domain-Driven Design), Event Sourcing, CQRS | ⭐⭐⭐⭐⭐ |
| Database | Oracle, MySQL — tối ưu SQL, indexing, stored function | ⭐⭐⭐⭐⭐ |
| ORM | Hibernate, JPA — hiểu sâu về transaction, lazy loading, caching | ⭐⭐⭐⭐⭐ |
| Design Pattern | Áp dụng thành thạo trong thiết kế hệ thống | ⭐⭐⭐⭐ |
| Cloud | Triển khai và vận hành trên nền tảng cloud | ⭐⭐⭐⭐ |
🌟 Hard Skills — Ưu tiên (Optional, là lợi thế lớn)
| Kỹ năng | Mô tả | Tại sao quan trọng |
|---|---|---|
| Caching | Redis | Giảm tải DB, tăng tốc độ response |
| Message Queue | Kafka hoặc RabbitMQ | Xử lý bất đồng bộ, event-driven |
| Logging/Monitoring | ELK Stack (Elasticsearch, Logstash, Kibana) | Theo dõi, vận hành hệ thống enterprise |
| Container | Kubernetes (K8s), Docker | Triển khai microservice ở quy mô lớn |
| Clean Code & Testing | Unit Test, Integration Test, TDD | Đảm bảo chất lượng code |
🤝 Soft Skills cần thiết
- Tư duy hệ thống & thiết kế: Vị trí Senior đòi hỏi khả năng nhìn tổng quan kiến trúc, không chỉ code đúng mà còn code bền vững.
- Khả năng nghiên cứu: JD yêu cầu "researching new technologies" — bạn phải chủ động học và áp dụng công nghệ mới.
- Làm việc nhóm & phối hợp tiến độ: Coordinate với team members để hoàn thành work progress — kỹ năng giao tiếp và quản lý thời gian rất quan trọng.
- Tiếng Anh: Đọc hiểu tài liệu kỹ thuật, đặc biệt khi làm việc với các công nghệ mới đều có documentation bằng tiếng Anh.
📜 Chứng chỉ/Khóa học gợi ý (nếu muốn bổ sung CV)
- Oracle Certified Professional Java SE 11/17 Developer — chứng minh nền tảng Java vững.
- AWS Certified Developer – Associate hoặc Azure Developer Associate — chứng minh kinh nghiệm cloud.
- CKAD (Certified Kubernetes Application Developer) — lợi thế lớn nếu có kinh nghiệm K8s.
- Các khóa học DDD/CQRS/Event Sourcing trên Udemy, Coursera (ví dụ: khóa của Vlad Khononov, Eric Evans).
- Spring Professional Certification — từ Pivotal/VMware.
💡 Bảng so sánh mức độ phù hợp theo kinh nghiệm
| Kinh nghiệm Java | Cơ hội ứng tuyển | Gợi ý |
|---|---|---|
| 3-4 năm (đúng JD) | Rất cao nếu đã làm Spring Boot + Microservice | Ứng tuyển ngay |
| 5-7 năm | Cao, ứng viên "sweet spot" cho vị trí Senior | Tốt nhất |
| 2-3 năm | Trung bình, cần làm nổi bật DDD/CQRS | Học thêm trước khi apply |
| 1-2 năm | Thấp | Nên ứng tuyển vị trí Mid-level |
Chuẩn bị phỏng vấn
Hướng dẫn phỏng vấn Senior Backend Developer (Java) tại VPBank
📋 Quy trình tuyển dụng dự kiến (3-5 vòng)
Tham khảo quy trình tuyển dụng IT tại VPBank dựa trên kinh nghiệm thực tế:
| Vòng | Hình thức | Thời lượng | Nội dung |
|---|---|---|---|
| Vòng 1: HR Screening | Phone/Video call | 15-30 phút | Xác nhận thông tin, mức lương mong muốn, lý do ứng tuyển |
| Vòng 2: Technical Test | Online test hoặc take-home | 60-120 phút | Bài test Java, SQL, thuật toán, thiết kế hệ thống nhỏ |
| Vòng 3: Technical Interview (Round 1) | Trực tiếp/Online | 60-90 phút | Deep dive Java Core, Spring, Database, Design Pattern |
| Vòng 4: Technical Interview (Round 2 - System Design) | Trực tiếp/Online | 60-90 phút | System design, Microservices, Scalability, DDD/CQRS |
| Vòng 5: Manager & Culture Fit | Trực tiếp | 45-60 phút | Định hướng, lộ trình thăng tiến, fit với VPBank |
❓ Câu hỏi phỏng vấn hay xuất hiện
🔹 Vòng HR Screening
- Giới thiệu ngắn về bản thân và kinh nghiệm Java.
- Tại sao muốn rời công ty hiện tại (nếu đang đi làm)?
- Mức lương mong muốn là bao nhiêu? (VPBank là ngân hàng top đầu, mức Senior Java có thể dao động 40-80 triệu/tháng — tham khảo).
- Bạn biết gì về VPBank và sản phẩm Jarvis?
🔹 Vòng Technical Test
- Coding Java: implement Stack/Queue, xử lý String, Collection.
- SQL: viết query phức tạp với JOIN, GROUP BY, Subquery, Index.
- OOP: thiết kế class cho một bài toán cụ thể (ví dụ: hệ thống đặt vé, banking transaction).
🔹 Vòng Technical Interview (Deep Dive)
Java Core:
- Sự khác nhau giữa
HashMapvàConcurrentHashMap? - Garbage Collection trong Java 8+ (G1, ZGC), cách tune JVM.
equals()vàhashCode()tại sao phải override cùng nhau?volatile,synchronized,ReentrantLockkhác nhau thế nào?- Java 8 Stream API:
mapvsflatMap, lazy evaluation.
Spring Framework:
- Spring Bean lifecycle, scope (singleton, request, session).
@Transactionalhoạt động như thế nào? Propagation và Isolation levels.- Spring Security: OAuth2, JWT trong hệ thống banking.
- Spring Boot auto-configuration, starter mechanism.
Database & ORM:
- Index hoạt động thế nào? B-Tree vs Hash Index? Khi nào nên/không nên index?
- Transaction isolation levels (READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE).
- Hibernate N+1 problem, lazy vs eager loading.
- Tối ưu query: EXPLAIN PLAN, covering index.
Design Pattern:
- Strategy, Builder, Factory, Observer, Decorator — áp dụng vào case thực tế.
- Anti-pattern cần tránh trong hệ thống banking.
🔹 Vòng System Design
Đây là vòng phân loại Senior thực sự. Có thể gặp:
- "Thiết kế hệ thống eKYC/onboarding cho ngân hàng" — đúng sản phẩm Jarvis mà JD đề cập.
- "Thiết kế hệ thống xử lý giao dịch với 100.000 TPS, đảm bảo ACID".
- "Áp dụng DDD và CQRS cho bài toán cụ thể" — rất quan trọng vì JD yêu cầu rõ.
- "Khi nào dùng Event Sourcing, khi nào chỉ cần CRUD đơn giản?".
- "Cách đảm bảo Eventual Consistency trong Microservice".
Gợi ý trả lời System Design cho Jarvis Onboarding:
- Bounded Context: Customer Onboarding, Identity Verification, Document Storage.
- CQRS: tách command (tạo hồ sơ) và query (tra cứu trạng thái).
- Event Sourcing: lưu lại mọi step eKYC (chụp CCCD, xác thực OTP, video KYC) như domain events.
- SAGA pattern để đảm bảo tính nhất quán giữa các service.
🔹 Vòng Manager & Culture Fit
- Định hướng nghề nghiệp 3-5 năm tới?
- Bạn cân bằng giữa deadline và chất lượng code như thế nào?
- Khi nào bạn sẵn sàng nghiên cứu công nghệ mới ngoài giờ?
- Bạn đã bao giờ xử lý sự cố production (P0/P2) tại ngân hàng chưa?
👔 Dress Code
- Vòng HR/Manager: Smart casual hoặc business casual (sơ mi, quần tây, giày tây).
- Vòng Technical: Business casual — sơ mi, quần tây là chuẩn. Ngân hàng thường yêu cầu lịch sự hơn so với công ty product thuần.
- Lưu ý: VPBank là ngân hàng, dù vị trí IT vẫn nên ăn mặc chỉn chu hơn so với startup tech.
💡 Tips chuẩn bị
- Nghiên cứu kỹ VPBank và sản phẩm Jarvis trước buổi phỏng vấn. Tìm hiểu trên website, app VPBank Neo, các bài báo về chuyển đổi số VPBank.
- Chuẩn bị 2-3 story thực tế về project Microservice, DDD, performance tuning theo format STAR (Situation, Task, Action, Result).
- Mang theo laptop cá nhân phòng trường hợp test trực tiếp trên máy của bạn.
- Chuẩn bị câu hỏi ngược cho nhà tuyển dụng — thể hiện sự quan tâm thật sự: tech stack, team size, quy trình CI/CD, on-call training.
Lộ trình ôn thi
Lộ trình ôn tập & chuẩn bị trong 1-2 tuần
📅 Lộ trình 14 ngày (mỗi ngày 2-3 tiếng)
Ngày 1-2: Java Core nâng cao
Kiến thức cần nắm vững:
- OOP: 4 tính chất, khi nào dùng abstract class vs interface (Java 8+ có default method).
- Collections Framework: ArrayList vs LinkedList, HashMap internal (Java 8+ dùng Red-Black Tree khi collision).
- Generics: type erasure, bounded type, wildcard.
- Concurrency: Thread, ExecutorService, CompletableFuture, ForkJoinPool.
- JVM: Stack vs Heap, Garbage Collection (G1 GC mặc định từ Java 9), JVM tuning cơ bản.
- Java 8-17 features: Lambda, Stream API, Optional, Records, Sealed Classes, Pattern Matching.
Tài liệu:
- 📘 Effective Java (Joshua Bloch) — kinh điển.
- 📘 Java Concurrency in Practice (Brian Goetz).
- 🌐 Baeldung.com — bài viết Java chất lượng cao.
- 🎥 Java Brains trên YouTube (số video về Java Core, Concurrency).
Ngày 3-4: Spring Ecosystem
Kiến thức cần nắm:
- Spring Core: IoC, DI, Bean scope, Bean lifecycle.
- Spring Boot: auto-configuration, starter, profile.
- Spring Data JPA: Repository pattern, Specification, QueryDSL.
- Spring Security: Authentication, Authorization, OAuth2, JWT, Method-level security.
- Spring Transaction:
@Transactional, propagation, isolation, rollback rules. - AOP: Aspect, Pointcut, Advice — khi nào dùng trong banking.
Tài liệu:
- 📘 Spring in Action (Craig Walls).
- 🌐 Spring.io documentation chính chủ.
- 🎥 Amigoscode, Java Brains trên YouTube.
- 🎓 Khóa Spring Boot 3 & Spring Cloud trên Udemy.
Ngày 5-6: Database & ORM
Kiến thức cần nắm:
- SQL nâng cao: JOIN (INNER, LEFT, RIGHT, FULL OUTER), CTE, Window Function, Subquery.
- Index: B-Tree, Hash, Composite Index, Covering Index, EXPLAIN ANALYZE.
- Transaction: ACID, isolation levels, deadlock.
- ORM: Hibernate N+1 problem, lazy/eager loading, second-level cache (Ehcache/Redis).
- Oracle-specific: PL/SQL cơ bản, stored procedure, trigger (vì VPBank dùng Oracle).
Tài liệu:
- 📘 High Performance MySQL (Baron Schwartz).
- 📘 SQL Performance Explained (Markus Winand).
- 🌐 Use The Index, Luke! (use-the-index-luke.com).
- 🎥 Học SQL trên HackerRank, LeetCode SQL 50.
Ngày 7-8: Microservices & DDD
Kiến thức cần nắm:
- Microservices pattern: API Gateway, Service Discovery, Circuit Breaker, Saga Pattern.
- DDD: Bounded Context, Aggregate, Entity, Value Object, Repository, Domain Service.
- CQRS: tách read và write model, eventual consistency.
- Event Sourcing: event store, snapshot, replay event.
- Distributed system: CAP theorem, Eventual Consistency.
Tài liệu:
- 📘 Domain-Driven Design (Eric Evans) — cuốn gối.
- 📘 Implementing Domain-Driven Design (Vaughn Vernon).
- 📘 Building Event-Driven Microservices (Adam Bellemare).
- 📘 Microservices Patterns (Chris Richardson).
- 🌐 microservices.io — tổng hợp pattern.
Ngày 9-10: System Design cho ngân hàng
Bài tập thực hành:
- Thiết kế hệ thống eKYC onboarding (đúng sản phẩm Jarvis).
- Thiết kế hệ thống chuyển tiền với đảm bảo ACID và high throughput.
- Thiết kế hệ thống notification đa kênh (SMS, email, push).
Khung trả lời:
- Requirements (functional + non-functional).
- High-level design.
- Database schema.
- API design.
- Trade-offs.
Tài liệu:
- 📘 System Design Interview (Alex Xu — Vol 1 & 2).
- 🌐 highscalability.com.
- 🎥 Gaurav Sen trên YouTube.
Ngày 11-12: Caching, Message Queue, Logging
- Redis: cache pattern (Cache-Aside, Write-Through, Write-Behind), Redis Cluster, TTL, data eviction.
- Kafka: topic, partition, consumer group, exactly-once semantics, retention.
- ELK Stack: Logstash config, Elasticsearch index, dashboard Kibana.
- Kubernetes (bonus): Pod, Deployment, Service, Ingress, Helm chart.
Tài liệu:
- 📘 Kafka: The Definitive Guide.
- 📘 Kubernetes in Action.
- 🎥 TechWorld with Nana (YouTube).
Ngày 13: Mock phỏng vấn
- Tự luyện coding Java trên LeetCode (focus tag: Array, String, HashTable, Tree).
- Luyện SQL trên HackerRank/LeetCode.
- Tự record video trả lời 5 câu System Design.
- Mock phỏng vấn với bạn bè hoặc dùng Pramp, InterviewBit.
Ngày 14: Tổng hợp & review
- Đọc lại JD và đảm bảo trả lời được mọi keyword.
- Chuẩn bị câu hỏi ngược cho nhà tuyển dụng.
- In CV, photo áo, dọn dẹp laptop.
- Đặt báo thức sớm hơn 1 tiếng so với giờ phỏng vấn.
📚 Tài liệu tham khảo tổng hợp
Sách bắt buộc (nếu có thời gian đọc 1 cuốn):
- 🏆 Effective Java — để vững Java Core.
- 🏆 System Design Interview Vol 1 & 2 — cho vòng System Design.
- 🏆 Implementing Domain-Driven Design — cho phần DDD/CQRS.
Website/Ông tổng hợp:
- 🌐 baeldung.com — Java/Spring tutorials.
- 🌐 dddcommunity.org — cộng đồngs.
- 🌐 refactoring.guru — Design Pattern với ví dụ dễ hiểu.
YouTube channels:
- 🎥 Java Brains, Amigoscode, Gaurav Sen, Hussein Nasser (System Design).
Tư vấn nghề nghiệp
Lời khuyên sự nghiệp cho Senior Backend Developer (Java) ngân hàng
🛤️ Lộ trình thăng tiến trong ngân hàng
Fresher/Junior Java Dev (0-2 năm)
↓
Mid-level Java Dev (2-4 năm)
↓
Senior Java Dev (4-7 năm) ← Vị trí JD đang tuyển
↓
Tech Lead / Solution Architect (7-10 năm)
↓
Engineering Manager / Head of Engineering (10+ năm)
↓
CTO / CIO (trong ngân hàng lớn)
Trong ngân hàng, có 2 hướng đi:
- Technical track: Senior → Tech Lead → Principal Engineer → Distinguished Engineer.
- Management track: Senior → Tech Lead → Engineering Manager → Director of Engineering → CIO.
💰 Mức lương kỳ vọng theo cấp bậc (ước lượng tham khảo)
⚠️ Mức lương có thể thay đổi tùy ngân hàng và thời điểm. Đây chỉ là ước lượngkhoảng* dựa trên thị trường.*
| Cấp bậc | Kinh nghiệm | Mức lương (VNĐ/tháng) | Ghi chú |
|---|---|---|---|
| Fresher Java | 0-1 năm | 12-20 triệu | Phụ thuộc nhiều vào công ty |
| Junior Java | 1-2 năm | 18-30 triệu | |
| Mid-level Java | 2-4 năm | 28-45 triệu | |
| Senior Java (vị trí JD) | 4-7 năm | 45-80 triệu | VPBank thuộc nhóm trả cao |
| Tech Lead | 6-10 năm | 70-120 triệu | |
| Solution Architect | 8+ năm | 100-180 triệu | |
| Engineering Manager | 10+ năm | 120-200 triệu |
Phúc lợi thường thấy tại VPBank:
- Thưởng Tết (1-3 tháng lương) + thưởng KPI quý.
- Chế độ BHXH, BHYT, BHTN đầy đủ.
- Bảo hiểm sức khỏe VPBank Care (cho cả gia đình).
- Vay ưu đãi nhân viên (lãi suất rất thấp).
- Cổ phiếu ESOP (tùy chương trình).
- Đào tạo nội bộ, hội thảo công nghệ.
- Du lịch, team building, 12 ngày phép/năm.
🎯 Kỹ năng cần phát triển thêm để thăng tiến
Ngắn hạn (6-12 tháng tới):
- System Design chuyên sâu — đây là skill phân loại Senior thực sự với Tech Lead.
- Domain knowledge ngân hàng — hiểu nghiệp vụ core banking, eKYC, payment, AML/KYC, fraud detection.
- Mentoring skills — Senior cần dẫn dắt 1-2 bạn Junior/Mid.
Trung hạn (1-3 năm tới):
- Cloud Architecture (AWS/Azure) — chứng minh khả năng thiết kế hệ thống cloud-native.
- DevOps & CI/CD — Jenkins, GitLab CI, ArgoCD, GitOps.
- Observability — Prometheus, Grafana, OpenTelemetry.
- Security — OWASP Top 10, banking security compliance.
Dài hạn (3-5 năm tới):
- AI/ML integration — xu hướng tất yếu của ngân hàng (fraud detection, customer service).
- Architecture governance — khả năng ra quyết định công người kiến trúc cho toàn bộ ngân hàng.
- Business acumen — hiểu business model ngân hàng để đưa ra quyết định kỹ thuật phù hợp.
💼 Cơ hội khi làm việc tại VPBank
Tại sao VPBank là lựa chọn tốt cho Senior Java Developer:
- Sản phẩm scale lớn: hàng triệu user trên app VPBank Neo.
- Tech stack hiện đại: Spring Boot, Microservice, Cloud — không lạc hậu.
- Văn hóa đổi mới: VPBank đầu tư mạnh cho chuyển đổi số.
- Mức lương cạnh tranh: top ngân hàng tư nhân về lương IT.
- Thương hiệu CV: VPBank trong CV sẽ là điểm cộng lớn.
Thách thức cần lường trước:
- Legacy system: một số hệ thống cũ vẫn còn tồn tại, cần thời gian hiểu.
- Compliance ngân hàng: nhiều quy trình phải tuân thủ NHNN, có thể chậm hơn so với startup.
- On-call: ngân hàng có downtime ít nhưng khi có sự cố phải xử lý 24/7.
- Work-life balance: phụ thuộc team và dự án, có thể căng thẳng khi release lớn.
🎓 Lời khuyên cuối cùng
- Đừng chỉ học công nghệ, hãy học nghiệp vụ ngân hàng. Senior Developer ở ngân hàng khác biệt lớn nhất với ở product company là hiểu nghiệp vụ tài chính, compliance, rủi ro.
- Xây dựng portfolio GitHub với project Microservice + DDD + CQRS — đây là điểm cộng lớn.
- Tham gia cộng đồng người Việt Nam: VietDev, Vietnam Java User Group — networking rất quan trọng.
- Đọc blog công nghệ của các ngân hàng lớn: như VPBank Engineering Blog, Tài Chinh.vn blog.
- Cân nhắc mức lương thực tế: đừng under-call huber; đừng over-call huber. Tra cứu mức lương thị trường trên ITviec, VietnamWorks trước khi đàm phán.
Câu hỏi thường gặp
Chưa phù hợp đâu em nhé. Vị trí Senior ở VPBank yêu cầu tối thiểu 3 năm kinh nghiệm và phải vững Microservice, CQRS, DDD. Vị trí này dành cho người đã đi làm thực tế nhiều năm, có thể độc lập thiết kế hệ thống. Em nên ứng tuyển các vị trí Fresher/Junior Java trước, tích lũy 2-3 năm rồi quay lại ứng tuyển Senior. Trong thời gian đó, em nên tập trung học Spring Boot sâu, làm project Microservice cá nhân để có portfolio. Khoảng 2 năm nữa em sẽ đủ khả năng ứng tuyển vị trí này.
Cơ hội có nhưng cần chuẩn bị thêm. JD yêu cầu Microservices, DDD, Event Sourcing, CQRS — mấy công nghệ này thường chỉ dùng trong hệ thống lớn, ít khi gặp ở project outsourcing. Em nên: (1) Tự học và làm project cá nhân về Microservice với CQRS, có thể deploy lên AWS free tier để demo; (2) Tìm công ty product hoặc fintech làm thêm 1-2 năm; (3) Nộp CV nhấn mạnh các project cá nhân có dùng Spring Boot, Redis, Kafka. Với 3 năm kinh nghiệm (đúng JD yêu cầu) kèm portfolio Microservice, em vẫn có cơ hội tốt.
Theo thị trường hiện tại (ước lượng tham khảo), Senior Java Developer ở VPBank thường dao động 45-80 triệu/tháng gross, tùy thuộc vào: (1) Số năm kinh nghiệm thực tế với Spring Boot/Microservice; (2) Khả năng đàm phán; (3) Có chứng chỉ hay không (Spring/AWS cert là điểm cộng); (4) Đóng góp vào open source hoặc có portfolio nổi bật. Ngoài ra VPBank còn có thưởng Tết (1-3 tháng lương), KPI quý, BHYT gia đình, vay ưu đãi nhân viên. Lưu ý: mức lương có thể thay đổi tùy ngân hàng và thời điểm. Em nên tra cứu thêm trên ITviec, VietnamWorks, và hỏi các anh chị đang làm ở VPBank trên cộng đồng như Tinh tế, Dạy Nhau Học để có số liệu cập nhật nhất.
Thường là thiết kế hệ thống liên quan đến ngân hàng, điển hình: (1) Hệ thống eKYC/onboarding (đúng sản phẩm Jarvis của VPBank); (2) Hệ thống chuyển tiền P2P với high throughput và ACID; (3) Hệ thống notification đa kênh; (4) Hệ thống lưu trữ tài liệu khách hàng. Khi trả lời, em cần cách xác định: Requirements functional/non-functional → High-level architecture → Database design → API design → Microservice boundaries (nếu có) → Xử lý failure → Trade-offs. Đặc biệt chú trọng phần DDD/CQRS/Event Sourcing vì JD yêu cầu rõ. Có thể luyện tập bằng cách xem các video System Design của Gaurav Sen, Hussein Nasser trên YouTube.
VPBank là ngân hàng lớn, văn hóa khá chuyên nghiệp nhưng vẫn có tinh thần đổi mới (đặc biệt ở khối Modern Tech). Về onsite nước ngoài thì ít có chương trình chính thức cho vị trí IT trong nước — phần lớn ngân hàng Việt Nam chưa có chương trình onsite như các công ty product lớn (Google, Microsoft). Tuy nhiên, VPBank có hợp tác với một số đối tác nước ngoài (Visa, Mastercard, AWS) nên có thể có cơ hội tham gia hội thảo, training quốc tế. Đây cũng là điểm em nên hỏi trong buổi phỏng vấn để hiểu rõ hơn.
Với 90 triệu hiện tại ở vị trí Tech Lead, em đang ở mức cao cho Senior ở VPBank. Có hai phương án: (1) Apply vị trí Senior Backend Developer (như hiện tại) để lấy thương hiệu VPBank trong CV, nhưng có thể bị under-level; (2) Apply trực tiếp vị trí Tech Lead/Solution Architect ở VPBank — tuy nhiên VPBank có thể chưa có nhu cầu hoặc yêu cầu kinh nghiệm ngân hàng. Cân nhắc: nếu em muốn chuyển sang domain ngân hàng (career switch chuyển ngân hàng sang fintech hay fintech sang ngân hàng đều có điểm mạnh/yếu riêng), có thể chấp nhận under-level ngắn hạn để tích lũy domain knowledge ngân hàng. Nếu em happy với fintech và vị trí Tech Lead, có thể cân nhắc ở lại.
Work-life balance ở VPBank phụ thuộc nhiều vào team và dự án. Thường thì: (1) Ngân hàng lớn văn hóa chuyên nghiệp, giờ giấc ổn định 8h-17h30 hoặc 9h-18h; (2) Tuy nhiên khi release lớn hoặc có sự cố production có thể phải OT, đặc biệt là hệ thống thanh toán, eKYC — downtime có thể ảnh hưởng trực tiếp đến khách hàng; (3) Áp lực compliance cao vì phải tuân thủ NHNN, nhiều quy trình kiểm duyệt code, audit; (4) Team Modern Tech thường thoải mái hơn team Core Banking. Nhìn chung ổn định hơn fintech/startup nhưng có thể chậm hơn trong việc adopt công nghệ mới.
Với 2 tuần, em nên focus vào 3 trục chính theo JD: (1) Java Core + Spring Boot: ôn lại Effective Java, deep dive vào Spring Transaction, Spring Security, JPA/Hibernate; (2) Microservices + DDD/CQRS: đọc nhanh Implementing DDD của Vaughn Vernon, xem video microservices.io; (4) Database: Oracle đặc biệt vì VPBank dùng Oracle nhiều, ôn SQL optimization, indexing, EXPLAIN PLAN. Luyện coding trên LeetCode (focus Java, Medium). Tìm hiểu sản phẩm VPBank Neo để hiểu business context. Tối cuối tuần thứ 2, mock phỏng vấn với bạn bè. Đừng cố học quá nhiều thứ mới trong 2 tuần, hãy consolidate sau công thức đã có.
Chia sẻ từ cộng đồng
Mình từng làm Modern Tech ở VPBank được 1.5 năm rồi chuyển. Nói chung team khá trẻ, công nghệ dùng Spring Boot + Kafka + Redis + K8s khá hiện đại so với ngân hàng truyền thống. Anh em PM và BA support cũng ok. Tuy nhiên khi mình vào thì dự án đang trong giai đoạn go-live nên áp lực OT khá nhiều, có tuần OT đến 10h đêm. Sau go-live thì ổn hơn, work-life balance tốt hơn hẳn. Anh em nào apply nên hỏi rõ team nào đang ở giai đoạn nào để cân nhắc.
Mình vừa pass vòng technical cuối tuần trước cho vị trí tương tự ở VPBank Modern Tech. Chia sẻ chút kinh nghiệm: vòng 3 phỏng vấn với Lead Tech khá nặng về phần Microservice + DDD, họ hỏi rất chi tiết về bounded context, aggregate root, CQRS command/query. Vòng 4 system design họ cho bài toán thiết kế hệ thống onboarding tương tự Jarvis, mình làm bài vẽ trên Miro khá lâu. Có 1 điều mình thấy hay là họ chú trọng nhiều vào khả năng research new tech hơn là chỉ trả lời đúng/sai. Cảm giác họ tìm người có tư duy mở.
Cảnh báo cho anh em: VPBank dù rất nhiều dự án Java Spring Boot nhưng cũng có một số hệ thống legacy .NET, COBOL vẫn còn chạy. Nếu rơi vào team maintain hệ thống cũ thì hơi khổ. Các team Modern Tech thì ngon lành rồi, cứ apply mấy team liên quan đến app VPBank Neo hoặc sản phẩm số là ổn. Lương Senior ở VPBank mình tham khảo khoảng 50-70tr cho 4-5 năm kinh nghiệm, thêm thưởng Tết 2-3 tháng. Cân nhắc nha mọi người.
Vừa đọc JD xong thấy yêu cầu DDD + CQRS + Event Sourcing khá cao. Đây không phải stack thông thường, chỉ gặp ở các hệ thống banking hoặc fintech lớn đang tái cấu trúc. Mình recommend anh em nên đọc cuốn Implementing Domain-Driven Design của Vaughn Vernon trước khi đi phỏng vấn, rất sát với thực tế. Còn nếu chưa làm DDD bao giờ thì cố gắng tự build 1 mini project trên GitHub để demo cho buổi phỏng vấn. VPBank đánh giá cao việc có portfolio thực tế.
Mình đang apply mấy vị trí Senior ở VPBank, Techcombank, MB thấy đều yêu cầu DDD/Microservice. Đây là xu hướng chung của ngân hàng Việt Nam khi chuyển đổi số. Ai muốn long-term career ở ngân hàng thì nên invest thời gian học sâu mảng này. Spring Boot thì nhiều người biết rồi nhưng DDD + CQRS thì chưa nhiều người thực sự làm. Nếu master được thì cơ hội thăng tiến rất tốt, lương có thể nhảy lên 80-100tr ở vị trí Tech Lead sau 1-2 năm.
Đã làm ở VPBank 3 năm, giờ chuyển sang fintech rồi. Chia sẻ thật với anh em: ngân hàng có cái lợi là ổn định, thương hiệu CV tốt, lương không tệ. Cái hại là quy trình nặng nề, nhiều compliance, release chậm (đôi khi 1 feature nhỏ cũng phải đợi tuần mới merge được vì review kỹ). Còn tuỳ team lắm, có team làm hiện đại thoải mái như startup, có team thì vẫn theo quy trình cũ. Modern Tech là một trong những team thoáng nhất VPBank nên apply vẫn ok.
Ứng tuyển ngay
Ứng tuyển trên website gốcBạn sẽ được chuyển đến trang tuyển dụng chính thức của VPBank
Chuyên môn / Từ khoá
Mất kết nối mạng
Đang thử kết nối lại
Đã xảy ra lỗi!
Vui lòng chờ trong giây lát