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
TPBank

Lập trình Backend Developer (Java/Spring Boot)- Khối Công nghệ Thông tin

Hà Nội Các Đơn vị kinh doanh
Chuyên viên Thỏa thuận Hạn: 2026-09-22

Mô tả công việc

1. Yêu cầu bắt buộc

  • Nắm vững Java (8/11): OOP, collections, exception handling, generics, cơ bản về concurrency.
  • Kinh nghiệm thực tế với Spring Boot: Spring Web (REST), Spring Data JPA, Dependency Injection, cấu hình qua application.yml.
  • Hiểu và viết được SQL (ưu tiên Oracle); nắm khái niệm ORM/Hibernate cơ bản.
  • Biết thiết kế/tiêu thụ RESTful API, xử lý JSON (Jackson/Gson).
  • Dùng được Git và Maven trong workflow nhóm.
  • Hiểu cơ bản kiến trúc microservices và giao tiếp giữa service (REST).

2. Học vấn

  • Tốt nghiệp Đại học chuyên ngành Công nghệ thông tin, Khoa học máy tính, Kỹ thuật phần mềm hoặc các ngành liên quan.
  • Ưu tiên ứng viên có chứng chỉ chuyên môn (Java, Spring, Oracle, AWS/Cloud...) hoặc hoàn thành các khóa đào tạo lập trình chuyên sâu.

3. Ưu tiên (Nice-to-have)

  • Từng làm với Kafka, Redis, hoặc MongoDB.
  • Biết Docker cơ bản; có tiếp xúc Kubernetes, Jenkins.
  • Hiểu Spring Security / JWT.
  • Kinh nghiệm domain eKYC/ngân hàng/định danh hoặc tích hợp API đối tác.
  • Biết dùng công cụ theo dõi hiệu năng (APM) hoặc đọc log tập trung.

4. Kỹ năng mềm

  • Đọc hiểu codebase lớn có sẵn, tuân thủ convention của team (không tự ý đổi pattern).
  • Giao tiếp rõ ràng, chủ động hỏi khi thiếu context, cẩn thận với dữ liệu nhạy cảm.
  • Tinh thần học hỏi, tiếp nhận review.

-Cam kết làm việc tối thiểu 2 năm cho dự án và TPBank

Yêu cầu ứng viên

1. Yêu cầu bắt buộc

  • Nắm vững Java (8/11): OOP, collections, exception handling, generics, cơ bản về concurrency.
  • Kinh nghiệm thực tế với Spring Boot: Spring Web (REST), Spring Data JPA, Dependency Injection, cấu hình qua application.yml.
  • Hiểu và viết được SQL (ưu tiên Oracle); nắm khái niệm ORM/Hibernate cơ bản.
  • Biết thiết kế/tiêu thụ RESTful API, xử lý JSON (Jackson/Gson).
  • Dùng được Git và Maven trong workflow nhóm.
  • Hiểu cơ bản kiến trúc microservices và giao tiếp giữa service (REST).

2. Học vấn

  • Tốt nghiệp Đại học chuyên ngành Công nghệ thông tin, Khoa học máy tính, Kỹ thuật phần mềm hoặc các ngành liên quan.
  • Ưu tiên ứng viên có chứng chỉ chuyên môn (Java, Spring, Oracle, AWS/Cloud...) hoặc hoàn thành các khóa đào tạo lập trình chuyên sâu.

3. Ưu tiên (Nice-to-have)

  • Từng làm với Kafka, Redis, hoặc MongoDB.
  • Biết Docker cơ bản; có tiếp xúc Kubernetes, Jenkins.
  • Hiểu Spring Security / JWT.
  • Kinh nghiệm domain eKYC/ngân hàng/định danh hoặc tích hợp API đối tác.
  • Biết dùng công cụ theo dõi hiệu năng (APM) hoặc đọc log tập trung.

4. Kỹ năng mềm

  • Đọc hiểu codebase lớn có sẵn, tuân thủ convention của team (không tự ý đổi pattern).
  • Giao tiếp rõ ràng, chủ động hỏi khi thiếu context, cẩn thận với dữ liệu nhạy cảm.
  • Tinh thần học hỏi, tiếp nhận review.

-Cam kết làm việc tối thiểu 2 năm cho dự án và TPBank

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

Phân tích kỹ năng – Backend Java Developer tại TPBank

1. Hard Skills – Yêu cầu bắt buộc (Must-have)

Đây là những kỹ năng "sống còn" – nếu thiếu sẽ khó qua được vòng technical test. Mình sẽ phân tích độ sâu cần thiết:

🔹 Java Core (8 hoặc 11)

  • OOP: Phải hiểu sâu 4 tính chất (Encapsulation, Abstraction, Inheritance, Polymorphism) – không phải định nghĩa suông mà phải biết áp dụng khi thiết kế class.
  • Collections: Phân biệt rõ `List`, `Set`, `Map` và các implementation phổ biến (ArrayList vs LinkedList, HashMap vs TreeMap). Hiểu về `equals()`/`hashCode()` và tại sao phải override cả 2.
  • Exception Handling: Phân biệt checked vs unchecked, biết dùng `try-with-resources`, custom exception.
  • Generics: Biết dùng `List<T>`, `Map<K,V>`, wildcards (`? extends T`).
  • Concurrency cơ bản: Hiểu `Thread`, `Runnable`, `ExecutorService`, `synchronized`, cơ chế `volatile`. Với Java 11 thì nên biết thêm `CompletableFuture`.

🔹 Spring Boot

  • Spring Web (REST): Annotation `@RestController`, `@RequestMapping`, `@GetMapping`/`@PostMapping`, xử lý `ResponseEntity`, validation với `@Valid`.
  • Spring Data JPA: Khai báo entity, repository interface, query method (`findByXxx`), `@Query`, phân trang.
  • Dependency Injection: Hiểu 3 cách inject (constructor – khuyến khích dùng nhất, setter, field).
  • application.yml: Biết cấu hình profile (dev/prod), logging level, datasource.

🔹 Database & ORM

  • SQL: Join (inner/outer), subquery, index, transaction. Phải viết được query tay chứ không phải chỉ phụ thuộc JPA.
  • Oracle: Biết cú pháp phổ biến (sequence, synonym, package). Ưu tiên vì ngân hàng hay dùng Oracle.
  • Hibernate: Hiểu lazy loading, N+1 problem, cache level 1/2, dirty checking.

🔹 RESTful API & JSON

  • Biết thiết kế resource theo chuẩn REST (URI dạng danh từ, dùng HTTP method đúng nghĩa).
  • Phân biệt status code: 200, 201, 400, 401, 403, 404, 409, 500.
  • Jackson/Gson: `@JsonIgnore`, `@JsonProperty`, format ngày tháng.

🔹 Git & Maven

  • Git: clone, branch, add, commit, push, pull, merge, rebase cơ bản, resolve conflict.
  • Maven: Hiểu `pom.xml`, dependency scope, lifecycle (compile, test, package).

🔹 Microservices

  • Hiểu khái niệm: service registry (Eureka), API gateway, circuit breaker (Resilience4j/Hystrix), config server.
  • Biết giao tiếp sync qua REST, hiểu khái niệm async qua message broker (Kafka).

---

2. Nice-to-have (có thì cộng điểm lớn)

Công nghệ Mức độ cần Gợi ý ôn tập
Kafka Biết producer/consumer, partition, offset Xem demo trên Confluent Cloud
Redis Cache, TTL, pub/sub Thử `redis-cli` trên Docker
MongoDB Document model, aggregation Cài local, CRUD cơ bản
Docker Dockerfile, docker-compose Thử build image Spring Boot
Kubernetes Pod, Deployment, Service Hiểu khái niệm, kubectl basic
Jenkins Pipeline, declarative syntax Đọc sample Jenkinsfile
Spring Security + JWT Filter chain, token-based auth Làm 1 project demo

> 💡 Mẹo: Nếu bạn mới ra trường, đừng cố nhồi hết. Hãy chọn 2-3 cái (Kafka + Redis + Docker chẳng hạn) để "show" trong CV và buổi phỏng vấn. Sâu hơn rộng.

---

3. Domain ngân hàng – Điểm cộng đặc biệt

TPBank đang đẩy mạnh eKYC, định danh điện tử, tích hợp API đối tác. Nếu bạn từng làm:

  • Tích hợp cổng thanh toán (VNPay, MoMo, Napas)
  • OCR CCCD, xác thực sinh trắc học
  • Liên kết ngân hàng (Open Banking)
  • Core banking, ledger, transaction

→ Đây là vũ khí sát thương cao khi phỏng vấn.

---

4. Chứng chỉ nên có (ưu tiên)

Chứng chỉ Tổ chức Ghi chú
Oracle Certified Associate (OCA) Java 8/11 Oracle Rất có giá trị với ngân hàng
AWS Cloud Practitioner AWS Foundation level, dễ đậu
Spring Professional VMware/Pivotal Khó nhưng "đáng đồng tiền"
Docker Certified Associate Docker Tốt cho vị trí mid-senior

> 📌 Với vị trí này, JD không yêu cầu kinh nghiệm cụ thể (N/A) – có thể là junior-mid. Nếu bạn fresher, Oracle Java Certificate sẽ giúp CV nổi bật hơn hẳn.

---

5. Soft Skills – "Dễ mà khó"

JD nhấn mạnh 3 điểm:

  • Đọc hiểu codebase lớn: Thực tế bạn vào sẽ maintain hệ thống có sẵn, không phải code từ đầu. Phải kiên nhẫn đọc code người khác.
  • Tuân thủ convention: Đừng tự ý refactor khi chưa được phép.
  • Cẩn thận dữ liệu nhạy cảm: Ngân hàng = tiền. Một bug có thể ảnh hưởng hàng triệu VND. Phải test kỹ, log đầy đủ, không hardcode.

Cam kết 2 năm – đây cũng là soft requirement: TPBank không muốn tuyển người nhảy việc sau 6 tháng (đặc biệt sau khi đào tạo về domain ngân hàng).

Chuẩn bị phỏng vấn

Hướng dẫn phỏng vấn – Backend Java Developer tại TPBank

1. Quy trình tuyển dụng dự kiến (3-4 vòng)

TPBank là ngân hàng tư nhân lớn, quy trình thường khá chỉn chu. Dưới đây là flow phổ biến:

📞 Vòng 1: HR Screening (30-45 phút – Online/Phone)

  • Giới thiệu bản thân, kinh nghiệm
  • Hỏi về mức lương kỳ vọng, thời gian available
  • Giới thiệu sơ về vị trí, team, dự án
  • Có thể hỏi vài câu Java cơ bản để filter

Tips: Chuẩn bị sẵn câu giới thiệu 2-3 phút bằng cấu trúc Present – Past – Future (Hiện tại đang làm gì – Quá khứ đã làm gì – Tương lai muốn gì).

---

💻 Vòng 2: Technical Test / Coding Interview (60-90 phút)

Dạng 1 – Bài test trên HackerRank / CodeSignal:

  • 2-3 bài coding thuật toán (array, string, hashmap)
  • 1 bài SQL (join, group by, subquery)
  • Đôi khi có câu hỏi Java multiple choice

Dạng 2 – Live coding (pair programming):

  • Viết REST API CRUD đơn giản với Spring Boot
  • Tạo entity, repository, controller, xử lý exception
  • Thường giám khảo sẽ yêu cầu mở rộng (thêm validation, phân trang, sort)

Câu hỏi hay gặp:

  • Phân biệt `@Controller` vs `@RestController`?
  • `@Autowired` vào field vs constructor – cách nào tốt hơn?
  • `==` và `equals()` khác nhau thế nào?
  • HashMap hoạt động ra sao? Tại sao capacity nên là power of 2?
  • Spring Boot auto-configuration hoạt động thế nào?
  • Giải thích ACID trong database transaction?
  • Làm sao handle exception toàn cục trong Spring Boot? (`@ControllerAdvice`)
  • N+1 problem trong JPA là gì? Cách fix?

---

🧠 Vòng 3: Technical Deep-dive (60-90 phút – Onsite/Online)

Phỏng vấn với Tech Lead / Senior Dev:

Nhóm câu hỏi System Design cơ bản:

  • Thiết kế API cho chức năng chuyển tiền trong ngân hàng?
  • Nếu 1 service phải xử lý 10,000 transaction/giây, bạn làm gì?
  • Phân biệt synchronous và asynchronous? Khi nào dùng Kafka?
  • Làm sao đảm bảo không mất message trong queue?

Nhóm câu hỏi về dự án cá nhân:

  • Mô tả project lớn nhất bạn từng làm
  • Bạn gặp bug khó nhất là gì? Fix như thế nào?
  • Trong team, bạn đóng vai trò gì?

Nhóm câu hỏi tình huống:

  • Khách hàng report lỗi giao dịch bị trừ tiền 2 lần – bạn xử lý thế nào?
  • Service A gọi service B timeout – làm sao tránh ảnh hưởng hệ thống?

---

🤝 Vòng 4: Culture Fit / Final (30-45 phút)

Phỏng vấn với Hiring Manager / Trưởng phòng:

  • Tại sao chọn TPBank? Tại sao không ở lại công ty cũ?
  • Bạn biết gì về văn hóa TPBank? (TPBank nổi tiếng với sáng tạo, trẻ trung, OKR)
  • Mục tiêu nghề nghiệp 2-3 năm tới?
  • Có thể cam kết 2 năm không? (JD nhấn mạnh điểm này!)
  • Bạn stress khi nào? Cách bạn xử lý?

---

2. Dress Code

  • Vòng HR & Technical online: Áo sơ mi / polo + quần tây. Đừng mặc đồ quá xuề xoà nhưng cũng không cần vest.
  • Vòng onsite: Smart casual – sơ mi trắng/xanh nhạt + quần tây + giày tây. TPBank không quá khắt khe nhưng nên lịch sự.
  • Lưu ý: Tránh nước hoa nồng, đồ trang sức lòe loẹt.

---

3. 10 Tips "Đắt Giá" cho buổi phỏng vấn

1. Mang theo laptop cá nhân (dù không bắt buộc) – thể hiện bạn pro.
2. Chuẩn bị sẵn 1-2 câu hỏi để hỏi ngược HR/Manager:

  • "Team hiện tại có bao nhiêu người? Workflow như thế nào?"
  • "Tech stack đang dùng có plan migrate gì không?"
  • "Cơ hội được training về domain banking không?"

3. Khi trả lời không biết – đừng bịa. Hãy nói: "Em chưa gặp tình huống này, nhưng em sẽ tìm hiểu bằng cách A, B, C".
4. Chứng minh bạn biết code production, không chỉ code trong lớp. Kể về bug, performance issue, log analysis.
5. Nếu code live, đừng im lặng. Hãy think out loud: "Em sẽ tạo entity trước... sau đó repository...".
6. Hỏi về Git workflow của team (Git Flow, trunk-based, code review) – thể hiện tư duy collaboration.
7. Đề cập đến logging & monitoring – ngân hàng rất coi trọng audit trail.
8. Chuẩn bị sẵn 1-2 câu chuyện STAR (Situation – Task – Action – Result) cho câu hỏi behavioral.
9. Ghi chú trong buổi phỏng vấn (nếu online) – thể hiện bạn nghiêm túc.
10. Follow-up email sau phỏng vấn (1-2 ngày): cảm ơn, hồi âm câu hỏi nào chưa trả lời tốt.

---

4. Câu hỏi tiếng Việt thường gặp – Sample trả lời

> "Tại sao bạn muốn làm ở ngân hàng?"

"Em thấy ngân hàng là môi trường có dữ liệu lớn, yêu cầu cao về bảo mật và reliability – đó là cơ hội tốt để em nâng cao kỹ năng kỹ thuật. Đặc biệt TPBank nổi tiếng với văn hóa đổi mới, em rất thích sản phẩm LiveBank và TPBank eKYC."

> "Tại sao cam kết 2 năm?"

"Em hiểu rằng ngân hàng đầu tư nhiều vào training domain và bảo mật. Em cũng muốn xây dựng sự nghiệp lâu dài ở đây, không phải người nhảy việc. Em sẵn sàng cam kết."

Lộ trình ôn thi

Lộ trình ôn tập 1-2 tuần – Backend Java/Spring Boot

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

📅 Ngày 1-2: Java Core

  • Tài liệu:
  • "Effective Java" (Joshua Bloch) – đọc 5-10 item quan trọng nhất
  • Baeldung.com (tiếng Anh) – chuyên về Java/Spring
  • [Grokking the Java Interview](https://www.educative.io/) – ôn nhanh
  • Cần nắm chắc:
  • OOP, SOLID principles
  • Collections (ArrayList, HashMap, HashSet, ConcurrentHashMap)
  • Stream API, Lambda, Optional
  • Exception hierarchy
  • Bài tập: Code lại ArrayList từ đầu, giải thích HashMap hoạt động

📅 Ngày 3-4: Spring Boot cơ bản

  • Tutorial chính:
  • Spring Boot Getting Started: https://spring.io/guides
  • Udemy: "Spring Boot 3 & Spring Framework 6 - Chad Darby"
  • Practice project:
  • Làm 1 REST API CRUD quản lý user (CRUD đầy đủ, validation, pagination)
  • Kết nối H2 database in-memory
  • Viết unit test với JUnit 5 + Mockito
  • Cấu hình cần biết:
  • application.yml với profile dev/prod
  • Logging với Logback
  • Global exception handler với `@ControllerAdvice`

📅 Ngày 5: SQL & Database

  • Luyện SQL:
  • HackerRank SQL (10 bài easy → medium)
  • LeetCode Database (bài Top 50 SQL)
  • Oracle đặc thù:
  • Tìm hiểu ROWNUM, sequence, synonym
  • Phân biệt NVL (Oracle) vs COALESCE (chuẩn SQL)
  • JPA/Hibernate:
  • Quan hệ @OneToMany, @ManyToOne, @ManyToMany
  • Hiểu lazy vs eager fetching
  • N+1 problem và cách dùng `@EntityGraph` hoặc JOIN FETCH

📅 Ngày 6-7: Microservices & REST API

  • Đọc:
  • "Microservices Patterns" (Chris Richardson) – chương 1-3
  • Baeldung về Spring Cloud
  • Thực hành:
  • Tạo 2 microservice gọi nhau qua REST (dùng RestTemplate hoặc WebClient)
  • Hiểu circuit breaker concept (đọc lý thuyết, không cần code)

---

Tuần 2: Nâng cao + Domain banking

📅 Ngày 8-9: Nice-to-have technologies

  • Docker:
  • Docker getting started: https://docker-curriculum.com/
  • Thử dockerize Spring Boot app
  • Kafka (ưu tiên nếu muốn làm eKYC):
  • Confluent Kafka tutorial
  • Cài local, chạy producer-consumer
  • Redis:
  • Try Redis: https://try.redis.io/
  • Tích hợp vào Spring Boot qua Spring Data Redis

📅 Ngày 10: Security & Performance

  • Spring Security + JWT:
  • Đọc JWT.io để hiểu cấu trúc token
  • Làm 1 demo login + protected API
  • Performance:
  • Connection pool (HikariCP)
  • Index trong database
  • Caching với @Cacheable + Redis

📅 Ngày 11-12: Domain ngân hàng

  • Tìm hiểu:
  • Quy trình eKYC (định danh điện tử) hoạt động thế nào
  • Core banking là gì? (Double-entry bookkeeping, ledger)
  • Các chuẩn bảo mật: PCI DSS, ISO 27001
  • Tích hợp cổng thanh toán (VNPay, Napas) – flow cơ bản
  • Case study:
  • Tìm hiểu TPBank LiveBank, TPBank eKYC – xem demo trên YouTube
  • Đọc blog công nghệ của TPBank (nếu có)

📅 Ngày 13-14: Mock interview & review

  • Làm bài test thử:
  • CodeSignal General Coding Assessment
  • HackerRank Java, SQL challenges
  • Mock interview:
  • Nhờ bạn bè phỏng vấn giả
  • Tự record lại câu trả lời, nghe lại
  • Review CV:
  • Cập nhật tech stack
  • Thêm số liệu cụ thể (ví dụ: "Giảm 30% response time bằng Redis caching")

---

📚 Tài liệu tham khảo nhanh (tổng hợp)

Chủ đề Tài liệu Ghi chú
Java Core Effective Java, Baeldung Đọc sâu, có ví dụ
Spring Boot spring.io/guides, Udemy Chad Darby Thực hành là chính
SQL LeetCode SQL 50, HackerRank Làm hết 50 bài
Microservices "Microservices Patterns" Chris Richardson Conceptual
Docker docker-curriculum.com Free, dễ hiểu
Kafka Confluent docs, YouTube "Kafka in 100 seconds" Concept trước, code sau
Design Pattern Refactoring Guru (tiếng Việt có bản dịch) Singleton, Factory, Builder, Strategy
System Design "System Design Interview" Alex Xu vol 1-2 Volume 1 cho fresher-mid

---

✅ Checklist trước ngày phỏng vấn

  • [ ] Ôn lại 10 câu hỏi Java Core thường gặp
  • [ ] Code lại CRUD Spring Boot từ đầu (không nhìn tài liệu)
  • [ ] Viết SQL tay 5 câu phức tạp (join 3 bảng)
  • [ ] Đọc qua 5 case study eKYC/payment gateway
  • [ ] Chuẩn bị câu chuyện STAR cho 3 tình huống: bug, conflict, deadline
  • [ ] Test camera/mic/background ảnh (nếu phỏng vấn online)
  • [ ] In ra 2 bản CV, để sẵn bút và giấy nháp

Tư vấn nghề nghiệp

Lời khuyên nghề nghiệp – Backend Java tại Ngân hàng

1. Lộ trình thăng tiến điển hình

```
Junior Developer (0-1 năm)

Mid-level Developer (1-3 năm)

Senior Developer (3-5 năm)

Tech Lead / Lead Developer (5-7 năm)

Solution Architect / Engineering Manager (7+ năm)
```

Chi tiết từng cấp bậc:

🔰 Junior (Fresher, 0-1 năm)

  • Làm ticket đơn giản, fix bug, viết unit test
  • Được mentor hướng dẫn sát
  • Focus: nắm vững Java core, Spring Boot, đọc code hiểu code

🧑‍💻 Mid (1-3 năm)

  • Tự chủ được feature nhỏ đến trung bình
  • Tham gia design API, estimate effort
  • Bắt đầu liên lạc với BA, QC, OPS
  • Focus: học microservices, performance tuning, security

👨‍💼 Senior (3-5 năm)

  • Own một module/service lớn
  • Review code của junior, định hướng kỹ thuật
  • Đưa ra technical decision
  • Có thể lead 1 squad nhỏ (3-5 người)

🚀 Lead/Architect (5+ năm)

  • Thiết kế toàn bộ hệ thống
  • Đàm phán với vendor, đối tác tích hợp
  • Mentor cả team
  • Định hướng công nghệ dài hạn

---

2. Mức lương tham khảo (TPBank & thị trường ngân hàng 2024-2025)

> ⚠️ Lưu ý: Mức lương biến động tùy theo năng lực, thời điểm và quy mô dự án. Bảng dưới mang tính tham khảo.

Cấp bậc Kinh nghiệm Mức lương (VNĐ/tháng)
Junior 0-1 năm 12 - 18 triệu
Mid 1-3 năm 18 - 30 triệu
Senior 3-5 năm 30 - 50 triệu
Tech Lead 5-7 năm 45 - 70 triệu
Architect/Manager 7+ năm 60 - 100+ triệu

TPBank cụ thể:

  • Lương thường ở mức competitive trong nhóm ngân hàng tư nhân (Techcombank, MBB, ACB thường trả cao hơn ngân hàng quốc doanh)
  • Có thêm các khoản:
  • 13th month salary (tháng lương thứ 13)
  • Bonus theo OKR/quý/năm (1-3 tháng lương)
  • Phụ cấp ăn trưa, xăng xe, điện thoại
  • Bảo hiểm sức khỏe cao cấp (PVI/Bảo Việt)
  • Cổ phiếu ESOP (tùy chương trình)
  • Tổng package (gross + bonus + phụ cấp) thường cao hơn gross 15-25%

Mẹo deal lương:

  • Đừng nói mức cụ thể quá sớm với HR. Hỏi: "Anh/chị có thể chia sẻ range budget cho vị trí này không?"
  • Khi đưa ra mức kỳ vọng, nên cao hơn mức bạn muốn 10-15% để có room đàm phán
  • Đề cập các offer khác (nếu có) – không nói dối nhưng có thể nhắc khéo

---

3. Kỹ năng cần phát triển thêm (next 2 năm)

Nếu bạn đang nhắm vị trí này, đây là những thứ nên "bỏ túi" trong 6-24 tháng tới:

🔧 Kỹ thuật (Technical)

  • Cloud: AWS hoặc Azure (ít nhất 1 cert level Practitioner/Solution Architect Associate)
  • Kubernetes: CKA cert rất giá trị với ngân hàng
  • Message Broker nâng cao: Kafka Streams, schema registry
  • Database nâng cao: PostgreSQL, MongoDB, time-series DB
  • Observability: Prometheus, Grafana, ELK Stack, Datadog
  • Testing nâng cao: Integration test với Testcontainers, contract testing
  • Security: OAuth2, OpenID Connect, Keycloak, OWASP Top 10

🤝 Phi kỹ thuật (Soft)

  • Tiếng Anh: Tài liệu kỹ thuật, log tiếng Anh rất nhiều. Đọc technical blog hằng ngày
  • Communication: Học cách viết tech document, design doc rõ ràng
  • Domain banking: Càng hiểu business càng có giá trị. Đọc về Basel, AML, KYC, Open Banking
  • Leadership: Dù chưa lead, hãy tập mentoring junior, viết wiki cho team

---

4. So sánh TPBank vs các nơi khác

Tiêu chí TPBank Techcombank MBBank Fintech (MoMo, VNPay)
Lương Khá Cao Khá Cao nhất
Tech stack Modern, đang migrate Rất modern Modern Cutting-edge
Văn hóa Trẻ trung, OKR Áp lực nhưng chuyên nghiệp Ổn định Startup-like, nhanh
Cơ hội học domain Rất tốt Tốt Tốt Ít (trừ làm payment)
Work-life balance Tùy dự án Có thể OT nhiều Tùy phòng Hay OT
Thương hiệu CV Tốt Rất tốt Tốt Tốt

> 🎯 Gợi ý: Nếu bạn là fresher, TPBank là lựa chọn rất tốt để học domain banking. Sau 2-3 năm, bạn có thể nhảy sang fintech với mức lương cao hơn nhiều.

---

5. Lời khuyên thực tế từ "đàn anh"

1. Đừng nhảy việc quá sớm – 2 năm đầu là thời gian vàng để build foundation. JD yêu cầu cam kết 2 năm là có lý do.

2. Tìm mentor trong công ty – ngân hàng lớn có nhiều senior giỏi. Đừng ngại xin được mentor.

3. Đóng góp cho cộng đồng – viết blog technical, làm open source, tham gia forum. TPBank đánh giá cao nhân sự có tư duy chia sẻ.

4. Học liên tục – công nghệ thay đổi nhanh. Dành 5-10 giờ/tuần cho việc học (đọc blog, làm pet project, lấy cert).

5. Đừng chỉ code – hãy hiểu business. Một dev hiểu customer journey của sản phẩm banking sẽ có giá trị hơn 1 dev chỉ biết code.

6. Work-life balance ở ngân hàng – đừng kỳ vọng quá cao. Dự án lớn vẫn có thể OT. Nhưng bù lại, bạn được học hệ thống production thật, không phải mock-up như startup.

7. Mạng lưới (network) – LinkedIn, tham gia meetup Java Vietnam, BankTech Vietnam. Nhiều cơ hội đến từ relationship, không chỉ CV.

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

Em mới ra trường, chưa có kinh nghiệm thực tế về ngân hàng, có nên ứng tuyển vị trí này không?

Hoàn toàn nên! JD ghi 'N/A' cho kinh nghiệm – đây là tín hiệu rất tốt cho fresher. TPBank thường tuyển junior/mid để train. Điều quan trọng là em phải vững Java core + Spring Boot, làm được 1-2 project cá nhân (có public trên GitHub càng tốt), và chứng minh được tinh thần học hỏi. Chuẩn bị kỹ về OOP, Collections, REST API, JPA – đây là 4 trụ cột mà buổi phỏng vấn kỹ thuật sẽ hỏi. Đừng ngại cam kết 2 năm – đó là cơ hội tốt để học domain banking.

Mức lương kỳ vọng bao nhiêu là hợp lý khi phỏng vấn ở TPBank cho vị trí này?

Với JD không yêu cầu kinh nghiệm cụ thể (N/A), nhiều khả năng là junior-mid. Mình gợi ý:

  • Fresher (0 năm): 12-16 triệu gross
  • 1 năm kinh nghiệm: 16-22 triệu gross
  • 2-3 năm: 22-30 triệu gross

Tuy nhiên, nếu em có chứng chỉ Oracle Java/AWS + làm tốt Spring Boot + có project cá nhân chất lượng, hoàn toàn có thể đề xuất cao hơn 15-20%. Khi HR hỏi, đừng nói số quá cứng – hãy hỏi lại budget range trước, rồi đưa ra mức kỳ vọng cao hơn 10-15% để có room đàm phán. Lưu ý thêm: TPBank thường có 13th month salary + bonus quý/năm, nên total package sẽ cao hơn gross.

Em đang làm Java ở công ty outsourcing, có nên nhảy sang ngân hàng như TPBank không?

Nên, nếu em muốn:
1. Học domain banking (rất khó học ở nơi khác)
2. Làm sản phẩm thật, không phải project cho khách hàng
3. Có cơ hội thăng tiến rõ ràng (outsource thường bị bottleneck)

Tuy nhiên, cần cân nhắc:

  • Lương ban đầu có thể thấp hơn outsource (outsource tier 1 trả rất cao cho senior)
  • Tốc độ tăng lương ở ngân hàng thường 5-10%/năm, ở outsource có thể nhảy 30-50% khi đổi job
  • Văn hóa ngân hàng nặng quy trình hơn

👉 Gợi ý: Nếu em đang ở outsource 1-2 năm, đây là thời điểm tốt để chuyển. Sau 2-3 năm ở ngân hàng, em sẽ có profile rất đẹp để đàm phán lương cao hơn rất nhiều.

JD yêu cầu 'cam kết 2 năm' – nếu em muốn thử việc 6 tháng rồi quyết định thì sao?

Đây là điểm nhạy cảm. Thực tế ở Việt Nam không có cam kết pháp lý ràng buộc – nếu em muốn nghỉ thì vẫn nghỉ được theo luật lao động. Nhưng:

  • Về mặt đạo đức nghề nghiệp: Đừng ký rồi nghỉ sớm, sẽ mất uy tín
  • Về mặt thực tế: TPBank đầu tư nhiều vào training (đặc biệt về bảo mật, domain banking) – nếu em nghỉ sớm thì thiệt hại cho cả 2 bên

👉 Cách xử lý khéo: Trong buổi phỏng vấn, em có thể nói: "Em hoàn toàn cam kết làm việc lâu dài và sẵn sàng gắn bó với dự án. Tuy nhiên em muốn hỏi thêm về cơ chế đánh giá sau 6 tháng và lộ trình thăng tiến để em có thể đặt mục tiêu rõ ràng." – Vừa thể hiện sự cam kết, vừa cho thấy em suy nghĩ nghiêm túc.

Em đang học C#/.NET, có nên chuyển sang Java để ứng tuyển vị trí này không?

Được, nhưng cần thời gian chuẩn bị. Tin vui là nền tảng OOP, SQL, design pattern giống nhau – chỉ khác syntax. Em cần học thêm:

  • Spring Boot (khác ASP.NET Core)
  • Maven/Gradle (thay vì MSBuild)
  • JPA/Hibernate (thay vì Entity Framework)
  • Java specific: Stream API, Lambda, Optional, Generics

Lộ trình gợi ý 2-3 tháng:

  • Tháng 1: Làm 1 REST API CRUD bằng Spring Boot, code song song 2 phiên bản Java vs C# để thấy sự khác biệt
  • Tháng 2: Học JPA, Kafka, microservices basics
  • Tháng 3: Làm 1 project banking giả lập (chuyển tiền, xem số dư), đưa lên GitHub

💡 Tuy nhiên, nếu em đang làm .NET lâu năm và có offer tốt, cân nhắc giữ – thị trường .NET cũng nhiều việc. Chuyển ngôn ngữ chỉ nên khi có lý do rõ ràng (muốn vào ngân hàng, lương Java cao hơn ở khu vực em, hoặc project .NET hiện tại không hấp dẫn).

Trong buổi phỏng vấn kỹ thuật, nếu gặp câu hỏi em không biết thì xử lý sao?

Đây là câu hỏi hay! Mình chia sẻ 3 chiến thuật:

1. Nói thẳng không biết + hướng suy nghĩ: "Em chưa làm qua Kafka Streams, nhưng theo em hiểu thì nó cho phép xử lý stream real-time... Em sẽ tìm hiểu thêm nếu được nhận."

2. Liên hệ với thứ mình biết: "Em chưa dùng Resilience4j, nhưng em đã dùng retry pattern với Spring Retry – chắc concept tương tự."

3. Câu hỏi ngược: "Anh/chị có thể cho em hint về use case cụ thể không? Để em suy nghĩ chính xác hơn." – Đây là cách pro, thể hiện tư duy thực tế chứ không học vẹt.

❌ Đừng bao giờ bịa. Senior phỏng vấn sẽ nhận ra ngay – bạn mất uy tín vĩnh viễn với họ. Thị trường IT Việt Nam nhỏ, mọi người hay gặp lại nhau.

Làm ở khối IT ngân hàng có khác gì so với công ty product thông thường không?

Khác khá nhiều, đây là những điểm đáng chú ý:

Giống:

  • Vẫn code Java, dùng Spring Boot, Git
  • Vẫn có sprint, daily meeting, code review
  • Vẫn có oncall, deploy

Khác:

  • Compliance & Security rất nặng: Mỗi API đều cần log audit, PCI DSS compliance, mọi thay đổi phải qua security review
  • Release chậm hơn: 1 tháng/release thay vì deploy liên tục như startup. Thay đổi phải có change request, UAT, approval
  • Legacy code nhiều: Ngân hàng thường có hệ thống core chạy 10-20 năm. Bạn sẽ phải đọc code Oracle Forms, COBOL, Mainframe (đùa đấy nhưng có thật)
  • Domain knowledge là vua: Hiểu nghiệp vụ banking quan trọng hơn biết thuật toán phức tạp
  • Oncall thật sự: Service banking down = tiền mất. Áp lực lớn hơn nhiều so với app thương mại
  • Bảo mật dữ liệu: Không được phép screenshot, copy data ra ngoài, dev box không có internet

👉 Tóm lại: Làm ngân hàng cho bạn tư duy thận trọng, kỷ luật – nhưng có thể hơi chậm với ai thích agile thực sự.

Em thấy JD không ghi rõ năm kinh nghiệm, vậy có phải TPBank tuyển cả sinh viên mới ra trường không?

Đúng vậy. Khi JD ghi 'N/A' cho kinh nghiệm, có thể hiểu:

  • Đang tuyển cả fresher lẫn người có kinh nghiệm (open range)
  • Hoặc đang tìm người cho 1 dự án mới, cần build team từ đầu

Tuy nhiên, để tăng tỷ lệ được gọi phỏng vấn, em nên:

  • Làm nổi bật project cá nhân trên GitHub
  • Có chứng chỉ Oracle Java/AWS
  • Tham gia cộng đồng Java Việt Nam, BankTech Vietnam
  • Viết blog về những gì em đã học

Fresher hoàn toàn có cơ hội. TPBank và các ngân hàng tư nhân lớn (Techcombank, MBBank, ACB) đều có chương trình Fresher/Graduate rotation rất tốt.