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
Techcombank

Chuyên viên Cao cấp Phát triển Phần mềm (40001157)

Hà Nội Technology Division
Chuyên viên

Mô tả công việc

Mục tiêu

Người đảm nhiệm vị trí triển khai thành công các giải pháp công nghệ cho các dự án của toàn hàng.

Trách nhiệm chính (1)

1. Thiết kế & Phát triển Kiến trúc Cấp thấp

  • Đóng góp vào thiết kế kiến ​​trúc cấp thấp và phát triển các thành phần phần mềm đáp ứng các tiêu chuẩn về hiệu quả, khả năng mở rộng và bảo mật.
  • Phối hợp chặt chẽ với các kiến ​​trúc sư và kỹ sư cấp cao để tối ưu hóa thiết kế và triển khai hệ thống.

2. Hướng dẫn Kỹ thuật & Cải tiến Quy trình

  • Hướng dẫn các kỹ sư cấp quản lý, cung cấp sự cố vấn về các thực tiễn tốt nhất, tiêu chuẩn mã hóa và quy trình làm việc phát triển.
  • Xác định các lĩnh vực cần cải tiến quy trình và thúc đẩy việc áp dụng các thực tiễn kỹ thuật tốt nhất trong nhóm.

Trách nhiệm chính (2)

3. Chất lượng & Tối ưu hóa Mã

  • Dẫn dắt việc đánh giá mã đồng cấp, thực thi các tiêu chuẩn mã hóa và cải thiện khả năng bảo trì mã tổng thể.
  • Tối ưu hóa phần mềm về hiệu suất, khả năng mở rộng và bảo mật, đảm bảo độ tin cậy cao trong môi trường sản xuất.

4. Kiểm thử & Gỡ lỗi

  • Tiến hành kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử hợp đồng để đảm bảo độ tin cậy của phần mềm.
  • Cộng tác với các nhóm QE để chẩn đoán, khắc phục sự cố và giải quyết các lỗi phức tạp một cách kịp thời. - Thúc đẩy tự động hóa kiểm thử để cải thiện tính ổn định của phần mềm và hiệu quả phát hành.

Trách nhiệm chính (3)

  • Tạo và duy trì tài liệu rõ ràng, có cấu trúc, bao gồm:
  • Thông số kỹ thuật API
  • Tài liệu thiết kế hệ thống
  • Hướng dẫn mã hóa và kiến ​​trúc
  • Đảm bảo tài liệu được cập nhật thường xuyên và phù hợp với các thay đổi của hệ thống.

Chân dung Thành công - Bằng cấp, Kinh nghiệm

Kinh nghiệm làm việc:

  • Ít nhất 3-5 năm kinh nghiệm trong lĩnh vực kỹ thuật.
  • Thành thạo các ngôn ngữ lập trình liên quan đến phát triển ứng dụng.

+ Backend: Java

+ Web: Typescript

+ Mobile: Swift, Kotlin, Dart

  • Kinh nghiệm lãnh đạo và quản lý việc triển khai hệ thống/phần mềm.
  • Kinh nghiệm cả về kiến ​​trúc và thiết kế phần mềm.

+ Nguyên tắc SOLID

+ Mẫu thiết kế

+ Kiến trúc Microservices

+ Khả năng quan sát (giám sát, ghi nhật ký, theo dõi)

+ Hiểu biết sâu sắc về biên dịch và thời gian chạy

  • Kinh nghiệm trong các khía cạnh nâng cao của lĩnh vực kỹ thuật:

+ Hiệu năng cao, xử lý đồng thời

+ Các thực tiễn tốt nhất về bảo mật

+ Công nghệ mới nổi

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

Phân tích kỹ năng cho vị trí Chuyên viên Cao cấp Phát triển Phần mềm - Techcombank

🎯 Tổng quan vị trí

Đây là vị trí Senior trong khối Công nghệ của Techcombank (mã 40001157), đòi hỏi 3-5 năm kinh nghiệm thực chiến. Vị trí này không chỉ code giỏi mà còn phải mentor team, đánh giá kiến trúc, và cải tiến quy trình — tức là người chơi ở tầng technical leader.

---

💻 Hard Skills (Bắt buộc)

1. Ngôn ngữ lập trình (phải thành thạo ít nhất 1, biết thêm càng tốt)
Lĩnh vực Công nghệ Mức yêu cầu Ghi chú
Backend Java Thành thạo Java 11/17/21, Spring Boot, Spring Cloud, JPA, Hibernate
Web TypeScript Thành thạo React/Angular + Node.js (NestJS)
Mobile Swift, Kotlin, Dart Thành thạo ít nhất 1 iOS Swift, Android Kotlin, hoặc Flutter Dart
2. Kiến trúc & Thiết kế phần mềm (trọng tâm JD)
  • SOLID Principles — Nắm vững 5 nguyên lý, áp dụng được vào code review
  • Design Patterns — GoF patterns (Factory, Strategy, Observer, Builder...), Enterprise patterns (CQRS, Saga, Event Sourcing)
  • Microservices Architecture — Service decomposition, API Gateway, Service Mesh (Istio), Circuit Breaker, Distributed Tracing
  • Observability — Monitoring (Prometheus/Grafana), Logging (ELK Stack), Tracing (Jaeger/Zipkin/OpenTelemetry)
  • Build & Runtime — Hiểu sâu về compilation pipeline, JVM internals (cho Java), build tools (Maven/Gradle)
3. Kỹ năng nâng cao khác
  • High Performance & Concurrency: Thread pools, async processing, reactive programming (WebFlux, RxJava), caching strategies (Redis, Hazelcast)
  • Security Best Practices: OWASP Top 10, OAuth2/JWT, mã hóa, PCI-DSS (rất quan trọng trong banking), Secure Coding
  • Emerging Tech: AI/ML integration, Blockchain (R3 Corda, Hyperledger), Cloud-native (Kubernetes, Serverless)

---

🤝 Soft Skills (Quan trọng không kém)

Kỹ năng Lý do quan trọng
Mentoring / Coaching JD yêu cầu hướng dẫn kỹ sư cấp dưới
Code Review chuyên sâu Dẫn dắt peer review, enforce standards
Giao tiếp kỹ thuật Phối hợp với architect, QE team, BA
Tư duy hệ thống Thiết kế low-level architecture
Quản lý xung đột Xử lý technical disagreement trong team
Tự học & chia sẻ Tech banking thay đổi nhanh (open banking, AI)

---

📜 Chứng chỉ gợi ý (nice-to-have, không bắt buộc)

Chứng chỉ Giá trị với vị trí
Oracle Certified Professional Java SE Khẳng định depth Java
AWS Solutions Architect Associate/Professional Cloud architecture
Certified Kubernetes Administrator (CKA) Container orchestration
SAFe Scrum Master / RTE Agile ở scale enterprise
CISSP / CSSLP Security trong tài chính
Istio / HashiCorp Terraform Service mesh & IaC

---

⚡ Điểm "deal-breaker" nếu thiếu

1. Không có kinh nghiệm production với Java + Microservices
2. Không hiểu về observability và performance tuning
3. Không từng làm code review / mentor junior
4. Không có khả năng viết tài liệu kỹ thuật tiếng Anh/Việt rõ ràng

Chuẩn bị phỏng vấn

Hướng dẫn phỏng vấn Chuyên viên Cao cấp Phát triển Phần mềm - Techcombank

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

Dựa trên quy trình chuẩn của Techcombank IT, bạn sẽ trải qua:

Vòng 1: HR Screening (30-45 phút)

  • Xác nhận thông tin, mong muốn, mức lương hiện tại/kỳ vọng
  • Hỏi về kinh nghiệm tổng quan, lý do ứng tuyển
  • Test nhẹ về tiếng Anh (đọc hiểu documentation)

Vòng 2: Technical Test (Online, 60-90 phút)

  • HackerRank/Codility: 2-3 bài thuật toán (medium-hard) + 1 bài system mini
  • Có thể có bài về Java core, SQL, design pattern

Vòng 3: Technical Interview sâu (90-120 phút)

  • Deep dive Java (JVM, concurrency, collections, Stream API)
  • System design (kiến trúc microservices cho banking)
  • Code review on-site: cho đoạn code lỗi, yêu cầu tìm bug + optimize

Vòng 4: Manager Interview / Tech Lead (60 phút)

  • Behavioral + situational questions
  • Thảo luận về cách bạn mentor, conflict resolution
  • Case study: "Bạn sẽ thiết kế hệ thống chuyển tiền như thế nào?"

Vòng 5: Final HR / Director (30-45 phút)

  • Culture fit, thương lượng lương, benefits
  • Có thể là BU Head hoặc HR Director

---

❓ Câu hỏi hay gặp theo từng vòng

Vòng Technical

Java Core:
1. Sự khác nhau giữa `HashMap`, `LinkedHashMap`, `TreeMap`? Khi nào dùng `ConcurrentHashMap`?
2. `volatile` vs `synchronized` vs `Lock` — dùng khi nào?
3. JVM memory model: Stack vs Heap, cách GC hoạt động, G1 vs ZGC
4. So sánh Stream API sequential vs parallel — khi nào parallel chậm hơn?
5. Design Pattern: triển khai Singleton thread-safe, Factory Method, Strategy trong ngữ cảnh thực tế

Microservices & Architecture:
6. Thiết kế hệ thống xử lý 10.000 giao dịch/giây cho Techcombank — bạn chọn kiến trúc nào?
7. Làm sao đảm bảo eventual consistency giữa các service? Saga pattern vs 2PC?
8. Circuit Breaker là gì? Triển khai như thế nào với Resilience4j/Hystrix?
9. Cách bạn xử lý distributed tracing trong hệ thống 50+ microservices
10. Phân biệt API GatewayService Mesh — khi nào dùng cái nào?

Code Review & Quality:
11. Cho đoạn code sau (có bug), tìm và sửa: memory leak, race condition, SQL injection
12. Code này vi phạm nguyên lý SOLID nào? Refactor lại
13. Bạn review code của junior mà cậu ấy không đồng ý — xử lý thế nào?

Mobile (nếu ứng tuyển mobile track):
14. iOS: ARC vs MRC, retain cycle trong closure, SwiftUI vs UIKit
15. Android: Coroutine vs RxJava, Jetpack Compose migration
16. Flutter: State management (Bloc vs Provider vs Riverpod), performance optimization

Banking Domain:
17. ACID trong database transaction là gì? Áp dụng vào chuyển tiền
18. Làm sao đảm bảo idempotency khi khách hàng bấm "Chuyển tiền" 2 lần?
19. PCI-DSS yêu cầu gì về lưu trữ dữ liệu thẻ?
20. Sự khác nhau giữa Open Banking và Embedded Finance

Vòng Behavioral (STAR method)

21. Kể về lần bạn mentor một dev junior gặp khó khăn. Bạn đã làm gì?
22. Một lần bạn phải đưa ra quyết định kiến trúc mà team không đồng thuận. Kết quả?
23. Dự án nào bạn tự hào nhất? Bạn đóng góp gì cụ thể?
24. Bạn xử lý thế nào khi production bị sập lúc 2 giờ sáng?
25. Tại sao rời công ty cũ? Tại sao chọn Techcombank?

---

👔 Dress code & Chuẩn bị

Vòng Dress code Lưu ý
HR & Final Business casual / Smart casual Áo sơ mi + quần tây, giày công sở
Technical Smart casual thoải mái Techcombank khá open, không cần vest
Remote video Polo/sơ mi nhạt, nền sạch Ánh sáng tốt, tai nghe có mic

🎒 Tips "đánh bài" phỏng vấn

Mang theo laptop cá nhân để demo code/project nếu được hỏi
Chuẩn bị 2-3 war stories theo format STAR (Situation, Task, Action, Result) — có số liệu cụ thể
Đặt câu hỏi ngược cho interviewer: "Tech stack của team là gì?", "Sprint cycle bao lâu?", "Có on-call không?"
Không nói xấu công ty cũ, focus vào bài học
Nghiên cứu trước về Techcombank: chiến lược chuyển đổi số, dự án gần đây (Techcombank là ngân hàng số hóa mạnh)
Chuẩn bị câu về lương: "Tôi đang tìm range X-Y triệu, tùy thuộc vào gói benefits và scope công việc" — không nói con số đầu tiên nếu chưa biết range của họ

Lộ trình ôn thi

Lộ trình ôn tập 2 tuần cho vị trí Senior Software Engineer - Techcombank

📚 Kiến thức nền tảng cần nắm vững

1. Java & JVM (trọng tâm)
  • Sách gối đầu: Effective Java (Joshua Bloch), Java Concurrency in Practice (Brian Goetz)
  • Nguồn online: Baeldung.com, Java Revisited, Inside Java (youtube)
  • Ôn: Collections API, Generics, Stream/Lambda, CompletableFuture, JVM internals, GC tuning, ClassLoader
2. Microservices Architecture
  • Sách: Microservices Patterns (Chris Richardson), Building Microservices (Sam Newman)
  • Ôn: Service decomposition, API Gateway, Service Discovery (Consul/Eureka), Circuit Breaker, Saga, Event Sourcing, CQRS
  • Công cụ thực hành: Spring Boot + Spring Cloud + Docker + Kubernetes
3. System Design (rất quan trọng)
  • Sách: System Design Interview Vol 1 & 2 (Alex Xu), Designing Data-Intensive Applications (Martin Kleppmann)
  • Luyện tập trên: educative.io, leetcode.com/system-design
  • Case banking: Payment system, Account aggregation, Real-time fraud detection
4. Observability
  • Công cụ: Prometheus + Grafana, ELK/EFK Stack, Jaeger, OpenTelemetry
  • Khái niệm: Logs vs Metrics vs Traces, SLO/SLI/SLA, RED method
5. Security trong Banking
  • OWASP Top 10, PCI-DSS, ISO 27001
  • OAuth2/OIDC flow, JWT, mTLS, Vault cho secret management

---

🗓️ Lộ trình 14 ngày

Tuần 1: Nền tảng & Code
Ngày Nội dung Output mong đợi
T2 Ôn Java core: Collections, Concurrency, JVM Flashcard 50 câu Q&A
T3 Java nâng cao: Stream API, Optional, Generic, Annotations Code 3 ví dụ thực tế
T4 Design Patterns: GoF + Enterprise Code 5 pattern theo use case banking
T5 SOLID principles + Refactoring Refactor 1 đoạn code vi phạm
T6 Spring Boot deep dive: AOP, Transaction, Security Mini project Spring Boot
T7 Code review practice: review 5 PR thật trên GitHub Note 10 điểm hay + 10 lỗi
CN Nghỉ / Ôn nhẹ flashcards
Tuần 2: Architecture & Soft Skills
Ngày Nội dung Output mong đợi
T8 Microservices theory: pattern + anti-pattern Sơ đồ kiến trúc 1 hệ thống
T9 System Design: Payment system case Whiteboard 1 case banking
T10 Observability & Performance tuning Setup mini Prometheus + Grafana
T11 Security trong banking: PCI-DSS, OWASP Note 20 best practices
T12 Behavioral: chuẩn bị 5 WAR stories (STAR) 5 câu chuyện hoàn chỉnh
T13 Mock interview: nhờ bạn hoặc thu mentor Video review
T14 Tổng hợp + research Techcombank Note 1 trang về TCB + câu hỏi

---

🔗 Tài liệu tham khảo miễn phí & trả phí

Miễn phí
  • [Baeldung](https://baeldung.com) — Java/Spring chuyên sâu
  • [Martin Fowler's Blog](https://martinfowler.com) — Architecture
  • [Techcombank Engineering Blog](https://techcombank.com) — Tech blog của TCB (nếu có)
  • YouTube: Hussein Nasser (system design), Java Brains (Java), InfoQ (conferences)
  • GitHub: awesome-java, awesome-microservices
Trả phí (đáng đầu tư)
  • Educative.io — "Grokking System Design", "Grokking Microservices"
  • DesignGurus.io — System design interview
  • Udemy: các khóa Java/Spring/System Design của in28minutes, Stepan Grygoruk

---

🎯 Bài tập thực hành "đề xuất" trước phỏng vấn

1. Mini project: Xây dựng hệ thống chuyển tiền đơn giản với Java + Spring Boot + MySQL, có:

  • Idempotency key
  • Transaction (ACID)
  • Logging structured
  • 1 unit test, 1 integration test
  • Dockerfile + docker-compose

2. Whiteboard exercise: Vẽ kiến trúc hệ thống Internet Banking của Techcombank dựa trên hiểu biết (app mobile + web + core banking + notification)

3. Read code: Clone 1 repo Java Spring trên GitHub (vd: mall, jeecg-boot), đọc và hiểu kiến trúc của nó trong 2-3 giờ

Tư vấn nghề nghiệp

Lời khuyên sự nghiệp cho Senior Software Engineer trong ngân hàng

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

```
Senior Engineer (bạn ở đây, 3-5 năm)
│ ~2-3 năm

Tech Lead / Lead Engineer
│ ~2-3 năm

Engineering Manager / Principal Engineer
│ ~3-5 năm

Architect (Solution/Enterprise)
│ ~3-5 năm

VP of Engineering / CTO track
```

Tech track vs Management track ở Techcombank khá rõ ràng:

  • Tech track: Senior → Lead → Principal → Distinguished → Fellow
  • Management track: Senior → Tech Lead → EM → Senior EM → Director → VP

---

💰 Mức lương tham khảo (2024-2025, Hà Nội)

Cấp bậc Kinh nghiệm Gross/month (triệu VNĐ) Note
Mid-level 2-3 năm 20-35
Senior (vị trí này) 3-5 năm 35-60 Techcombank thuộc top trả cao
Tech Lead 5-8 năm 55-90 Có thể + stock/ESOP
Engineering Manager 7-10 năm 80-150 + management bonus
Principal/Architect 8-12 năm 100-180 Hiếm, đặc quyền cao
Director/VP 12+ năm 150-300+ Thương lượng riêng

> 💡 Techcombank thường trả cao hơn mặt bằng chung 10-20% cho vị trí tech, cộng thêm 13th month salary, performance bonus, healthcare premium, meal allowance. Một số dự án strategic còn có project bonus riêng.

Mẹo thương lượng:

  • Đừng nói mức lương hiện tại nếu có thể tránh — focus vào kỳ vọng dựa trên market value
  • Dùng data từ [VietnamWorks Salary Report](https://careerbuilder.vn), [ITviec](https://itviec.com)
  • Đề nghị gói tổng (base + bonus + benefits), không chỉ base

---

🛠️ Kỹ năng cần phát triển để lên Lead/Architect

Kỹ năng kỹ thuật (hard skills)

1. System Design ở scale lớn — từ 1 service lên 100+ services
2. Cloud Platform chuyên sâu — AWS/Azure/GCP certification
3. DevOps & SRE — Kubernetes, Terraform, CI/CD pipeline, GitOps (ArgoCD)
4. Data Engineering — Kafka, Spark, Data Lake, Streaming
5. AI/ML integration — LLM, RAG, Vector DB — xu hướng ngân hàng số đang rất hot

Kỹ năng mềm (soft skills)

1. Stakeholder management — giao tiếp với business, BA, executive
2. Project management — Agile/Scrum, SAFe, OKR
3. Public speaking — tech talk, demo cho leadership
4. Mentoring — xây dựng team từ junior đến senior
5. Technical writing — RFC, ADR (Architecture Decision Records), blog

Kỹ năng domain (banking)

1. Hiểu sản phẩm ngân hàng: Tín dụng, Thanh toán, Treasury, Kế toán core banking
2. Quy định pháp lý: NHNN, Luật An ninh mạng, GDPR, PSD2 (nếu apply EU fintech)
3. Open Banking & Embedded Finance
4. CBDC & Real-time payment (Napas 24/7, VietQR, ISO 20022)

---

🎯 Lời khuyên thực chiến

1. Đừng chỉ code — hãy hiểu business: Senior ở ngân hàng mà chỉ biết code mà không hiểu nghiệp vụ tín dụng, thanh toán thì sẽ khó lên Lead

2. Xây dựng personal brand: Viết blog, talk ở meetup, contribute open source — Techcombank đánh giá cao điều này

3. Tìm mentor trong công ty: Ở TCB có nhiều người giỏi, hãy chủ động học hỏi

4. Đừng "gold plate": Trong ngân hàng, ổn định và compliance quan trọng hơn cutting-edge. Học cách balance

5. Cân nhắc chuyển fintech/startup sau 2-3 năm ở bank: sẽ có exposure nhiều hơn, lương có thể cao hơn, nhưng work-life balance thường kém hơn

6. Học thêm tiếng Anh: 90% documentation, conference, design pattern đều bằng tiếng Anh. Techcombank có dự án quốc tế, English tốt là lợi thế lớn

7. Theo dõi xu hướng: GenAI, Blockchain banking, Quantum-safe cryptography — đang là next big thing

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

Mình mới ra trường, được 1 năm kinh nghiệm Java, có nên apply vị trí Senior này không?

Câu trả lời ngắn: Không nên. JD yêu cầu 3-5 năm và có phần 'hướng dẫn kỹ sư cấp dưới' — đây là việc của người đã đủ depth. Nếu apply bạn sẽ:

1. Bị loại ngay ở HR screening vì không match experience
2. Nếu lọt được vào PV, các câu hỏi sẽ rất nặng về architecture, JVM, mentoring — bạn sẽ struggle
3. Kể cả pass, bạn sẽ áp lực vì scope công việc không tương xứng kinh nghiệm

Lời khuyên: Ở lại job hiện tại thêm 2 năm, tập trung:

  • Làm chủ Java + Spring Boot sâu (không phải biết mà là master)
  • Tham gia 1 dự án microservices production thật
  • Chủ động mentor intern/fresher
  • Đóng góp vào code review, đề xuất cải tiến
  • Học system design qua sách và luyện tập

Sau 2-3 năm nữa apply Senior ở Techcombank là vừa đẹp. Hoặc nếu muốn vào TCB sớm, apply vị trí Mid-level (1-3 năm) của họ.

Mức lương kỳ vọng hợp lý cho vị trí Senior này là bao nhiêu? Mình đang ở Hà Nội với 4 năm exp Java.

Với 4 năm kinh nghiệm Java ở Hà Nội cho vị trí Senior Software Engineer tại Techcombank, range hợp lý là 45-65 triệu gross/tháng, tùy thuộc:

Các yếu tố đẩy lên high end (60-65tr):

  • Có kinh nghiệm microservices production thật (không chỉ POC)
  • Đã lead 1-2 dự án nhỏ hoặc mentor team 3-5 người
  • Có chứng chỉ AWS/Spring Professional
  • Đang ở công ty top (VinGroup, FPT, Tiki, VNG...)
  • Tiếng Anh tốt (có thể đọc docs không cần Google dịch)

Các yếu tố về mid (50-55tr):

  • Đa phần làm ở công ty outsource/outsource nước ngoài
  • Chưa thực sự mentor ai
  • Tech stack chưa đa dạng (chỉ Java, không biết mobile/web)

Ngoài base salary, đừng quên hỏi:

  • 13th month salary (tháng lương thứ 13)
  • Performance bonus (thường 1-3 tháng lương)
  • Stock/ESOP (TCB có cho 1 số vị trí senior)
  • Meal allowance, parking, phone allowance
  • Premium healthcare (Bảo Việt, PVI, hoặc quốc tế)
  • Training budget
  • Làm việc hybrid bao nhiêu ngày/tuần

Mẹo: Đừng nói mức lương hiện tại. Khi bị hỏi, nói: "Tôi kỳ vọng khoảng 55 triệu, nhưng tôi cũng quan tâm đến gói tổng thể và cơ hội phát triển. Anh/chị có thể chia sẻ range của vị trí này không?"

Mình đang làm backend Java 4 năm ở fintech, muốn chuyển sang ngân hàng. Có nên không? Khác biệt lớn nhất là gì?

Có nên chuyển nếu bạn muốn ổn định hơn, build hệ thống lớn, và đã chán tốc độ "ship nhanh" của fintech. Đây là phân tích khách quan:

Khác biệt lớn giữa Fintech và Bank:

Khía cạnh Fintech Bank
Tốc độ release Hàng ngày/tuần Hàng tuần/tháng (có change window)
Tech stack Modern, đa dạng Legacy + đang modernize
Quy trình Lean, ít process Nặng về compliance, audit
Scale Vài triệu users Vài chục triệu users (Techcombank ~16M+)
Data Phong phú, ít constraint Rất nhiều regulation (NHNN, PCI-DSS)
On-call Thường xuyên Ít hơn, nhưng incident rất nặng
Innovation Rất khuyến khích Cần qua nhiều vòng approval

Lợi ích khi vào ngân hàng:

  • Học được regulated environment — kỹ năng này transfer được đi khắp nơi
  • CV đẹp hơn (banking là "đại gia", resume có giá trị)
  • Lương ổn định, benefits tốt (đặc biệt TCB)
  • Hệ thống scale rất lớn — bạn sẽ học được nhiều về performance, security
  • Ít áp lực "fail fast" hơn fintech

Thách thức:

  • Có thể chán vì quy trình chậm
  • Legacy code nhiều (nhưng TCB đang chuyển đổi mạnh nên cơ hội học modern stack vẫn nhiều)
  • Ít quyền tự quyết hơn
  • Đôi khi bị giới hạn bởi vendor

Chuẩn bị trước khi apply:

  • Học thêm về PCI-DSS, ISO 27001
  • Đọc về hệ thống core banking (TCS BaNCS, Flexcube)
  • Tìm hiểu về Open Banking API, Napas, VietQR
  • Học thêm về observability (banking cần audit trail rất chặt)

Nếu bạn đang ở fintech như MoMo, ZaloPay, Timo thì chuyển sang TCB là lateral move rất tốt.

JD không ghi rõ tech stack cụ thể, làm sao để biết mình có match không?

Đúng là JD này khá chung chung, nhưng bạn có thể suy ra:

Cách suy luận tech stack:

  • Java cho Backend: TCB là ngân hàng lớn, core banking chắc chắn Java/Spring. Mobile app cũng dùng Java cho phần backend
  • TypeScript cho Web: Web app TCB (techcombank.com.vn) chắc chắn dùng React/Angular. Bạn có thể check bằng cách View Source hoặc dùng tool BuiltWith
  • Swift + Kotlin cho Mobile native: iOS app dùng Swift, Android app dùng Kotlin
  • Dart (Flutter): Có thể đang có dự án cross-platform hoặc migrate từ native sang Flutter

Để biết chính xác, bạn có thể:

1. Hỏi HR ở vòng screening: "Tech stack hiện tại của team là gì ạ?" — HR không nói rõ thì không sao, nhưng câu hỏi thể hiện sự quan tâm

2. Check LinkedIn của Engineering Manager hoặc Senior Engineers đang làm ở TCB → xem profile, tech họ liệt kê

3. Google: "Techcombank engineering blog" hoặc "Techcombank technology stack"

4. Check GitHub: TCB có 1 số repo public, ví dụ SDK, chatbot

5. Hỏi trực tiếp trong PV vòng 2-3: Cách này tốt nhất

Nếu bạn chỉ match 1-2 tech, vẫn có cơ hội vì TCB có nhiều team, mỗi team dùng stack khác nhau. Ví dụ: bạn giỏi Java + Kotlin nhưng không biết Swift/Dart → apply vào team Android Backend.

Phỏng vấn Senior Java ở Techcombank khó đến mức nào? So với VinGroup, FPT thì sao?

Mức độ khó: Techcombank thuộc top 3 ngân hàng về technical bar (cùng với VPBank, MB, và một số fintech như MoMo). So sánh:

Techcombank:

  • Java core: Khó — hỏi sâu JVM, concurrency, performance
  • System Design: Khó — case thực tế về banking scale
  • Code review: Có, on-site
  • Domain knowledge: Quan trọng, hỏi về payment, fraud detection
  • Culture fit: Cao — TCB đang xây văn hóa "không sợ thất bại"

So sánh:

  • VinGroup/VinAI: Thường focus vào algorithm nặng hơn, LeetCode hard
  • FPT Software: Tùy project, outsource nước ngoài thì bar cao, project nội địa thì dễ hơn
  • MoMo/Tiki/VNG: Technical bar cao nhưng focus product sense nhiều hơn
  • VPBank/MB: Tương đương TCB, có khi cao hơn về data engineering
  • Techcombank: Bar cân bằng giữa tech và business, hỏi về impact

Điểm đặc biệt ở TCB:

  • Câu hỏi thường scenario-based: "Nếu hệ thống chuyển tiền bị chậm 5 giây, bạn sẽ debug thế nào?"
  • Đánh giá problem-solving process không chỉ kết quả
  • Thường có take-home assignment ở 1 số vòng (Senior trở lên)
  • Hỏi về production experience rất kỹ

Chuẩn bị: Nếu bạn đã pass được Senior PV ở VinGroup, MoMo, Tiki, MB thì TCB cũng nằm trong tầm tay. Nếu bạn mới chỉ quen level Mid thì nên chuẩn bị thêm 1-2 tháng.

Làm Senior ở Techcombank có cơ hội thăng tiến lên Lead/Manager không? Hay là chỉ làm tech mãi?

Cơ hội thăng tiến ở TCB rất rõ ràng, có cả 2 track:

Individual Contributor (IC) Track tại TCB:

  • Senior Engineer → Lead Engineer → Principal Engineer → Distinguished Engineer
  • IC track rất được coi trọng ở TCB, không bị ép chuyển management
  • Salary cho Principal/Distinguished cạnh tranh với VP/EM
  • Thường được giao các dự án strategic (data platform, AI/ML, cloud migration)

Management Track tại TCB:

  • Senior → Tech Lead → Engineering Manager → Senior EM → Director → VP
  • Tech Lead có thể kiêm cả 2 vai (lead team 5-8 người + vẫn code)
  • EM thường quản 1-2 squad (10-20 người)
  • Lên Director thì thường chuyển sang strategic, ít code

Yếu tố ảnh hưởng thăng tiến:
1. Performance review hàng quý — cần đạt "Exceed" nhiều lần
2. Business impact — không chỉ code giỏi mà phải giải quyết vấn đề kinh doanh
3. Visibility — chủ động present kết quả, tham gia cross-team project
4. Mentoring — đã bao nhiêu junior bạn grow lên được
5. Innovation — đề xuất cải tiến, áp dụng công nghệ mới

Thời gian trung bình:

  • Senior → Lead: 2-3 năm
  • Lead → EM: 2-4 năm (tùy năng lực)
  • EM → Director: 3-5 năm

Mẹo: Hãy nói rõ với manager của bạn ở vòng PV cuối rằng bạn quan tâm đến track nào (IC hay management). TCB sẽ định hướng phù hợp. Cũng nên hỏi trong PV về competency framework của team.

Mình là Tech Lead team 5 người ở công ty product, 5 năm exp, có nên apply Senior ở TCB không? Có bị downgrade không?

Không hẳn bị downgrade — đây là câu hỏi nhiều người thắc mắc. Phân tích:

Sự khác biệt về scope:

  • Tech Lead ở công ty product nhỏ (50-200 người): thường lead team 5-8 người, full-stack, làm đủ thứ từ infra đến feature
  • Senior ở TCB: thuộc 1 squad lớn hơn (1 squad có thể 20-30 người), chuyên sâu 1 area, có Principal/Architect ở trên

Vậy có nên apply Senior không?

NÊN apply Senior nếu:

  • Bạn muốn học regulated environment (banking)
  • Bạn muốn scale lớn hơn (vài triệu → vài chục triệu users)
  • Bạn muốn build domain expertise (banking domain rất có giá trị)
  • Bạn chấp nhận vài tháng đầu "learning curve" về hệ thống legacy

NÊN cân nhắc apply Lead nếu:

  • Bạn muốn giữ nguyên level leadership
  • Bạn muốn tiếp tục quản lý team trực tiếp
  • Bạn đã có kinh nghiệm banking

Thực tế ở TCB: Title không quyết định tất cả. Một Senior ở TCB nếu có mentor nhiều người + dẫn dắt technical decision thì scope thực tế không khác Tech Lead ở công ty nhỏ.

Mẹo PV: Nếu bạn apply Senior nhưng thực tế là Tech Lead 5 năm, hãy frame nó như: "Tôi đã lead team 5 người ở công ty cũ, đến TCB tôi muốn focus sâu hơn vào technical contribution và học banking domain. Tôi thấy scope của Senior ở TCB rất phù hợp với mong muốn này."

Nhiều người accept Senior ở TCB rồi 6-12 tháng sau promote lên Lead. Đó cũng là path phổ biến.

JD nói 'hướng dẫn kỹ sư cấp dưới' nhưng mình chưa từng mentor ai. Có nên apply không?

Nên apply, nhưng cần chuẩn bị kỹ phần này. Phân tích:

Tại sao vẫn nên apply:

  • Ở level 3-5 năm, nhiều người chưa có title "mentor" chính thức nhưng đã làm mentor ngầm
  • TCB có chương trình onboard tốt, bạn sẽ được training cách mentor
  • Họ đăng tuyển Senior chứ không phải Tech Lead, nên kỳ vọng "mentor" ở đây là ở mức peer guidance + code review, không phải quản lý 1-1

Nhưng 'hướng dẫn kỹ sư cấp dưới' thực tế là gì ở TCB?

  • Review code của junior/mid
  • Pair programming
  • Share knowledge trong team (brown bag, tech talk nội bộ)
  • Giúp onboarding new joiner
  • Đề xuất cải tiến quy trình cho cả team

Nếu bạn chưa từng làm những việc này, hãy bắt đầu ngay hôm nay:
1. Tại job hiện tại: Chủ động review PR của junior. Mỗi tuần dành 2-3 giờ pair programming với 1 bạn mới
2. Viết blog nội bộ hoặc share knowledge trong team Slack
3. Đề xuất cải tiến 1 quy trình nhỏ (cách viết commit message, coding convention)
4. Tham gia cộng đồng: Mentor trên ADPList, hoặc join 1 group như VietOpenAI, Vietnam Devs — chia sẻ kiến thức miễn phí

Trong PV, nếu được hỏi "Bạn đã mentor ai chưa?", hãy trả lời thật:
"Tôi chưa có title mentor chính thức, nhưng tôi thường xuyên review code của bạn mới và pair programming. Tôi cũng đã viết 1-2 doc hướng dẫn onboarding cho team. Tôi rất thích việc mentoring và sẵn sàng phát triển thêm kỹ năng này."

Thành thật + có plan phát triển = tốt hơn bịa chuyện.