IT-Backend Developer (Java/Spring Boot) - Middle to Senior Level
Mô tả công việc
● Bachelor’s degree in Computer Science or related field.
● 3+ years of backend development with Java, Spring Framework, and Spring Boot.
● Strong knowledge of Java Core, OOP, multi-threading, collections, and exception handling.
● Proficient in Design Patterns (SOLID, Factory, Singleton, Strategy, Repository).
● Experience building RESTful APIs and integrating SOAP services.
● Skilled in MySQL, PostgreSQL, and Redis.
● Proficient in writing unit tests and integration tests using JUnit and Mockito.
● Understanding of Microservices, SOA, and event-driven architecture (e.g., Kafka).
● Familiarity with Agile/Scrum and full SDLC.
● Ability to read and understand English technical documentation.
Preferred Qualifications
● Experience with CI/CD pipelines, Docker, and Kubernetes.
● Knowledge of Elasticsearch and handling large-scale data.
● Familiarity with Backbase or Corezoid platforms
Yêu cầu ứng viên
● Bachelor’s degree in Computer Science or related field.
● 3+ years of backend development with Java, Spring Framework, and Spring Boot.
● Strong knowledge of Java Core, OOP, multi-threading, collections, and exception handling.
● Proficient in Design Patterns (SOLID, Factory, Singleton, Strategy, Repository).
● Experience building RESTful APIs and integrating SOAP services.
● Skilled in MySQL, PostgreSQL, and Redis.
● Proficient in writing unit tests and integration tests using JUnit and Mockito.
● Understanding of Microservices, SOA, and event-driven architecture (e.g., Kafka).
● Familiarity with Agile/Scrum and full SDLC.
● Ability to read and understand English technical documentation.
Preferred Qualifications
● Experience with CI/CD pipelines, Docker, and Kubernetes.
● Knowledge of Elasticsearch and handling large-scale data.
● Familiarity with Backbase or Corezoid platforms
Phân tích kỹ năng cần có
Phân tích kỹ năng cho vị trí Backend Developer (Java/Spring Boot) tại OCB
🎯 Tổng quan vị trí
Đây là vị trí Middle to Senior Backend Developer trong khối Công nghệ thông tin của OCB (Ngân hàng TMCP Phương Đông). Vị trí này đòi hỏi ứng viên đã có nền tảng vững chắc về Java ecosystem và có kinh nghiệm thực chiến với hệ thống ngân hàng hoặc fintech. Điểm đặc biệt là OCB đang xây dựng nền tảng ngân hàng số (digital banking), nên việc ưu tiên các platform như Backbase hoặc Corezoid là một lợi thế cạnh tranh rất lớn.
---
🔧 Hard Skills (Bắt buộc)
| Nhóm kỹ năng | Mức độ yêu cầu | Chi tiết |
|---|---|---|
| Java Core | ⭐⭐⭐⭐⭐ | OOP, multi-threading, Collections Framework, Exception Handling, Generics, Stream API |
| Spring Ecosystem | ⭐⭐⭐⭐⭐ | Spring Boot 2.x/3.x, Spring Core, Spring MVC, Spring Data, Spring Security |
| Design Patterns | ⭐⭐⭐⭐ | SOLID principles, Factory, Singleton, Strategy, Repository (cần hiểu sâu, không chỉ lý thuyết) |
| API Development | ⭐⭐⭐⭐ | RESTful API design, OpenAPI/Swagger, SOAP integration (XML, WSDL) |
| Database | ⭐⭐⭐⭐ | MySQL, PostgreSQL (schema design, query optimization, indexing, transaction) |
| Caching | ⭐⭐⭐ | Redis (cơ bản đến nâng cao: pub/sub, cluster) |
| Testing | ⭐⭐⭐⭐ | JUnit 5, Mockito, Testcontainers, Integration Testing |
| Architecture | ⭐⭐⭐⭐ | Microservices, SOA, Event-driven (Kafka) |
| Methodology | ⭐⭐⭐ | Agile/Scrum, full SDLC, Git workflow |
---
🌟 Hard Skills (Ưu tiên - Plus điểm)
| Kỹ năng | Giá trị |
|---|---|
| CI/CD | Jenkins, GitLab CI, GitHub Actions |
| Containerization | Docker, Kubernetes (rất hot trong ngân hàng số) |
| Elasticsearch | Full-text search, log analysis |
| Backbase | Nền tảng Digital Banking phổ biến tại VN |
| Corezoid | Low-code process engine (OCB đang sử dụng) |
---
💡 Soft Skills cần thiết
- Tư duy phân tích & giải quyết vấn đề — đặc thù ngân hàng yêu cầu xử lý logic nghiệp vụ phức tạp
- Làm việc nhóm & giao tiếp — phối hợp với BA, QA, Frontend, DevOps
- Tiếng Anh đọc hiểu tài liệu — tối thiểu đọc được docs kỹ thuật
- Trách nhiệm & chú trọng bảo mật — dữ liệu tài chính rất nhạy cảm
- Khả năng chịu áp lực — deadline dự án ngân hàng thường rất gắt
---
📜 Chứng chỉ gợi ý (nếu muốn tăng lợi thế)
- Oracle Certified Professional: Java SE 11/17 Developer — chứng minh nền tảng Java vững
- Spring Professional Certification (VMware) — với Spring Boot 3
- AWS/GCP/Azure Cloud Certification (Solutions Architect Associate)
- CKAD (Certified Kubernetes Application Developer) — nếu làm K8s
- Certified Scrum Developer — nếu theo Agile
---
📊 So sánh mức độ phù hợp theo cấp bậc
| Cấp bậc | Yêu cầu tối thiểu | Yêu cầu mong đợi |
|---|---|---|
| Middle (3-4 năm) | Đáp ứng hết hard skills bắt buộc, 1-2 preferred skills | Có kinh nghiệm tham gia 1-2 dự án microservices |
| Senior (5+ năm) | Tất cả bắt buộc + phần lớn preferred | Có khả năng thiết kế hệ thống, mentor junior, review code |
| Tech Lead (7+ năm) | Toàn bộ + kinh nghiệm quản lý | Architecture design, stakeholder communication |
---
🏦 Điểm đặc biệt của OCB
OCB đang đẩy mạnh chuyển đổi số với chiến lược ngân hàng số, sử dụng Backbase (nền tảng digital banking) và Corezoid (process orchestration). Nếu bạn có kinh nghiệm với 1 trong 2 platform này thì cơ hội được đề bạt và offer lương sẽ cao hơn đáng kể.
Chuẩn bị phỏng vấn
Hướng dẫn phỏng vấn Backend Developer tại OCB
📋 Quy trình tuyển dụng dự kiến (4-5 vòng)
> Lưu ý: Quy trình có thể thay đổi tùy thời điểm, nhưng dựa trên kinh nghiệm phỏng vấn tại các ngân hàng, thường sẽ theo flow sau:
Vòng 1: HR Screening (30-45 phút)
- Giới thiệu bản thân, kinh nghiệm
- Lý do nghỉ việc / ứng tuyển OCB
- Mức lương mong muốn (current + expected)
- Thời gian có thể onboard
- Có thể có 1-2 câu technical nhẹ (Java basic, OOP)
Vòng 2: Technical Test (Online/Written)
- Bài test trắc nghiệm Java Core + Spring Boot (45-60 phút)
- Có thể có bài coding test trên HackerRank/CodeSignal
- Câu hỏi SQL (query, optimization)
- Câu hỏi tình huống về design patterns
Vòng 3: Technical Interview sâu (60-90 phút) ⭐ Vòng quan trọng nhất
- Phỏng vấn với Tech Lead / Senior Developer
- Sâu về Java Core, Spring Boot, Microservices
- Live coding hoặc system design
- Đào sâu vào dự án đã làm trong CV
Vòng 4: Manager Interview (45-60 phút)
- Phỏng vấn với IT Manager / Head of Department
- Đánh giá cultural fit, motivation
- Thảo luận về lộ trình phát triển
- Có thể có câu hỏi tình huống (situational)
Vòng 5 (optional): Final Round / Offer
- Phỏng vấn với Director hoặc HR Director
- Thương lượng lương, phúc lợi
- Ký offer / NDA
---
❓ Câu hỏi hay gặp theo từng vòng
Vòng HR — Câu hỏi thường gặp:
1. "Giới thiệu ngắn gọn về bản thân và kinh nghiệm Java của bạn?"
2. "Tại sao bạn muốn rời công ty hiện tại?"
3. "Tại sao bạn chọn OCB mà không phải ngân hàng khác?"
4. "Mức lương hiện tại và mong muốn của bạn?"
5. "Khi nào bạn có thể bắt đầu?"
Vòng Technical — Java Core (rất hay hỏi):
1. "Phân biệt ArrayList và LinkedList? Khi nào dùng cái nào?"
2. "HashMap hoạt động như thế nào? Tại sao nên dùng initial capacity?"
3. "Synchronized vs ReentrantLock vs ConcurrentHashMap?"
4. "Volatile keyword có tác dụng gì?"
5. "Giải thích về Java Memory Model, Heap vs Stack?"
6. "Sự khác nhau giữa Checked và Unchecked Exception?"
7. "== vs equals() trong Java?"
8. "String Pool là gì?"
Vòng Technical — Spring Boot:
1. "Vòng đời của Spring Bean như thế nào?"
2. "@Autowired, @Resource, @Inject khác nhau thế nào?"
3. "Spring Boot auto-configuration hoạt động ra sao?"
4. "@Transactional hoạt động như thế nào? Các propagation?"
5. "Spring AOP vs AspectJ?"
6. "Cách handle exception toàn cục trong Spring Boot?"
7. "Filter vs Interceptor vs AOP?"
Vòng Technical — Microservices & System Design:
1. "Làm sao để giao tiếp giữa các microservices?"
2. "Saga pattern là gì? Bạn đã dùng chưa?"
3. "Circuit Breaker pattern giải quyết vấn đề gì?"
4. "Eventual consistency vs Strong consistency?"
5. "Kafka vs RabbitMQ, khi nào dùng cái nào?"
6. "Thiết kế API cho hệ thống chuyển tiền?"
Vòng Technical — Database:
1. "Index là gì? B-Tree vs Hash index?"
2. "ACID là gì? Giải thích từng tính chất?"
3. "Cách tối ưu slow query?"
4. "Normalization vs Denormalization?"
5. "Redis dùng cho use case nào?"
---
💡 Tips chuẩn bị quan trọng
1. Chuẩn bị Portfolio/Code Sample
- Chuẩn bị 2-3 dự án Java/Spring Boot showcase trên GitHub
- Sẵn sàng walk-through kiến trúc, lý do chọn tech stack
- Nếu có dự án banking/fintech → đây là điểm cộng cực lớn
2. Ôn lại CV chi tiết
- Biết rõ từng dự án, vai trò, tech stack, số lượng user, team size
- Chuẩn bị câu trả lời theo format STAR (Situation - Task - Action - Result)
- Nêu được các con số: "Tăng performance 30%", "Giảm downtime 50%"
3. Tìm hiểu về OCB
- OCB đang triển khai Backbase cho digital banking
- OCB dùng Corezoid cho process orchestration
- Chiến lược chuyển đổi số của OCB (xem trên website, báo chí)
4. Live Coding Tips
- Nghĩ thành tiếng trước khi code
- Bắt đầu với approach đơn giản, sau đó optimize
- Viết code clean, đặt tên biến rõ ràng
- Test với edge cases
5. Câu hỏi nên hỏi ngược nhà tuyển dụng
- "Team hiện tại có bao nhiêu người? Cấu trúc team như thế nào?"
- "Tech stack hiện tại của team là gì?"
- "Dự án lớn nhất team đang làm là gì?"
- "Quy trình code review và CI/CD như thế nào?"
- "Cơ hội học hỏi Backbase/Corezoid được không?"
- "Lộ trình thăng tiến cho vị trí này?"
---
👔 Dress Code
| Vòng | Trang phục |
|---|---|
| Vòng HR | Smart casual hoặc Business casual |
| Vòng Technical | Smart casual (đa số IT ngân hàng khá thoải mái) |
| Vòng Manager/Final | Business formal (sơ mi, quần tây) |
> Tip: OCB là ngân hàng nên dress code có phần formal hơn các công ty product thuần túy. Tốt nhất nên ăn mặc lịch sự nhưng không cần vest.
Lộ trình ôn thi
Lộ trình ôn thi & chuẩn bị trong 1-2 tuần
📚 Kiến thức nền tảng cần ôn (theo thứ tự ưu tiên)
🔴 Quan trọng nhất — Java Core (Ngày 1-3)
| Chủ đề | Tài liệu | Ghi chú |
|---|---|---|
| OOP Principles | Head First Design Pattern, Effective Java | Hiểu sâu 4 tính chất + SOLID |
| Collections | Java docs + Baeldung | ArrayList, HashMap, TreeSet, ConcurrentHashMap |
| Multi-threading | "Java Concurrency in Practice" (bible) | Thread pool, ExecutorService, Future, CompletableFuture |
| Exception Handling | Baeldung, Java docs | try-with-resources, custom exception |
| Java 8+ Features | Modern Java in Action | Lambda, Stream API, Optional, Method Reference |
| JVM Basics | Baeldung, Pluralsight | Memory model, Garbage Collection, ClassLoader |
| Generics & Enum | Java docs | Upper/lower bound, bounded wildcards |
🟠 Quan trọng — Spring Ecosystem (Ngày 4-6)
| Chủ đề | Tài liệu | Ghi chú |
|---|---|---|
| Spring Core (IoC, DI) | Spring docs | Bean lifecycle, scopes, profiles |
| Spring Boot | Spring Boot reference | Auto-config, starter, actuator |
| Spring Data JPA | Baeldung, Spring docs | Entity, Repository, Query methods, N+1 problem |
| Spring Security | Spring Security docs | JWT, OAuth2, method-level security |
| Spring REST | Baeldung | REST best practices, error handling, validation |
| Testing | Spring Testing docs | @SpringBootTest, @MockBean, Testcontainers |
🟡 Nên biết — Microservices & Architecture (Ngày 7-9)
| Chủ đề | Tài liệu | Ghi chú |
|---|---|---|
| Microservices Patterns | "Microservices Patterns" - Chris Richardson | Saga, CQRS, API Gateway, Service Discovery |
| Event-driven (Kafka) | Kafka docs, Confluent tutorials | Producer/Consumer, partition, offset |
| REST vs SOAP | Baeldung | Khi nào dùng, protocol details |
| Design Patterns | Refactoring.guru | SOLID, Factory, Singleton, Strategy, Repository |
| API Design | REST API tutorial | Versioning, pagination, error format |
🟢 Bổ sung — Database & DevOps (Ngày 10-11)
| Chủ đề | Tài liệu | Ghi chú |
|---|---|---|
| MySQL/PostgreSQL | Use The Index, Luke | Index, query optimization, EXPLAIN |
| Redis | Redis docs | Data types, persistence, pub/sub |
| Elasticsearch | Elasticsearch docs (basic) | Index, query DSL |
| Docker/K8s | Docker docs, K8s docs | Dockerfile, compose, deployment yaml |
| CI/CD | Jenkins/GitLab docs | Pipeline syntax, best practices |
---
📅 Lộ trình chi tiết 14 ngày
Week 1: Nền tảng
```
Thứ 2-3 (4h/ngày): Java Core
- Sáng: Đọc lý thuyết + làm ví dụ
- Chiều: Code challenge trên LeetCode/HackerRank (mức Medium)
Thứ 4-5 (4h/ngày): Spring Boot
- Xây dựng 1 mini project CRUD + REST API
- Thêm Spring Data JPA, validation, exception handling
Thứ 6-7 (4h/ngày): Microservices + Kafka
- Đọc lý thuyết
- Thử code 1 microservice đơn giản với Kafka
```
Week 2: Nâng cao & Mock Interview
```
Thứ 2-3 (4h/ngày): Database + Caching
- SQL practice trên LeetCode/SQLZoo
- Thử tối ưu query chậm
- Đọc về Redis patterns
Thứ 4-5 (4h/ngày): System Design + Design Patterns
- Đọc lại các pattern
- Luyện thiết kế hệ thống (banking, e-commerce)
Thứ 6 (3h): Mock interview
- Nhờ bạn bè hoặc dùng Pramp/InterviewBit
- Ghi hình để xem lại
CN: Nghỉ ngơi + review tổng
```
---
📖 Tài liệu tham khảo chất lượng cao
Sách (nên đọc):
- 📘 Effective Java — Joshua Bloch (Bible về Java)
- 📘 Java Concurrency in Practice — Brian Goetz
- 📘 Spring in Action — Craig Walls
- 📘 Microservices Patterns — Chris Richardson
- 📘 Clean Code — Robert C. Martin
- 📘 Designing Data-Intensive Applications — Martin Kleppmann (advanced)
Website/Tutorial miễn phí:
- 🌐 [Baeldung.com](https://www.baeldung.com) — Best for Spring
- 🌐 [Refactoring.guru](https://refactoring.guru) — Design Patterns
- 🌐 [Spring.io guides](https://spring.io/guides) — Official Spring
- 🌐 [Use The Index, Luke](https://use-the-index-luke.com) — SQL indexing
- 🌐 [LeetCode.com](https://leetcode.com) — Coding practice
Video/Course:
- 🎥 Udemy: Spring Boot 3 & Spring Framework 6 - Chad Darby
- 🎥 Udemy: Java Multithreading - John Purcell
- 🎥 Coursera: Java Programming and Software Engineering
- 🎥 YouTube: Java Brains (channel rất hay)
- 🎥 YouTube: Daily Code Buffer (Microservices)
---
🎯 Bài tập thực hành nên làm
1. Build 1 REST API hoàn chỉnh (CRUD + Auth + Pagination + Validation)
2. Viết unit test + integration test với JUnit + Mockito
3. Setup 2 microservices giao tiếp qua Kafka
4. Optimize 1 slow query có sẵn (dùng EXPLAIN, thêm index)
5. Code 1 design pattern thực tế (ví dụ: Strategy cho payment method)
6. Đọc hiểu 1 tài liệu tiếng Anh kỹ thuật (Spring docs chẳng hạn)
---
✅ Checklist trước ngày phỏng vấn
- [ ] Ôn xong Java Core + Design Patterns
- [ ] Ôn xong Spring Boot + Microservices
- [ ] Đã làm 1-2 dự án demo trên GitHub
- [ ] Chuẩn bị STAR answers cho 3-4 dự án chính
- [ ] Tìm hiểu về OCB, Backbase, Corezoid
- [ ] Mock interview ít nhất 1 lần
- [ ] Chuẩn bị 5 câu hỏi để hỏi ngược
- [ ] In CV ra, chuẩn bị trang phục
Tư vấn nghề nghiệp
Lời khuyên sự nghiệp cho Backend Developer ngân hàng
🚀 Lộ trình thăng tiến tại ngân hàng
```
┌─────────────────────────────────────────────────────────┐
│ Fresher/Junior (0-2 năm) │
│ - Học Java Core, Spring Boot basics │
│ - Code theo task được giao │
│ - Làm quen với quy trình ngân hàng │
│ 💰 Lương: 12-20 triệu │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Middle (3-5 năm) ← VỊ TRÍ ĐANG TUYỂN │
│ - Làm chủ được 1-2 microservices │
│ - Được giao task phức tạp độc lập │
│ - Review code cho junior │
│ 💰 Lương: 25-45 triệu │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Senior (5-8 năm) │
│ - Thiết kế kiến trúc hệ thống │
│ - Lead team 3-5 người │
│ - Mentor, training cho team │
│ 💰 Lương: 40-70 triệu │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Tech Lead / Architect (8+ năm) │
│ - Kiến trúc sư toàn hệ thống │
│ - Đưa ra tech strategy │
│ - Quản lý 1 squad (5-10 người) │
│ 💰 Lương: 60-120 triệu │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Engineering Manager / Director │
│ - Quản lý nhiều team │
│ - Lộ trình kỹ thuật & sản phẩm │
│ - Stakeholder management │
│ 💰 Lương: 100-200 triệu+ │
└─────────────────────────────────────────────────────────┘
```
---
💰 Mức lương kỳ vọng theo cấp bậc (tham khảo OCB & ngân hàng tương đương)
| Cấp bậc | Kinh nghiệm | Mức lương OCB (ước tính) | Ghi chú |
|---|---|---|---|
| Middle | 3-4 năm | 28-45 triệu | Có thể thương lượng tùy năng lực |
| Senior | 5-7 năm | 45-70 triệu | + có thể có bonus dự án |
| Tech Lead | 7-10 năm | 70-100 triệu | + stock/ESOP (nếu có) |
| Architect | 10+ năm | 90-150 triệu | Theo thương lượng cá nhân |
> Lưu ý: Mức lương có thể dao động tùy theo:
> - Tech stack đặc biệt (Backbase, Corezoid +20-30%)
> - Kinh nghiệm làm ngân hàng trước đó
> - Khả năng đàm phán
> - Thời điểm tuyển dụng (cuối năm thường offer cao hơn)
---
🎁 Phúc lợi thường có tại OCB & ngân hàng
- ✅ Lương tháng 13, tháng 14 (Tết, lễ)
- ✅ Thưởng KPIs cá nhân + team
- ✅ BHXH, BHYT, BHTN đầy đủ
- ✅ Khám sức khỏe định kỳ
- ✅ Training budget (khóa học, chứng chỉ)
- ✅ Canteen hoặc meal allowance
- ✅ Đào tạo nội bộ (Backbase, Corezoid)
- ⚠️ Có thể có yêu cầu bảo mật cao (NDA, không làm ngoài)
- ⚠️ Giờ làm hành chính 8h-17h, ít OT
- ⚠️ Một số ngân hàng yêu cầu vest/sơ mi hàng ngày
---
📈 Kỹ năng cần phát triển thêm để thăng tiến
Nếu muốn lên Senior (5+ năm):
- 🎯 System Design — thiết kế hệ thống lớn (bắt buộc)
- 🎯 Domain Knowledge Banking — hiểu nghiệp vụ ngân hàng sâu
- 🎯 Cloud (AWS/GCP/Azure) — chứng chỉ là lợi thế
- 🎯 Mentoring skills — review code, training junior
- 🎯 Communication — thuyết trình, viết tech doc
Nếu muốn lên Tech Lead/Architect:
- 🎯 Architecture Patterns — Event Sourcing, CQRS, Saga
- 🎯 Observability — Prometheus, Grafana, ELK Stack
- 🎯 Security — OWASP, PCI-DSS (chuẩn bảo mật ngân hàng)
- 🎯 Leadership & People management
- 🎯 Project management — Agile, Scrum Master
Nếu muốn chuyển hướng sang Fintech/Product:
- 🎯 Reactive Programming — WebFlux, R2DBC
- 🎯 Performance tuning — JVM tuning, profiling
- 🎯 Domain-Driven Design (DDD)
- 🎯 GraphQL — đang nổi
- 🎯 AI/ML basics — xu hướng tương lai
---
🎓 Lời khuyên thực tế cho ứng viên
1. Tại sao nên chọn ngân hàng thay vì công ty product?
- ✅ Ổn định — ít bị sa thải hơn startup
- ✅ Học được nghiệp vụ tài chính — kỹ năng đặc biệt khó thay thế
- ✅ Hệ thống lớn — làm việc với high-traffic, dữ liệu lớn
- ✅ Phúc lợi tốt — BHXH đầy đủ, lương ổn định
- ⚠️ Có thể nhàm chán — nhiều legacy system
- ⚠️ Tốc độ chậm hơn — quy trình phức tạp
2. Tại sao OCB là lựa chọn tốt?
- OCB là ngân hàng tầm trung, đang tăng trưởng mạnh về số lượng khách hàng số
- Chiến lược chuyển đổi số rõ ràng — dùng Backbase, Corezoid
- Văn hóa được đánh giá thoáng hơn so với big 4 ngân hàng (VCB, TCB, MB, CTG)
- Cơ hội được đào tạo platform quốc tế (Backbase)
- Phù hợp với người muốn vừa ổn định vừa học tech mới
3. Chiến lược deal lương hiệu quả
- 🎯 Đừng nói mức lương cụ thể đầu tiên — để HR hỏi trước
- 🎯 Nghiên cứu lương market qua ITviec, VietnamWorks, Levels.fyi
- 🎯 Đưa ra range thay vì 1 con số: "Em mong muốn 35-45 triệu tùy package"
- 🎯 Nêu các yếu tố tăng giá trị: Backbase exp, Corezoid exp, banking domain
- 🎯 Cân nhắc tổng package: lương + bonus + phúc lợi + cơ hội học
4. Đừng quên những điều cần hỏi rõ trước khi nhận offer
- ❓ Quy trình review code và pair programming
- ❓ Có được dùng Macbook cao cấp hay máy ngân hàng cấu hình thấp
- ❓ Có được học platform mới (Backbase, Corezoid) không
- ❓ Chính sách làm thêm ngoài giờ
- ❓ Cơ hội thăng tiến và đánh giá KPI
- ❓ Có bị ràng buộc không làm việc bên ngoài (NDA)
Câu hỏi thường gặp
Em mới ra trường, chưa có 3 năm kinh nghiệm thì có nên ứng tuyển vị trí Middle tại OCB không?
Câu trả lời ngắn: Có thể thử, nhưng tỷ lệ đậu thấp. Vị trí này yêu cầu 3+ năm kinh nghiệm thực chiến, đặc biệt với Spring Boot và Microservices. Nếu em mới ra trường, em nên: (1) Apply các vị trí Junior/Fresher tại OCB hoặc các ngân hàng khác, (2) Tích lũy 2-3 năm kinh nghiệm với các dự án thực tế trước, (3) Trong thời gian đó build portfolio mạnh (GitHub, freelance, open-source). Tuy nhiên, nếu em đã có kinh nghiệm intern 6-12 tháng + làm freelance + tham gia các dự án cá nhân chất lượng cao, em vẫn có cơ hội được HR xét duyệt CV. Bí quyết: Hãy apply đi, biết đâu may mắn! Đợi đến khi đủ 3 năm mới apply thì có thể bạn đã bỏ lỡ nhiều cơ hội.
Lương Middle Backend Java tại OCB khoảng bao nhiêu? Em đang deal với HR.
Theo kinh nghiệm thị trường hiện tại (2024-2026), mức lương cho Middle Backend Java (3-5 năm) tại các ngân hàng tầm trung như OCB dao động 28-45 triệu VND gross. Cụ thể: Middle mới (3 năm) khoảng 28-35 triệu, Middle cao (4-5 năm) khoảng 35-45 triệu. Nếu em có thêm kinh nghiệm về Backbase, Corezoid, hoặc domain banking, em có thể deal cao hơn 20-30% (khoảng 40-55 triệu). Lưu ý: lương net OCB thường là gross, chưa bao gồm thưởng Tết, thưởng KPIs. Tips khi deal: (1) Đừng nói mức cụ thể trước, (2) Đưa ra range '35-42 triệu tùy package', (3) Đề cập đến giá trị mang lại (kinh nghiệm Backbase, banking domain), (4) Hỏi thêm về lương tháng 13, thưởng KPIs, training budget để tính tổng package.
Em đang làm Backend Java ở công ty product, muốn chuyển sang ngân hàng. Có khó không? Cần chuẩn bị gì?
Chuyển từ product sang ngân hàng khá phổ biến và hoàn toàn khả thi. Nhiều dev ở Tiki, Shopee, VinID, MoMo cũng chuyển sang ngân hàng sau 2-3 năm. Thuận lợi: Skill Java/Spring Boot là giống nhau, kiến thức microservices dùng được. Khó khăn cần vượt qua: (1) Domain knowledge ngân hàng — bạn cần học về payment, core banking, KYC, AML, transaction processing; (2) Tốc độ chậm hơn — ngân hàng nhiều quy trình compliance; (3) Legacy code — có thể gặp hệ thống cũ. Chuẩn bị: (1) Đọc về core banking, payment systems, ISO 8583; (2) Học về PCI-DSS, bảo mật tài chính; (3) Ôn lại Java Core, Spring Boot thật vững; (4) Trong CV, nhấn mạnh các dự án có high-traffic, xử lý data lớn, transaction; (5) Khi phỏng vấn, thể hiện sự sẵn sàng học domain mới. Với vị trí OCB, nếu bạn có thêm kinh nghiệm với Kafka, Redis, MySQL/PostgreSQL thì cơ hội rất cao.
OCB là ngân hàng tầm trung, có nên vào làm không? Hay nên cố vào big 4 (VCB, TCB, MB, CTG)?
Câu hỏi rất hay! Cả hai lựa chọn đều có ưu/nhược riêng, tùy vào mục tiêu của bạn:
OCB:
- ✅ Văn hóa thoáng hơn, ít chính trị nội bộ
- ✅ Được đào tạo platform mới (Backbase, Corezoid)
- ✅ Dễ thăng tiến hơn vì quy mô vừa phải
- ✅ Làm việc với nhiều dự án mới, ít legacy
- ⚠️ Thương hiệu không mạnh bằng big 4
- ⚠️ Lương có thể thấp hơn 10-20%
Big 4 (VCB, TCB, MB, CTG):
- ✅ Thương hiệu cực mạnh trên CV
- ✅ Lương + đãi ngộ thường tốt hơn
- ✅ Quy trình chuyên nghiệp, training bài bản
- ⚠️ Văn hóa rigid hơn, nhiều legacy
- ⚠️ Cạnh tranh thăng tiến cao
- ⚠️ Có thể bị 'over-specialize' vào banking
Lời khuyên: Nếu bạn đang ở giai đoạn 3-7 năm kinh nghiệm, OCB là lựa chọn rất tốt để build nền tảng, học platform mới, và có cơ hội thăng tiến nhanh. Sau 4-5 năm ở OCB, bạn có thể nhảy sang big 4 với mức lương tăng 30-50%. Đừng quá fix vào thương hiệu, hãy focus vào tech stack, cơ hội học hỏi, và con người.
Backbase và Corezoid là gì? Có cần học trước khi phỏng vấn OCB không?
Backbase là nền tảng Digital Banking Platform của Hà Lan, được rất nhiều ngân hàng lớn trên thế giới sử dụng để xây dựng app/website ngân hàng số. Backbase cung cấp các widget, component, template sẵn có để customize UI/UX digital banking.
Corezoid là nền tảng low-code process orchestration của Middleware (công ty Ukraine, hiện có văn phòng tại VN), được OCB và nhiều ngân hàng Đông Nam Á sử dụng để tự động hóa quy trình nghiệp vụ (onboarding khách hàng, approval workflow, v.v.).
Có cần học trước không?
- Với vị trí Middle: Chưa cần thiết phải thành thạo, nhưng nên hiểu cơ bản
- Với vị trí Senior: Nên có kinh nghiệm thực tế 1-2 năm
Cách chuẩn bị nhanh:
1. Đọc docs chính thức: [backbase.com](https://www.backbase.com) và [corezoid.com](https://corezoid.com)
2. Xem YouTube tutorials (tìm 'Backbase digital banking tutorial')
3. Trong phỏng vấn, nếu chưa biết, hãy nói: 'Em chưa có cơ hội làm việc với Backbase/Corezoid, nhưng em hiểu đây là digital banking platform và em rất mong muốn được học. Với nền tảng Spring Boot của em, em tin mình có thể onboard nhanh.' — Đây là câu trả lời rất chuyên nghiệp.
Em sắp phỏng vấn vòng technical cho vị trí này. Câu hỏi nào hay gặp nhất mà em cần ôn kỹ?
Dựa trên JD và kinh nghiệm phỏng vấn thực tế, top 5 chủ đề hay gặp nhất:
1. Java Core & Collections (60% xác suất hỏi)
- HashMap hoạt động như thế nào? Tại sao capacity phải là power of 2?
- ConcurrentHashMap vs Hashtable vs SynchronizedMap
- ArrayList vs LinkedList vs CopyOnWriteArrayList
- equals() và hashCode() contract
- volatile vs synchronized
2. Spring Boot (60% xác suất)
- @Transactional rollback rules (checked vs unchecked exception)
- Bean lifecycle, Bean scopes
- @Autowired byType vs byName
- Spring Security filter chain
- Cách handle exception toàn cục (@ControllerAdvice)
3. Microservices (40% xác suất)
- Circuit Breaker (Resilience4j, Hystrix)
- Saga pattern (Orchestration vs Choreography)
- Event-driven với Kafka
- Service Discovery, API Gateway
- Distributed tracing
4. Database (50% xác suất)
- Index, EXPLAIN, slow query optimization
- ACID, isolation levels
- N+1 query problem (JPA)
- Connection pool (HikariCP)
5. System Design (40% xác suất với Senior)
- Thiết kế hệ thống payment
- Thiết kế hệ thống notification
- Caching strategy
Tip: Trong 1-2 ngày trước phỏng vấn, hãy ôn kỹ các câu hỏi về Java Core + Spring Boot, vì đây là phần chiếm tỷ trọng lớn nhất.
Làm Backend ở ngân hàng có nhàm không? Công việc hàng ngày như thế nào?
Câu trả lời thật lòng:
Có nhàm không? Tùy dự án và ngân hàng. Nhìn chung:
- Nhàm chán hơn product: Nhiều quy trình compliance, ít được đưa ra quyết định công nghệ
- Nhưng ổn định hơn: Ít bị thay đổi requirement liên tục
- Tuy nhiên với OCB, đang trong giai đoạn chuyển đổi số mạnh nên có nhiều dự án mới thú vị
Công việc hàng ngày (1 ngày của Middle Backend tại ngân hàng):
- 8:30-9:00: Daily standup với team (Scrum)
- 9:00-12:00: Code feature mới (REST API, microservice) hoặc fix bug
- 12:00-13:30: Ăn trưa, nghỉ ngơi
- 13:30-15:00: Code review cho đồng nghiệp, test feature
- 15:00-16:30: Họp với BA/PM về requirement, hoặc meeting với team
- 16:30-17:30: Deploy, viết tài liệu, update ticket
Điểm đặc biệt ở ngân hàng:
- Có thể có on-call rotation (1 tuần/tháng)
- Nhiều gate review trước khi deploy lên production
- Phải làm việc với đội vận hành (operation team) nhiều
- Ít khi được 'hack' nhanh, vì tất cả phải qua compliance
- Tuy nhiên, học được nghiệp vụ tài chính rất giá trị
Nếu bạn thích môi trường ổn định, học domain mới, và không thích áp lực deadline dồn dập thì ngân hàng là lựa chọn tốt.
Sau khi làm ở OCB 2-3 năm, em có thể nhảy sang các ngân hàng lớn hơn không? Hay sẽ bị 'kẹt' vì thương hiệu yếu?
Tin tốt: Hoàn toàn có thể nhảy sang, và thực tế nhiều người làm được điều này. Trong ngành IT banking, kỹ năng quan trọng hơn thương hiệu vì:
Lý do OCB là bàn đạp tốt:
- Nếu có kinh nghiệm với Backbase, Corezoid → đây là skill rất hiếm, được săn đón bởi TCB, MB, Techcombank, VPBank
- Domain banking đã được học sâu → tài sản lớn khi nhảy việc
- Nếu bạn làm được dự án core tại OCB → có case study rất tốt
Thực tế nhảy việc từ ngân hàng tầm trung → lớn:
- Middle OCB (3 năm) → Senior TCB/MB/VPBank (lương tăng 30-50%)
- Senior OCB (5 năm) → Tech Lead các ngân hàng lớn (lương tăng 40-60%)
Tuy nhiên, để nhảy tốt, bạn cần:
1. Đảm bảo dự án nổi bật: Tham gia các dự án digital banking lớn của OCB
2. Build personal brand: Viết blog, đóng góp open-source, tham gia cộng đồng Java Việt Nam
3. Network: Tham gia các meetup, conference (VietConf, Vietnam Web Summit)
4. Giữ liên lạc với các headhunter chuyên về IT banking
Lưu ý: Không bao giờ bị 'kẹt' nếu bạn liên tục nâng cấp kỹ năng. Trong IT, người giỏi luôn có cơ hội.