messenger

Chat Mess

zalo

Chat Zalo

phone

Phone

Gọi ngay: 097.5151.777
messenger

Facebook

messenger

TikTok

Hỗ trợ tư vấn: 097.5151.777
VPBank

[HCM] Senior Backend Developer (Java) - TA172

Khối Công nghệ thông tin
CMNV

Mô tả công việc

Mô tả công việc
The (position) is responsible for:
Delivery in-house applications as defined in product road map

A.  Key Responsibilities and Accountabilities

•  Delivery in-house applications as defined in product road map
• Features quality (less than 3 critical bugs which affect > 1500 users)
• Service Up Time (99%)
• Service Response Time (<= 1000ms not include 3rd party)
• Number of bugs per 3-weeks sprint (<= 10)

B.  Requirements

Experience
• Design/developer in a complex, enterprise-level development environment for at least 5 years.
• Solid experience in Java 8+, OOP.
• Web Services expose and consume, (SOAP/RESTfull)
• Messaging system.
• Access and manipulate database (SQL and NoSQL), MySQL, MongoDB, Oracel SQL.
• Embedded Jetty, Springboot.
• RabbitMQ, Kafka.
• Redis, Memcache, Couchbase.
• Experience in system architecture, API management.
• Experience in the banking or financial services industry.
• Knowledge about load balancing such as HAProxy.
• Experience in OWASP, software security.
• Optimize/review code.
• Write high performance code.
• Load test.
• Quick adaption to a new environment.
• Support other members to deliver tasks ontime.
• Knowledge about AWS, AI is advance.

Special Skills
• Problem solving
• Security awareness
• Module design and development
• Product understanding
• UX oriented development
• Analysis and design.

Thông tin khác
Địa điểm làm việc: Tầng 16, Tòa nhà E-town Central, 11 Đoàn Văn Bơ, Phường Xóm Chiếu, TP.HCM, Việt Nam

Phân tích kỹ năng cần có

Phân tích kỹ năng cho vị trí Senior Backend Developer (Java) - VPBank

🎯 Tổng quan vị trí

Đây là vị trí Senior Backend Developer thuộc Khối CNTT của VPBank, làm việc tại trụ sở E-town Central (quận 4, TP.HCM). Vị trí này yêu cầu cao về cả chiều sâu kỹ thuật lẫn kinh nghiệm thực chiến trong môi trường enterprise banking — nơi hệ thống phải đảm bảo uptime 99% và xử lý hàng triệu giao dịch.

---

🛠️ Hard Skills (Kỹ năng cứng) — BẮT BUỘC

Nhóm kỹ năng Công nghệ cụ thể Mức độ yêu cầu
Ngôn ngữ chính Java 8+, OOP, Java 17 (mới hơn càng tốt) ⭐⭐⭐⭐⭐
Framework Spring Boot, Embedded Jetty ⭐⭐⭐⭐⭐
Web Services RESTful API, SOAP ⭐⭐⭐⭐⭐
Database MySQL, Oracle SQL, MongoDB (NoSQL) ⭐⭐⭐⭐⭐
Messaging RabbitMQ, Kafka ⭐⭐⭐⭐
Caching Redis, Memcache, Couchbase ⭐⭐⭐⭐
Architecture System design, API Management, Microservices ⭐⭐⭐⭐
Security OWASP, software security best practices ⭐⭐⭐⭐
Performance Load testing, code optimization, HAProxy ⭐⭐⭐⭐
Cloud AWS (EC2, S3, Lambda, RDS…) ⭐⭐⭐ (ưu tiên)

---

🌟 Kỹ năng NÂNG CAO (điểm cộng lớn)

  • AI/ML Integration: Biết tích hợp AI vào hệ thống ngân hàng (fraud detection, chatbot, OCR…) — đây là xu hướng VPBank đang đầu tư mạnh
  • Kubernetes, Docker, CI/CD (Jenkins, GitLab CI)
  • Monitoring tools: Grafana, Prometheus, ELK Stack
  • Domain-Driven Design (DDD), Event-Driven Architecture

---

🤝 Soft Skills (Kỹ năng mềm)

  • Problem Solving — gỡ lỗi hệ thống phức tạp dưới áp lực
  • Security Awareness — tư duy bảo mật trong từng dòng code
  • Module Design & Product Understanding — hiểu sản phẩm ngân hàng (core banking, lending, payment…)
  • UX-Oriented Development — tối ưu trải nghiệm người dùng từ backend
  • Mentoring & Collaboration — hỗ trợ thành viên junior deliver đúng hạn
  • Tiếng Anh — đọc hiểu tài liệu kỹ thuật (tối thiểu Intermediate)

---

📜 Chứng chỉ gợi ý (nên có để tăng sức mạnh hồ sơ)

Chứng chỉ Tổ chức Lợi ích
Oracle Certified Professional: Java SE Oracle Chứng minh nền tảng Java vững
AWS Certified Solutions Architect AWS Phù hợp yêu cầu AWS
Spring Professional Certification VMware/Pivotal Chứng minh chuyên môn Spring
Certified Kubernetes Administrator (CKA) CNCF Nếu hệ thống dùng K8s
CISSP / CSSLP (ISC)² Nếu muốn đi sâu security

---

⚖️ So sánh yêu cầu với thị trường

Tiêu chí Tin VPBank Trung bình Senior Java tại ngân hàng VN
Số năm kinh nghiệm 5+ năm 4-5 năm
Yêu cầu banking experience Bắt buộc Ưu tiên
Message broker RabbitMQ + Kafka Thường 1 trong 2
Caching layers 3 loại (Redis, Memcache, Couchbase) Thường 1-2 loại
Cloud AWS (ưu tiên) On-premise phổ biến hơn
AI knowledge Điểm cộng Hiếm khi yêu cầu

Nhận xét: Tin này có yêu cầu khá cao và toàn diện, phù hợp với ứng viên thực sự senior, đã làm banking ít nhất 2-3 năm.

Chuẩn bị phỏng vấn

Hướng dẫn phỏng vấn Senior Backend Developer (Java) - VPBank

📋 Quy trình tuyển dụng dự kiến (3-5 vòng)

Vòng 1: HR Screen (30-45 phút)
  • Giới thiệu bản thân, lý do ứng tuyển
  • Kỳ vọng lương, thời gian onboard
  • Tìm hiểu kinh nghiệm banking
Vòng 2: Technical Test / Coding Assignment
  • Có thể là HackerRank / Codility test (60-90 phút)
  • Bài tập Java OOP, algorithm, SQL query
  • Một số câu hỏi về Spring Boot, REST API design
Vòng 3: Technical Interview vòng 1 (Coding + System Design)
  • Live coding hoặc white-board algorithm
  • Thiết kế hệ thống: API payment, transaction core, lending system
  • Đánh giá độ sâu Java core, multithreading, concurrency
Vòng 4: Technical Interview vòng 2 (Tech Lead / Architect)
  • Sâu về system architecture, microservice
  • Thảo luận về security (OWASP), performance optimization
  • Case study thực tế từ dự án cũ của ứng viên
Vòng 5: Director / Head of Department
  • Fit văn hóa, tầm nhìn nghề nghiệp
  • Đàm phán lương, package

---

❓ Câu hỏi phỏng vấn hay gặp

🔹 Java Core

1. Phân biệt `HashMap`, `ConcurrentHashMap`, `Hashtable` — khi nào dùng gì?
2. Garbage Collection hoạt động thế nào? Cách tune JVM?
3. Sự khác nhau giữa `ExecutorService`, `ForkJoinPool`, `CompletableFuture`?
4. Java 8 Streams API: xử lý parallel, performance trade-off?
5. `volatile` vs `synchronized` vs `Lock`?

🔹 Spring Boot & Microservices

1. Spring Boot auto-configuration hoạt động ra sao?
2. Cách implement circuit breaker (Resilience4j, Hystrix)?
3. Distributed transaction trong microservice — Saga pattern?
4. Spring Security + JWT + OAuth2 cho hệ thống banking?
5. Cách debug memory leak, thread leak trong Spring Boot app?

🔹 Database & Performance

1. Khi nào dùng SQL, khi nào dùng NoSQL? Cho ví dụ cụ thể trong banking.
2. Index optimization, query plan analysis.
3. CAP theorem, eventual consistency trong distributed DB.
4. Connection pool sizing (HikariCP) như thế nào?
5. Khi nào dùng Redis vs Memcache vs Couchbase?

🔹 System Design

1. Thiết kế hệ thống chuyển tiền nội địa xử lý 10,000 TPS?
2. Thiết kế notification service cho app ngân hàng (push, SMS, email)?
3. Thiết kế fraud detection system real-time?
4. Làm sao đảm bảo idempotency trong payment API?
5. Cách handle duplicate message trong Kafka?

🔹 Banking Domain

1. Quy trình eKYC, KYC là gì? Làm sao tích hợp vào app?
2. Core banking system có những module nào?
3. PCI-DSS compliance trong payment system?
4. Luật an ninh mạng & bảo vệ dữ liệu cá nhân ở VN?

🔹 Behavioral / Soft Skills

1. Mô tả một dự án banking bạn đã làm — bạn đóng góp gì?
2. Khi nào bạn mâu thuẫn với PM về technical decision — xử lý ra sao?
3. Cách bạn mentor junior developer?
4. Tại sao VPBank? Mục tiêu nghề nghiệp 3-5 năm tới?

---

👔 Dress Code

  • Vòng HR / Director: Áo sơ mi + quần tây, có thể không cần vest
  • Vòng Technical: Smart casual (áo polo, sơ mi nhẹ) — VPBank không quá formal
  • Chung: Giày công sở, tóc gọn gàng, lịch sự

💡 Tips chuẩn bị

  • ✅ Chuẩn bị portfolio trên GitHub với code sample banking domain
  • ✅ Ôn lại các project đã làm theo format STAR (Situation, Task, Action, Result)
  • ✅ Đọc trước về VPBank: sản phẩm, chiến lược chuyển đổi số, công nghệ họ đang dùng
  • ✅ Chuẩn bị 3-5 câu hỏi ngược cho interviewer
  • ✅ Luyện tập live coding trên LeetCode (medium-hard), HackerRank
  • ✅ In CV, mang theo bút, đến trước 15 phút

Lộ trình ôn thi

Lộ trình ôn tập & chuẩn bị 2 tuần

📅 Tuần 1: Nền tảng Java & Spring Boot

Ngày 1-2: Java Core Deep Dive
  • Đọc: Effective Java (Joshua Bloch) — các chương về Concurrency, Generics, Lambdas
  • Luyện: 20 bài LeetCode Java (medium)
  • Thực hành: Implement custom thread pool, LRU Cache
Ngày 3-4: Spring Boot Ecosystem
  • Đọc: Spring Boot Reference Documentation
  • Thực hành: Build REST API với Spring Boot 3, JPA, Validation
  • Tìm hiểu: Spring Cloud (Gateway, Config, Eureka)
Ngày 5-7: Messaging & Caching
  • RabbitMQ: exchange types, DLQ, priority queue
  • Kafka: partition, consumer group, exactly-once semantics
  • Redis: cluster, sentinel, pub/sub, rate limiting

📅 Tuần 2: System Design, Banking Domain & Mock Interview

Ngày 8-9: System Design
  • Đọc: System Design Interview (Alex Xu Vol 1 & 2)
  • Thực hành: Vẽ architecture cho 4 case study trên
  • Tìm hiểu: Microservice patterns (Saga, CQRS, Event Sourcing)
Ngày 10-11: Banking & Security
  • Đọc: OWASP Top 10, PCI-DSS basics
  • Tìm hiểu: Core banking flows (account, payment, lending, card)
  • Luật: Nghị định 13/2023 về bảo vệ dữ liệu cá nhân VN
Ngày 12-13: Performance & DevOps
  • JVM tuning: heap, GC algorithms (G1, ZGC)
  • Load testing với JMeter/Gatling
  • Docker, Kubernetes cơ bản
  • AWS: EC2, RDS, S3, Lambda, API Gateway
Ngày 14: Mock Interview
  • Luyện live coding 2 giờ
  • Tập trình bày system design 30 phút
  • Review CV, portfolio

---

📚 Tài liệu tham khảo

Tài liệu Tác giả / Nguồn Phù hợp cho
Effective Java (3rd Ed.) Joshua Bloch Java Core
Spring in Action (6th Ed.) Craig Walls Spring Boot
Designing Data-Intensive Applications Martin Kleppmann System Design
System Design Interview Vol 1, 2 Alex Xu System Design
Microservices Patterns Chris Richardson Architecture
Java Concurrency in Practice Brian Goetz Multithreading
Baeldung.com Baeldung Spring Boot tutorial
Refactoring.guru Refactoring Guru Design Patterns
LeetCode / HackerRank - Coding practice
Awesome Scalability GitHub repo System design cases

---

🎓 Khóa học online gợi ý

  • Coursera: Java Programming and Software Engineering Fundamentals (Duke)
  • Udemy: Spring Boot Microservices with Spring Cloud (in28minutes)
  • Educative.io: Grokking the System Design Interview
  • AWS Skill Builder: Free AWS fundamentals
  • YouTube: Hussein Nasser (system design), Java Brains (Spring)

Tư vấn nghề nghiệp

Lời khuyên sự nghiệp cho Senior Backend Developer ngân hàng

🚀 Lộ trình thăng tiến tại VPBank (và ngân hàng nói chung)

```
Senior Developer (bạn ở đây) → Tech Lead → Engineering Manager → Architect → CTO

Principal Engineer (IC track)
```

Thời gian thăng tiến trung bình:

  • Junior → Mid: 1-2 năm
  • Mid → Senior: 2-3 năm
  • Senior → Tech Lead: 2-4 năm
  • Tech Lead → EM/Architect: 3-5 năm

💰 Mức lương kỳ vọng theo cấp bậc (Senior Java Developer - Banking tại VN)

Cấp bậc Kinh nghiệm Gross (USD/tháng) Gross (VNĐ/tháng)
Junior 0-2 năm $500 - $1,000 12 - 25 tr
Mid-level 2-4 năm $1,200 - $2,000 30 - 50 tr
Senior (vị trí này) 5-7 năm $2,200 - $3,800 55 - 95 tr
Tech Lead 7-10 năm $3,500 - $5,500 85 - 135 tr
Engineering Manager 8-12 năm $4,000 - $7,000 100 - 175 tr
Architect / Director 10+ năm $5,500 - $10,000+ 135 - 250 tr+

Lưu ý: VPBank thuộc top ngân hàng tư nhân trả lương cao. Mức $2,500 - $3,500 USD là kỳ vọng hợp lý cho vị trí Senior này. Khi deal, nhớ cộng thêm 13th month salary, performance bonus, meal allowance, health insurance (có thể cộng thêm 15-25% vào gross).

---

📈 Kỹ năng cần phát triển trong 1-2 năm tới

Tier 1 — Bắt buộc cho Tech Lead
  • System Architecture: Thiết kế hệ thống quy mô lớn (10K+ TPS)
  • Cloud Native: AWS/GCP cert, K8s, Istio, ArgoCD
  • Observability: OpenTelemetry, distributed tracing (Jaeger, Zipkin)
  • AI/ML Integration: LLM API, RAG, vector database (Pinecone, Weaviate) — VPBank đang đẩy mạnh AI
Tier 2 — Nên có
  • Event-Driven Architecture: Kafka Streams, Flink
  • Security nâng cao: Cryptography, secure coding cho fintech
  • DevSecOps: Shift-left security, SAST/DAST tools
  • Tiếng Anh: Đạt IELTS 6.5+ hoặc TOEIC 700+
Tier 3 — Tạo lợi thế cạnh tranh
  • Public Speaking: Tech talk, conference (Viblo, DevCon)
  • Open Source: Contribute vào project Spring, Kafka
  • Tech Blog: Viết bài trên Viblo, Medium, Dev.to
  • MBA / quản lý: Nếu hướng EM

---

🎯 Khuyến nghị chiến lược

1. Trước khi apply: Có ít nhất 2-3 năm kinh nghiệm banking/fintech thực sự (không chỉ e-commerce). VPBank rất coi trọng domain knowledge.
2. Trong 6 tháng đầu: Tập trung hiểu sản phẩm VPBank (Casso, Cake, VPBank Neo…). Đề xuất cải tiến dựa trên data.
3. Sau 1 năm: Dẫn dắt 1 dự án lớn, mentor 2-3 bạn junior, có bài blog kỹ thuật.
4. Sau 2-3 năm: Đủ tư cách Tech Lead hoặc Principal Engineer (nếu chọn IC track).

⚠️ Lưu ý quan trọng

  • Ngân hàng có compliance chặt — đọc kỹ quy định nội bộ trước khi đụng production
  • VPBank đang chuyển đổi số rất mạnh → nhiều cơ hội nhưng cũng nhiều áp lực deadline
  • Hệ thống banking thường legacy + mới song song — sẵn sàng học công nghệ cũ (Mainframe, COBOL) nếu cần
  • Đừng nhảy việc quá 2 năm/lần trong giai đoạn Senior — depth quan trọng hơn breadth

Câu hỏi thường gặp

Em là sinh viên năm cuối IT, có làm đồ án Spring Boot + MySQL nhưng chưa đi làm. Có nên apply vị trí Senior này không?

Không nên bạn nhé. Vị trí này yêu cầu tối thiểu 5 năm kinh nghiệm enterprise, đặc biệt là banking. Bạn nên bắt đầu ở vị trí Junior/Mid tại một ngân hàng hoặc fintech trước (Techcombank, MB, Momo, ZaloPay…). Sau 3-5 năm tích lũy domain knowledge banking thì hãy apply Senior. Đồ án tốt nghiệp giúp bạn có nền tảng, nhưng production system ngân hàng khác xa đồ án về scale, security, compliance.

Tôi có 6 năm Java ở công ty outsourcing (e-commerce, logistics), KHÔNG làm banking. Cơ hội được không?

Cơ hội khoảng 30-40%. Bạn đáp ứng phần lớn technical skills (Java, Spring Boot, Kafka, MySQL…), NHƯNG yêu cầu "Experience in banking or financial services industry" là bắt buộc. Mẹo: trong CV, hãy làm nổi bật những dự án có tính chất tài chính (payment gateway, wallet, ERP tài chính…) dù không phải ngân hàng. Phỏng vấn, nhấn mạnh khả năng học domain nhanh và transferable knowledge (transaction, idempotency, audit log). Nếu có thể, làm 1 năm ở fintech trước rồi apply sẽ mạnh hơn nhiều.

Mức lương nào hợp lý để deal với VPBank cho vị trí Senior Backend này?

Với 5-7 năm kinh nghiệm banking, mức gross $2,500 - $3,500 USD là hợp lý (khoảng 60-85 triệu VNĐ). Nếu bạn có thêm AWS cert, AI/ML integration, hoặc kinh nghiệm system design lớn, có thể deal $3,500 - $4,000. VPBank thường offer thêm 13th month salary, meal card 1-2 triệu, health insurance cho gia đình, performance bonus 2-3 tháng lương/năm. Khi deal: đừng đưa con số cứng ngay, hỏi range của họ trước, sau đó counter 10-15% cao hơn mức họ offer. Lưu ý: nếu đang ở công ty nước ngoài với USD, VPBank có thể match nhưng hiếm khi vượt.

Tôi muốn chuyển từ Java Backend ở fintech sang ngân hàng VPBank. Cần chuẩn bị gì?

Bạn đã có lợi thế lớn vì fintech khá gần banking. Chuẩn bị 4 thứ: (1) Hiểu sâu core banking flow: tài khoản, tiền gửi, cho vay, thẻ, thanh toán — đọc tài liệu SWIFT, ISO 8583, PCI-DSS; (2) Học thêm về compliance: Nghị định 13/2023, Thông tư 17/2019 NHNN, anti-money laundering; (3) Nếu fintech của bạn đã dùng Kafka, Redis, microservice thì đã tốt; (4) Ôn lại Java security: OWASP, JWT, OAuth2, mã hóa dữ liệu nhạy cảm. Cuối cùng, trong phỏng vấn hãy cho thấy bạn hiểu khác biệt giữa fintech và core banking: trong ngân hàng yêu cầu tính chính xác tuyệt đối (không được sai một xu), không được downtime, audit trail phải rõ ràng.

VPBank yêu cầu AI knowledge — tôi không có background AI. Có phải disqualify không?

Không hẳn. Trong JD ghi "Knowledge about AWS, AI is advance" — tức là "nice-to-have", không phải bắt buộc. Tuy nhiên, để tăng điểm, bạn nên tự học cơ bản: (1) Cách gọi OpenAI API / Anthropic Claude API từ Java; (2) Hiểu RAG (Retrieval-Augmented Generation) và Vector Database; (3) Biết các use case AI trong banking: chatbot CSKH, fraud detection, OCR CCCD, credit scoring. Đầu tư 1-2 tuần tự học là đủ để trả lời ở mức 'có biết và hiểu'. Nếu phỏng vấn có hỏi, hãy thành thật: 'Tôi chưa có kinh nghiệm production nhưng đã tự học và prototype một số case đơn giản' — VPBank sẽ đánh giá cao sự chủ động học hỏi.

Java Developer ở ngân hàng có tương lai không, hay nên chuyển sang AI/Data?

Java Backend ở banking có tương lai rất tốt, ít nhất 10 năm tới. Lý do: (1) Hệ thống core banking chạy Java, khó thay thế — chi phí migration cực lớn; (2) Ngân hàng Việt Nam đang chuyển đổi số rất mạnh (VPBank, Techcombank, MB… đều tuyển nhiều); (3) Mức lương Java Senior banking tương đương hoặc cao hơn AI/Data ở cùng cấp. AI/Data thì hot nhưng cạnh tranh khốc liệt, yêu cầu toán học cao. Lời khuyên: GIAO THOA — ở lại Java nhưng học thêm AI để làm AI Engineer in Banking (fraud detection, credit scoring, GenAI chatbot) — đó là xu hướng đang trả lương cao nhất.

Làm ở VPBank có khác gì so với công ty product công nghệ (Tiki, Shopee)?

Khác khá nhiều: (1) Văn hóa: VPBank có tính hierarchy cao hơn, quy trình chuẩn ngân hàng, nhiều compliance; Product tech thì flat, agile hơn; (2) Tốc độ release: Banking chậm hơn nhiều vì phải qua security review, compliance check, UAT kỹ — một feature có thể mất 2-3 tháng thay vì 2 tuần; (3) Workload: Có thể có on-call, đặc biệt khi release lớn hoặc có sự cố; (4) Lương: VPBank competitive, thường cao hơn startup, có thể ngang Shopee/Tiki cấp senior; (5) Work-life balance: Banking ổn định hơn, ít bị layoff hơn product tech. Nếu bạn thích sự ổn định và làm việc có impact, VPBank tốt. Nếu thích innovation tốc độ cao, có thể cân nhắc fintech như Momo, ZaloPay.

Tôi đang ở vị trí Senior 5 năm, muốn apply Tech Lead ở VPBank. Có nên "đi xuống" Senior trước không?

Không cần "đi xuống" — VPBank có chính sách internal mobility. Nếu bạn đang là Senior ở công ty khác với 8-10 năm kinh nghiệm, có thể apply trực tiếp vị trí Tech Lead. Tuy nhiên, vị trí Senior Java ở VPBank (TA172) là lựa chọn an toàn nếu: (1) bạn chưa có banking experience thực sự; (2) muốn vào VPBank để hiểu văn hóa rồi promote lên sau 6-12 tháng; (3) đang ở level 5-6 năm chưa sẵn sàng cho Tech Lead. Trong CV, ghi rõ ambition: 'Mục tiêu 1-2 năm tới đảm nhận vai trò Tech Lead' — VPBank thích ứng viên có growth mindset.

Phỏng vấn system design ở VPBank thường hỏi gì? Em sợ phần này nhất.

System design ở mức Senior thường hỏi 3-4 dạng: (1) Payment/Transfer: Thiết kế hệ thống chuyển tiền, xử lý concurrency, idempotency, double-spending; (2) Notification: Push notification service cho hàng triệu user; (3) Core Banking module: Account management, ledger system; (4) Fraud detection: Real-time risk scoring. Để chuẩn bị: (a) Học khung trả lời: Requirements → Capacity Estimation → High-level Design → Database Schema → API Design → Deep Dive → Trade-offs; (b) Ôn 10 case study phổ biến trong System Design Interview (Alex Xu); (c) Tập vẽ trên giấy A4 trong 30-45 phút; (d) Quan trọng nhất: communicate rõ ràng với interviewer, đừng im lặng suy nghĩ quá lâu. Senior không cần design hoàn hảo, cần thấy tư duy có hệ thống và biết đánh đổi.