VPBank
Java Developer (Spring Boot, Microservices) - Hà Nội - TA150
Hà Nội
Khối Công nghệ thông tin
CMNV
Mô tả công việc
Các trách nhiệm chính 1
• Chịu trách nhiệm đảm bảo việc thành công trong hoạt động, công việc cụ thể với các chức năng, trách nhiệm mà cấp Quản lý trực tiếp giao phó/kỳ vọng.
• Hướng dẫn đồng nghiệp trong đơn vị và ngoài đơn vị về cách thức sử dụng phương pháp Agile để thực thi công việc.
• Định kỳ báo cáo và cập nhật tình hình các công việc được giao
• Nghiên cứu, đánh giá công nghệ mới. Đóng góp ý tưởng, giải pháp không chỉ về mặt công nghệ còn khuyến khích về mặt sản phẩm.
Kiến thức/ Chuyên môn yêu cầu
• Thành thạo, hiểu biết sâu rộng về OOP & Java Core.
• Hiểu rõ về design pattern và cách implements trong thực tế
• Có kinh nghiệm xây dựng ứng dụng hoàn chỉnh backend cho webapp và mobileapp
• Hiểu rõ và có kinh nghiệm sử dụng spring boot, spring security, spring data.
• Sử dụng thành thạo cơ sở dữ liệu quan hệ ,hiểu rõ ORM và implements JPA/Hibernate
• Tối ưu hóa query, hiểu biết về index, thiết kế csdl theo chuẩn 3rd
• Có kinh nghiệm về Microservices, domain driven design, cqrs, event sourcing
• Có kinh nghiệm về event driven trong microservices, event queue, caching bằng Kafka & Redis
• Có kinh nghiệm về logging, monitoring bằng ELK, Prometheus, Grafana
• Có kinh nghiệm về deploy trên K8s, aws cloud là 1 lợi thế.
• Có kiến thức cơ bản về hệ thống, Network, OS (Window, Linux ..)
• Sử dụng thành thạo các IDE phát triển.
• Sử dụng thành thạo các tool quản lý source code, quản lý công việc.
• Tiếng anh đọc hiểu tài liệu tiếng anh chuyên ngành tốt, giao tiếp tốt là một lợi thế.
• Kiến thức triển khai dự án với các phương pháp khác nhau như agile, water-fall, Kanban…
Kỹ năng cần có
• Làm việc độc lập/theo nhóm. Có kĩ năng giao tiếp làm việc trong nhóm, các bộ phận liên quan.
• Lập kế hoạch, thực thi, quản lý công việc được giao
• Có khả năng tổng hợp phân tích đánh giá vấn đề/yêu cầu.
• Chịu được áp lực công việc.
• Tính chủ động và thái độ tiếp nhận công việc qua tinh thần Agile.
Các kinh nghiệm khác
• Xây dựng được một ứng dụng app bacnend hoàn chỉnh, module hóa các nhóm tính năng mang tính trìu tượng cao.
• Kinh nghiệm làm về các ứng dụng/hệ thống tài chính ngân hàng.
Yêu cầu ứng viên
Trình độ đào tạo
Đại học in Công nghệ thông tin or Khoa học máy tính
Phân tích kỹ năng cần có
## Phân tích Kỹ năng yêu cầu
### 🔧 Hard Skills (Kỹ năng kỹ thuật)
| Cấp độ | Kỹ năng | Mức độ yêu cầu | Ghi chú |
|--------|---------|-----------------|---------|
| Bắt buộc | Java Core, OOP | Cao | Nền tảng bắt buộc phải vững |
| Bắt buộc | Spring Boot, Spring Security, Spring Data | Cao | Core framework của vị trí này |
| Bắt buộc | JPA/Hibernate, SQL | Cao | Xử lý database là daily task |
| Bắt buộc | Microservices Architecture | Cao | Hệ thống VPBank scale lớn |
| Bắt buộc | Design Patterns | Trung bình-cao | Áp dụng thực tế, không chỉ lý thuyết |
| Ưu tiên | Kafka, Redis | Cao | Event-driven và caching cực kỳ quan trọng |
| Ưu tiên | Kubernetes, Docker | Trung bình | DevOps skill ngày càng cần thiết |
| Ưu tiên | AWS Cloud | Cộng thêm | Cloud experience là điểm cộng lớn |
| Ưu tiên | ELK, Prometheus, Grafana | Trung bình | Monitoring/Observability |
| Cộng thêm | CQRS, Event Sourcing, DDD | Cao | Advanced patterns cho hệ thống phức tạp |
### 💡 Soft Skills
- **Làm việc nhóm**: Đặc biệt nhấn mạnh khả năng hướng dẫn đồng nghiệp (coaching)
- **Giao tiếp**: Vì phải làm việc với nhiều bộ phận liên quan
- **Quản lý công việc**: Lập kế hoạch, thực thi, báo cáo định kỳ
- **Chịu áp lực**: Tính chất ngành ngân hàng đòi hỏi khả năng này
- **Tinh thần Agile**: Không chỉ hiểu mà phải sống theo Agile mindset
### 📜 Chứng chỉ gợi ý
1. **AWS Certified Developer** - Associate level trở lên
2. **Certified Kubernetes Administrator (CKA)**
3. **Oracle Certified Professional Java SE Programmer (OCPJP)**
4. **Scrum Master Certification** (nếu muốn phát triển hướng quản lý)
---
## ⚖️ So sánh: Fresher vs Mid vs Senior
| Tiêu chí | Fresher (0-1 năm) | Mid (2-4 năm) | Senior (5+ năm) |
|----------|-------------------|---------------|------------------|
| Java Core | Cần vững | Vững + thực hành tốt | Expert, có thể review code |
| Spring Boot | Basic CRUD | Xây dựng REST API hoàn chỉnh | Design system, best practices |
| Database | Basic SQL | Query optimization, indexing | Schema design, performance tuning |
| Microservices | Không yêu cầu | Có kinh nghiệm | Arch design, distributed systems |
| K8s/DevOps | Không yêu cầu | Ưu tiên | Có kinh nghiệm production |
| Lương tham khảo HN | 8-15 triệu | 20-35 triệu | 35-60+ triệu |
> **Nhận định**: JD này hướng đến ứng viên **Mid-to-Senior** (2-5 năm kinh nghiệm). Fresher có thể ứng tuyển nếu đáp ứng được phần lớn kỹ năng kỹ thuật.
Chuẩn bị phỏng vấn
## Hướng dẫn Phỏng vấn VPBank - Java Developer
### 📋 Quy trình phỏng vấn (Thông thường)
```
Vòng 1: HR Screening (30-45 phút)
↓
Vòng 2: Technical Interview - Coding Test (60-90 phút)
↓
Vòng 3: Technical Interview với Tech Lead/Manager (60 phút)
↓
Vòng 4: Final Interview với Head/VP (30-45 phút)
↓
Offer
```
**Lưu ý**: Có thể có thêm vòng English test nếu ứng viên có lợi thế giao tiếp tiếng Anh.
---
### 🎯 Câu hỏi theo từng vòng
#### Vòng 1: HR Screening
- Giới thiệu bản thân và dự án đã làm gần nhất
- Tại sao muốn chuyển việc? Tại sao VPBank?
- Kỳ vọng lương, timeline?
- Hiểu biết về VPBank và khối IT?
- Mức độ hiểu về Agile/Scrum?
#### Vòng 2: Technical - Coding Test
- **Thường gặp**:
- Reverse linked list, binary search
- Design patterns implementation (Singleton, Factory, Observer...)
- SQL query optimization
- Giải thích cách xây dựng một REST API đơn giản
- **Đặc biệt cho ngân hàng**:
- Xử lý transaction, deadlock
- Race condition và cách xử lý
- Thiết kế database cho bài toán banking đơn giản
#### Vòng 3: Technical với Tech Lead
- Deep dive vào kinh nghiệm:
- "Mô tả kiến trúc của dự án lớn nhất bạn từng tham gia"
- "Giải thích CQRS/Event Sourcing, khi nào nên dùng?"
- "Xử lý thế nào khi microservices gặp sự cố?"
- "Chiến lược caching của bạn trong hệ thống?"
- System Design:
- Design một hệ thống thanh toán đơn giản
- Thiết kế API cho mobile banking app
#### Vòng 4: Final với Manager/Head
- Câu hỏi về culture fit:
- "Bạn xử lý conflict trong team như thế nào?"
- "Kể về lần bạn mentor đồng nghiệp"
- "Điều gì thúc đẩy bạn trong công việc?"
- Câu hỏi ngược từ ứng viên:
- Quy mô team, công nghệ đang dùng
- Roadmap phát triển của khối IT
- Cơ hội học tập, đào tạo
---
### ✅ Tips chuẩn bị
1. **Ôn kỹ Java Core**: Thread, Concurrency, Exception handling, Memory management
2. **Spring Boot**: Autoconfiguration, Bean lifecycle, Transaction management, Security
3. **Microservices patterns**: SAGA, Circuit Breaker, API Gateway, Service Discovery
4. **Database**: Index strategies, Query execution plan, Partitioning
5. **Nghiên cứu VPBank**:
- Sản phẩm công nghệ đang có
- Dự án IT đang triển khai
- Văn hóa công ty
---
### 👔 Dress Code
- **Business Casual** (không cần vest cụ thể)
- Nam: Áo sơ mi, quần âu, giày da
- Nữ: Áo sơ mi/áo blouse, quần âu/chân váy công sở
- Tránh jeans, áo phông, sandals
---
### ⏰ Thời gian chuẩn bị khuyến nghị
- **Tối thiểu**: 1 tuần intensive prep
- **Lý tưởng**: 2-3 tuần với lộ trình rõ ràng
Lộ trình ôn thi
## Lộ trình Ôn tập & Chuẩn bị
### 📚 Kiến thức Nền tảng (Cần ôn kỹ)
#### 1. Java Core & OOP (3-5 ngày)
**Tài liệu:**
- "Effective Java" - Joshua Bloch (đọc các chương quan trọng)
- Java Documentation: [docs.oracle.com](https://docs.oracle.com)
**Trọng tâm:**
- [ ] OOP principles (Encapsulation, Inheritance, Polymorphism, Abstraction)
- [ ] Java Memory Model, Garbage Collection
- [ ] Concurrency & Threading (synchronized, volatile, concurrent collections)
- [ ] Exception handling best practices
- [ ] Generics, Collections framework
#### 2. Spring Ecosystem (5-7 ngày)
**Tài liệu:**
- Spring Official Documentation
- Baeldung.com (series về Spring Boot
**Trọng tâm:**
- [ ] Spring Boot: @RestController, @Service, @Repository, @Configuration
- [ ] Dependency Injection, Bean scopes, Lifecycle
- [ ] Spring Security: JWT implementation, OAuth2 basics
- [ ] Spring Data JPA: Repository patterns, @Query, Specifications
- [ ] Transaction management (@Transactional, propagation, isolation)
- [ ] RESTful API design best practices
#### 3. Database & SQL (3-5 ngày)
**Tài liệu:**
- "SQL Performance Explained" - Winand
- Use The Index, Luke (https://use-the-index-luke.com)
**Trọng tâm:**
- [ ] Database normalization (3NF)
- [ ] Index types: B-tree, Hash, Composite
- [ ] Query optimization, EXPLAIN plan
- [ ] JPA/Hibernate: N+1 problem, Lazy vs Eager loading, Caching (L1, L2)
#### 4. Microservices (5-7 ngày)
**Tài liệu:**
- "Building Microservices" - Sam Newman
- "Microservices Patterns" - Chris Richardson
**Trọng tâm:**
- [ ] Microservices vs Monolith (khi nào dùng cái nào)
- [ ] API Gateway pattern
- [ ] Service discovery, Load balancing
- [ ] Circuit Breaker (Resilience4j)
- [ ] CQRS & Event Sourcing
- [ ] Message Queue (Kafka basics)
#### 5. DevOps & Cloud (3-5 ngày)
**Tài liệu:**
- Kubernetes Documentation
- AWS Well-Architected Framework
**Trọng tâm:**
- [ ] Docker basics: Image, Container, Dockerfile, Docker Compose
- [ ] Kubernetes: Pod, Service, Deployment, ConfigMap, Ingress
- [ ] CI/CD concepts
- [ ] Monitoring basics: ELK Stack, Prometheus metrics
---
### 🗓️ Lộ trình 2 tuần (Gợi ý)
| Ngày | Chủ đề | Hoạt động |
|------|--------|-----------|
| 1-2 | Java Core | Ôn OOP, Collections, Concurrency |
| 3-4 | Spring Boot | Xây project demo REST API |
| 5-6 | Database | Ôn SQL, thực hành query optimization |
| 7-8 | Microservices | Học patterns, xây mini architecture |
| 9-10 | DevOps | Thực hành Docker, Kubernetes basics |
| 11-12 | Review & Practice | Giải bài LeetCode, coding problems |
| 13-14 | Mock Interview | Practice trả lời, research VPBank |
---
### 🔗 Tài liệu tham khảo miễn phí
1. **YouTube Channels:**
- Amigoscode (Java, Spring Boot)
- TechWorld with Nana (DevOps)
- ByteByteGo (System Design)
2. **Websites:**
- Baeldung.com
- Reflectoring.io
- Medium (tìm bài về banking systems)
3. **Practice Platforms:**
- LeetCode (Easy/Medium problems)
- HackerRank
- Exercism.io
Tư vấn nghề nghiệp
## Lời khuyên Sự nghiệp cho Java Developer ngành Banking
### 🚀 Lộ trình Thăng tiến điển hình
```
Junior Developer (0-2 năm)
↓
Mid Developer (2-4 năm) - Tech Lead nhỏ
↓
Senior Developer (4-7 năm) - Team Lead / Tech Architect
↓
Principal Engineer / IT Manager (7-10 năm)
↓
VP of Engineering / CTO
```
**Tại VPBank**, sau Senior thường có 2 hướng:
- **Technical Track**: Principal Engineer → Architect → Chief Architect
- **Management Track**: Tech Lead → IT Manager → IT Director
---
### 💰 Mức lương Tham khảo (Hà Nội, 2024)
| Cấp bậc | Kinh nghiệm | Lương tháng (VND) |
|---------|-------------|-------------------|
| Junior | 0-1 năm | 10-18 triệu |
| Mid | 2-4 năm | 20-35 triệu |
| Senior | 4-7 năm | 35-55 triệu |
| Lead/Principal | 7+ năm | 55-80 triệu |
**Lưu ý:**
- Mức lương thỏa thuận của VPBank thường cạnh tranh so với thị trường
- Thưởng performance: 1-3 tháng lương tùy kết quả
- Có thể thương lượng cao hơn nếu có kinh nghiệm fintech/banking đặc thù
---
### 🎯 Kỹ năng Cần phát triển thêm
#### Ngắn hạn (6-12 tháng)
1. **Cloud Expertise**: AWS/GCP certification
2. **DevOps Skills**: K8s, CI/CD pipelines
3. **Observability**: Distributed tracing, APM tools
4. **Security**: Application security, OWASP Top 10
#### Trung hạn (1-3 năm)
1. **Architecture Skills**: System design, API design
2. **Domain Knowledge**: Banking/Fintech domain (payment, lending, compliance)
3. **Leadership**: Mentoring, code review, technical documentation
4. **Agile/Project Management**: Scrum Master, Technical PM
#### Dài hạn (3-5 năm)
1. **Strategic Thinking**: Technology roadmap
2. **Business Acumen**: Hiểu business để đưa ra giải pháp tech phù hợp
3. **Communication**: Presenting to stakeholders, board-level discussions
---
### 💡 Đặc thù ngành Banking cho Developer
**Ưu điểm:**
- Lương cạnh tranh, stable
- Hệ thống phức tạp → học được nhiều
- Cơ hội chuyển sang fintech/fintech startup
- Yêu cầu security, compliance cao → kỹ năng solid
**Thách thức:**
- Compliance/Risk mindset cần tuân thủ
- Legacy systems có thể khó làm việc
- Change management chậm hơn startup
- Áp lực uptime cao (99.99%)
---
### 🔄 Lời khuyên khi vào ngành Banking
1. **Học domain knowledge**: Hiểu银行业务 (banking business) sẽ giúp bạn thiết kế tốt hơn
2. **Chứng chỉ finance**: FRM, CFP không bắt buộc nhưng là lợi thế
3. **Network**: Tham gia fintech meetups, Vietnamese banking tech community
4. **Portfolio**: Nếu không thể chia sẻ code banking, xây pet projects thể hiện kỹ năng
5. **Long-term**: 2-3 năm để hiểu sâu hệ thống, sau đó có thể nhảy sang product company với lương cao hơn
Câu hỏi thường gặp
Vị trí Java Developer tại VPBank yêu cầu bao nhiêu năm kinh nghiệm?
JD không ghi rõ số năm kinh nghiệm cụ thể, nhưng dựa trên các kỹ năng yêu cầu (Microservices, CQRS, Event Sourcing, K8s), đây là vị trí hướng đến ứng viên có từ 2-5 năm kinh nghiệm. Nếu bạn có kinh nghiệm xây dựng ứng dụng backend hoàn chỉnh và hiểu sâu Spring Boot, vẫn có thể ứng tuyển với ít kinh nghiệm hơn nếu thể hiện tốt trong phỏng vấn.
Mức lương Java Developer tại VPBank là bao nhiêu?
JD ghi 'Thỏa thuận' nên không có con số cố định. Theo thị trường Hà Nội 2024, Java Developer tại ngân hàng VPBank có thể dao động từ 20-50 triệu/tháng tùy cấp bậc và kinh nghiệm. Với 3-5 năm kinh nghiệm, bạn có thể kỳ vọng 30-45 triệu. Nên research kỹ và đưa ra con số tự tin khi phỏng vấn, không nên để HR định giá trước.
Công việc hàng ngày của Java Developer tại VPBank là gì?
Với vị trí này, bạn sẽ: (1) Phát triển và bảo trì các service backend bằng Spring Boot theo kiến trúc Microservices, (2) Thiết kế và tối ưu database, (3) Làm việc với message queue (Kafka) và cache (Redis), (4) Tham gia các buổi sprint planning, daily standup theo Agile, (5) Viết unit test, integration test, (6) Deploy và monitoring trên môi trường Kubernetes. Công việc gần như developer bình thường nhưng với quy mô hệ thống lớn hơn và yêu cầu compliance cao hơn.
Cần chuẩn bị gì cho vòng phỏng vấn technical tại VPBank?
Bạn nên ôn: (1) Java Core - OOP, Collections, Concurrency, Exception handling, (2) Spring Boot - DI, Transaction, Security, (3) Database - SQL optimization, JPA/Hibernate N+1, (4) Design Patterns - thực hành implement, (5) System Design cơ bản - thiết kế payment system đơn giản. Thường có coding test 2 tiếng trên giấy hoặc online, không phải LeetCode khó mà là bài tập thực tế hơn. Nên practice viết code trên giấy để quen.
Làm ở ngân hàng VPBank có áp lực không? So với startup thì sao?
Áp lực ở ngân hàng khác startup. Startup áp lực về deadline, velocity; ngân hàng áp lực về: (1) Uptime - hệ thống không được down, (2) Compliance - code phải đúng chuẩn security, (3) Change process chậm - nhiều approval layers, (4) Legacy code - có thể phải maintain hệ thống cũ. Đổi lại: stable, không bị layoffs đột ngột, lương benefits tốt, học được hệ thống scale lớn. Nếu bạn thích speed thì banking không phù hợp, nếu thích stability và học hỏi thì rất OK.
Học ngành gì để có thể ứng tuyển vị trí này?
JD yêu cầu Đại học chuyên ngành Công nghệ thông tin hoặc Khoa học máy tính. Đây là baseline. Trên thực tế, nhiều developer tốt nghiệp các ngành khác (Toán tin, Điện tử) vẫn làm được nếu có kỹ năng tốt. Quan trọng hơn bằng cấp là: (1) Kiến thức vững về Java và Spring, (2) Portfolio thể hiện kỹ năng, (3) Hiểu business domain của banking. Nếu bạn chưa có bằng CNTT và muốn chuyển ngành, nên tự học kỹ và làm pet projects để prove yourself.
K8s và AWS là ưu tiên hay bắt buộc? Nếu chưa biết thì có nên ứng tuyển không?
JD ghi rõ đây là 'lợi thế', không bắt buộc. Tuy nhiên nếu hoàn toàn không biết gì về containerization và cloud, bạn sẽ thiếu sót trong vòng technical. Gợi ý: học Docker cơ bản (2-3 ngày), hiểu cách containerize một Spring Boot app (1 tuần). AWS có thể học sau khi vào. Đừng để điều này ngăn cản bạn ứng tuyển nếu các kỹ năng core (Java, Spring, Database) đã vững. Nhiều công ty banking vẫn dùng hybrid approach, không nhất thiết phải master cloud ngay.
Cơ hội phát triển sau 2-3 năm làm việc tại VPBank như thế nào?
Với 2-3 năm tại VPBank, bạn có thể phát triển theo: (1) Senior Developer - nếu tech skills tốt, (2) Tech Lead - nếu có khả năng mentoring và system design, (3) Chuyển sang fintech/big tech - lương có thể nhảy 30-50% với kinh nghiệm banking quý giá, (4) Internal transfer - sang các dự án mới, khối khác. VPBank đang đầu tư mạnh vào công nghệ (VPBank NEO), có nhiều cơ hội làm việc với tech stack hiện đại. Lưu ý: banking domain knowledge rất có giá trị, đừng vội nhảy quá sớm.