Expert, Software Engineering (40001156)
Mô tả công việc
Job Purpose
'The Expert, Software Engineering role within TechcomBank’s IT Division – Development Engineering function is responsible for providing deep technical expertise, leading complex software development projects, and driving innovation. Experts are expected to mentor both junior and senior engineers, contribute to system architecture, and implement best practices to ensure high-quality, scalable, and secure software solutions.
Key Accountabilities (1)
1. Low-Level Architecture Design & Development
- Contribute to low-level architecture design and develop software components that meet efficiency, scalability, and security standards.
- Work closely with architects and senior engineers to optimize system design and implementation.
2. Technical Mentorship & Process Improvement
- Guide Officer-level engineers, providing mentorship on best practices, coding standards, and development workflows.
- Identify areas for process improvements and drive adoption of engineering best practices within the team.
Key Accountabilities (2)
'3. Code Quality & Optimization
- Lead peer code reviews, enforce coding standards, and improve overall code maintainability.
- Optimize software for performance, scalability, and security, ensuring high reliability in production environments.
4. Testing & Debugging
- Conduct unit testing, integration testing, and contract testing to ensure software reliability.
- Collaborate with QE teams to diagnose, troubleshoot, and resolve complex defects in a timely manner.
- Promote test automation to improve software stability and release efficiency.
Key Accountabilities (3)
5. Technical Documentation
- Create and maintain clear, structured documentation, including:
- API specifications
- System design documents
- Coding and architectural guidelines
- Ensure documentation is regularly updated and aligned with system changes.
Key Relationships - Direct Manager
Head of Software Engineeing/ CTO/ Director, Software engineering
Key Relationships - Direct Reports
Staffs under team
Key Relationships - Internal Stakeholders
Division, units, branches/subsidiaries of TCB
Key Relationships - External Stakeholders
Application/solution provider partners, IT departments of key customer businesses
Success Profile - Qualification and Experiences
Qualifications:
- Bachelor's or Master's Degree in Computer Science, Software Engineering, Information Technology, or a related field.
Work Experience:
- At least 5 years of experience in the engineering field.
- At least 2 years in a Team lead position.
- Proficiency in programming languages related to application development.
+ Backend: Java
+ Web: Typescript
+ Mobile: Swift, Kotlin, Dart
- Experience in managing technical teams and mediating in the work environment.
- Experience in leading and managing system/software delivery.
- Experience in both architecture and software design implementation.
+ SOLID Principle
+ Design Patterns
+ Microservices architectures
+ Observability (monitoring, logging, tracing)
+ Compiling, Runtime deep understanding
- Experience in advanced aspect of engineering field:
+ High performanace, concurrency
+ Security best practices
+ Emerging technology
Foreign Language:
- English as per the organization's regulations
Phân tích kỹ năng cần có
Phân tích kỹ năng cho vị trí Expert, Software Engineering tại Techcombank
🎯 Tổng quan vị trí
Đây là vị trí Expert (Chuyên gia) trong bộ máy IT của Techcombank – cấp bậc cao trong career path kỹ thuật, nằm giữa Senior Engineer và Principal/Architect. Người giữ vị trí này vừa là technical leader (mentor, review code, định hướng kỹ thuật), vừa là hands-on engineer (vẫn trực tiếp thiết kế và phát triển hệ thống).
🔧 Hard Skills bắt buộc
1. Ngôn ngữ lập trình (yêu cầu thành thạo ít nhất 2-3 trong số này)
| Nhóm | Công nghệ | Mức độ yêu cầu |
|---|---|---|
| Backend | Java | Thành thạo, production-grade |
| Web Frontend | TypeScript | Thành thạo |
| Mobile iOS | Swift | Có kinh nghiệm thực chiến |
| Mobile Android | Kotlin | Có kinh nghiệm thực chiến |
| Mobile Cross-platform | Dart (Flutter) | Có kinh nghiệm |
2. Kiến trúc & Design (phần trọng yếu nhất)
- SOLID Principles – Nắm vững và áp dụng thành thạo trong code review
- Design Patterns (GoF, Enterprise patterns): Factory, Strategy, Observer, Builder, Repository, CQRS, Event Sourcing...
- Microservices Architecture: Service decomposition, API Gateway, Service Mesh, Saga pattern, Circuit Breaker
- Observability: Monitoring (Prometheus/Grafana), Logging (ELK Stack), Distributed Tracing (Jaeger/Zipkin)
- Runtime & Compiling: Hiểu sâu JVM internals (cho Java), memory management, garbage collection, JIT compilation
3. Kỹ năng nâng cao (Advanced)
- High Performance & Concurrency: Multi-threading, async programming, reactive (Reactor, RxJava, Vert.x), lock-free data structures
- Security Best Practices: OWASP Top 10, OAuth2/JWT, mã hóa, secure coding, penetration testing basics
- Emerging Technologies: Cloud-native (Kubernetes, Docker), Serverless, AI/ML integration, Blockchain awareness
4. Quality Engineering
- Unit Testing (JUnit5, Mockito)
- Integration Testing (Testcontainers)
- Contract Testing (Pact)
- CI/CD pipelines (Jenkins, GitLab CI, GitHub Actions)
🤝 Soft Skills quan trọng
| Kỹ năng | Mức độ | Lý do quan trọng |
|---|---|---|
| Technical Mentorship | ★★★★★ | Trực tiếp mentor cho Officer-level engineers |
| Code Review Leadership | ★★★★★ | Lead peer reviews, enforce standards |
| Stakeholder Communication | ★★★★☆ | Làm việc với architects, business units, vendors |
| Conflict Resolution | ★★★★☆ | "Mediating in the work environment" được yêu cầu rõ |
| Process Improvement Mindset | ★★★★☆ | Drive adoption of best practices |
| Tiếng Anh | ★★★☆☆ | Theo quy định TCB – đọc tài liệu, giao tiếp với vendor nước ngoài |
📜 Chứng chỉ gợi ý (không bắt buộc nhưng là lợi thế)
| Chứng chỉ | Giá trị |
|---|---|
| AWS Solutions Architect Professional / Azure Solutions Architect Expert | Cao – thể hiện cloud expertise |
| Certified Kubernetes Administrator (CKA) | Cao – microservices deployment |
| Oracle Certified Professional Java SE | Trung bình – xác nhận Java depth |
| ISTQB Advanced | Trung bình – cho testing mindset |
| SAFe Agilist | Trung bình – nếu TCB dùng Agile scaling |
💼 Kinh nghiệm tối thiểu cần có
- ≥ 5 năm kinh nghiệm engineering (không tính thời gian intern/fresher)
- ≥ 2 năm ở vị trí Team Lead (có quản lý trực tiếp 2-5 người trở lên)
- Đã từng lead delivery ít nhất 1-2 dự án lớn (end-to-end)
- Có track record về mentoring junior/mid engineers
⚖️ Mức độ phù hợp – Checklist tự đánh giá
```
□ Đã làm Java backend production ≥ 4 năm
□ Có kinh nghiệm thiết kế microservices thực tế (không chỉ lý thuyết)
□ Từng lead team ≥ 2 năm (có report trực tiếp)
□ Đã review code cho team ≥ 6 tháng liên tục
□ Hiểu về observability đã apply vào production
□ Có thể giải thích JVM tuning, GC logs
□ Tiếng Anh đọc technical docs thoải mái
```
Nếu đạt ≥ 5/7 mục → Bạn đủ profile để apply.
---
Chuẩn bị phỏng vấn
Hướng dẫn phỏng vấn vị trí Expert Software Engineering tại Techcombank
🔄 Quy trình tuyển dụng dự kiến (Techcombank IT)
Dựa trên quy trình thường gặp của Techcombank và các ngân hàng lớn tại Việt Nam cho vị trí Expert:
```
Vòng 1: HR Screening (30-45 phút)
↓
Vòng 2: Technical Phone/Video Screen (60 phút)
↓
Vòng 3: On-site Technical Deep-dive (3-4 giờ, có thể nhiều interviewers)
↓
Vòng 4: Hiring Manager Interview (60-90 phút)
↓
Vòng 5: Director/CTO Round (45-60 phút) – thường với Head of Software Engineering
↓
Vòng 6: HR Final – Offer & Negotiation
```
Tổng thời gian: 2-4 tuần tùy schedule.
---
📋 Chi tiết từng vòng & câu hỏi hay gặp
Vòng 1 – HR Screening
Mục đích: Lọc profile cơ bản, fit với văn hóa, mức lương
Câu hỏi thường gặp:
- "Giới thiệu ngắn về bản thân và kinh nghiệm liên quan đến vị trí?"
- "Tại sao bạn muốn rời công ty hiện tại?"
- "Mức lương mong muốn hiện tại là bao nhiêu? Expected tăng bao nhiêu %?"
- "Bạn biết gì về Techcombank? Tại sao muốn vào đây?"
- "Trong 2-3 năm tới, bạn muốn đi theo hướng nào?"
- "Bạn quản lý bao nhiêu người? Báo cáo cho ai?"
Tips:
- ✅ Chuẩn bị sẵn elevator pitch 60 giây
- ✅ Research về Techcombank: chiến lược chuyển đổi số, các dự án gần đây (ví dụ: Techcombank là ngân hàng tiên phong về digital banking tại VN)
- ✅ Đưa ra range lương thông minh (xem phần career_advice)
---
Vòng 2 – Technical Screen (Video Call)
Mục đích: Test nền tảng kỹ thuật cơ bản, communication
Câu hỏi Java/Spring:
- Sự khác biệt giữa `HashMap` và `ConcurrentHashMap`?
- Giải thích Java Memory Model, các vùng nhớ (Heap, Stack, Metaspace)
- Spring Boot vs Spring MVC? Cách Spring quản lý bean lifecycle?
- `@Transactional` hoạt động thế nào? Rollback khi nào?
Câu hỏi System Design (mini):
- "Thiết kế URL shortener" / "Thiết kế hệ thống notification"
- Làm sao handle 10,000 requests/second?
Câu hỏi Microservices:
- Service discovery, Circuit Breaker pattern
- Distributed transactions, Saga pattern
- API Gateway vs Load Balancer
Tips:
- ✅ Dùng whiteboard online (Excalidraw, Miro) để vẽ architecture
- ✅ Luôn clarify requirements trước khi thiết kế
- ✅ Đề cập trade-offs: consistency vs availability, latency vs throughput
---
Vòng 3 – On-site Technical Deep-dive ⭐ Quan trọng nhất
Thường có 2-3 interviewers: Tech Lead/Architect + Senior Engineer
Format: Coding + System Design + Behavioral
Phần A: Coding (45-60 phút)
```java
// Ví dụ câu hỏi coding hay gặp:
// 1. Implement thread-safe LRU Cache
// 2. Design rate limiter
// 3. Producer-Consumer với blocking queue
// 4. Parse nested JSON an toàn
```
- Thường dùng ngôn ngữ bạn chọn, không bắt buộc Java
- Đánh giá: clean code, edge cases, complexity, testability
Phần B: System Design sâu (60-90 phút)
Câu hỏi mẫu:
- "Thiết kế core banking system cho Techcombank – bao gồm accounts, transactions, ledger"
- "Thiết kế payment gateway xử lý 1 triệu transactions/ngày"
- "Thiết kế hệ thống fraud detection real-time"
Framework trả lời:
```
1. Clarify requirements (functional + non-functional)
2. Estimate (QPS, storage, bandwidth)
3. High-level design (boxes & arrows)
4. Deep dive vào 2-3 components quan trọng
5. Address bottlenecks, scaling, monitoring
6. Trade-offs & alternatives
```
Phần C: Architecture & Best Practices (45 phút)
- "Khi nào nên dùng microservices vs monolith?"
- "Làm sao đảm bảo zero-downtime deployment?"
- "Bạn xử lý technical debt trong team như thế nào?"
- "Cách bạn conduct code review hiệu quả?"
- "JVM tuning bạn đã làm thực tế?"
Phần D: Behavioral/Leadership (30-45 phút)
- "Kể về lần bạn phải mediate conflict trong team"
- "Bạn đã mentor một junior engineer như thế nào? Kết quả?"
- "Lần bạn phải push back một quyết định kỹ thuật của cấp trên"
- "Project thất bại bạn từng lead – bài học rút ra?"
---
Vòng 4 – Hiring Manager Interview
Thường là Head of Software Engineering hoặc Senior Director
- Tập trung vào vision, leadership, strategic thinking
- Câu hỏi về cách bạn sẽ scale team, xây dựng engineering culture
- Thảo luận về challenges cụ thể của TCB hiện tại
- Có thể có câu hỏi về why banking – động lực làm trong ngân hàng
Vòng 5 – Director/CTO Round
- Thường ngắn gọn, high-level
- Đánh giá culture fit và growth potential
- Có thể hỏi về mục tiêu dài hạn, đóng góp cho tổ chức
---
👔 Dress Code
| Vòng | Trang phục |
|---|---|
| Vòng 1-2 (online) | Business casual hoặc smart casual |
| Vòng 3 (on-site) | Business formal – áo sơ mi, quần tây, giày tây |
| Vòng 4-5 | Business formal |
Lưu ý đặc thù ngân hàng: dress code thường conservative hơn tech company thuần túy. Tránh quần jeans, áo thun, sneaker.
🎒 Chuẩn bị mang theo (on-site)
- Laptop cá nhân (backup, đề phòng laptop công ty hỏng)
- CV in sẵn 2-3 bản
- Sổ tay + bút (ghi chép)
- Bản vẽ/prep cho system design nếu muốn (whiteboard thường có sẵn)
💡 Pro Tips
1. Luôn chuẩn bị 2-3 câu hỏi để hỏi ngược interviewer – thể hiện sự quan tâm:
- "Hiện tại team đang đau đầu với technical challenge nào nhất?"
- "Roadmap của team trong 6 tháng tới là gì?"
- "Bạn đo lường success của một Expert như thế nào?"
2. STAR method cho câu hỏi behavioral: Situation → Task → Action → Result
3. Đừng bluff – ở level này, interviewer phát hiện ngay
4. Thể hiện humility + confidence – "Tôi chưa biết, nhưng tôi sẽ tìm hiểu" tốt hơn là bịa
---
Lộ trình ôn thi
Lộ trình ôn tập & chuẩn bị trong 1-2 tuần
📚 Kiến thức nền tảng cần ôn (chia theo 7 ngày)
Ngày 1-2: Java & JVM Deep Dive ⭐ Ưu tiên cao nhất
Tài liệu:
- 📖 Effective Java (Joshua Bloch) – đọc lại các item 1-11, 50-56
- 📖 Java Concurrency in Practice (Brian Goetz) – chapters về memory model, locks, atomic
- 🌐 [Baeldung Java](https://www.baeldung.com/) – bài viết chất lượng cao
- 🎥 [Java Brains](https://www.youtube.com/javabrains) trên YouTube
Cần nắm vững:
```
□ Java Memory Model (JMM) – happens-before, volatile, final
□ Garbage Collection algorithms (G1, ZGC, Parallel)
□ Classloading mechanism
□ Collections Framework internals (HashMap, ConcurrentHashMap, CopyOnWriteArrayList)
□ Stream API & Optional
□ CompletableFuture & reactive programming
□ JVM tuning parameters (-Xmx, GC logs, JIT)
```
Practice problems:
- Implement LRU Cache thread-safe
- Solve 5 bài trên [LeetCode Concurrency tag](https://leetcode.com/tag/concurrency/)
---
Ngày 3: Spring Ecosystem & Microservices
Tài liệu:
- 📖 Spring in Action (Craig Walls)
- 🌐 [Spring.io official guides](https://spring.io/guides)
- 📖 Microservices Patterns (Chris Richardson)
Ôn tập:
```
□ Spring Boot auto-configuration
□ Spring Security + OAuth2/JWT
□ Spring Data JPA vs MyBatis
□ Spring Cloud components (Gateway, Config, Sleuth)
□ Resilience4j (Circuit Breaker, Rate Limiter)
□ Message queues (Kafka, RabbitMQ) – at-least-once, exactly-once
□ Distributed tracing với OpenTelemetry
□ Containerization: Docker multi-stage build, Kubernetes manifests
```
---
Ngày 4: System Design & Architecture Patterns ⭐ Phỏng vấn sẽ hỏi nặng
Tài liệu:
- 📖 Designing Data-Intensive Applications (Martin Kleppmann) – bible
- 📖 System Design Interview Vol 1 & 2 (Alex Xu) – bài tập thực chiến
- 🌐 [System Design Primer](https://github.com/donnemartin/system-design-primer) trên GitHub
Practice – Design mỗi hệ thống trong 45 phút:
1. URL Shortener (cơ bản)
2. Twitter timeline (fan-out)
3. Payment processing system
4. Core banking mini
5. Notification system đa kênh
6. Rate Limiter + Circuit Breaker
Patterns cần nhớ:
```
□ CAP theorem, BASE vs ACID
□ Event Sourcing, CQRS
□ Saga pattern (Orchestration vs Choreography)
□ Bulkhead, Circuit Breaker, Retry, Timeout
□ Database sharding strategies
□ Caching strategies (Cache-Aside, Write-Through, Write-Behind)
□ Consistent hashing
```
---
Ngày 5: Observability & DevOps
Ôn:
```
□ Prometheus + Grafana dashboards
□ ELK Stack (Elasticsearch, Logstash, Kibana)
□ Distributed tracing: OpenTelemetry, Jaeger
□ SLI/SLO/SLA
□ CI/CD pipelines (GitHub Actions, GitLab CI)
□ Blue-green, Canary deployment
□ Infrastructure as Code (Terraform basics)
```
---
Ngày 6: Mobile & Frontend (tùy nhu cầu)
Vì JD yêu cầu cả Swift, Kotlin, Dart – chỉ cần demonstrate được kiến thức nền tảng nếu bạn không phải mobile dev chính:
Swift: Protocol-oriented programming, ARC, Combine framework
Kotlin: Coroutines, Flow, Sealed classes
Dart/Flutter: Widget tree, BLoC pattern, Isolate
TypeScript: Advanced types, generics, React/Angular concepts
---
Ngày 7: Security & Soft Skills
Security:
- OWASP Top 10
- SQL Injection, XSS, CSRF prevention
- JWT vs Session-based auth
- Encryption (AES, RSA), Hashing (bcrypt, Argon2)
- Banking-specific: PCI-DSS, ISO 27001 basics
Soft skills prep:
- Chuẩn bị 3-4 câu chuyện STAR về:
- 1 lần mentor thành công
- 1 lần resolve conflict trong team
- 1 lần deliver project khó
- 1 lần fail + lesson learned
---
🎯 Practice Mock Interview
Ngày 7-10: Mock interview với bạn bè hoặc dùng AI
- 1 buổi coding (60 phút)
- 1 buổi system design (90 phút)
- 1 buổi behavioral (45 phút)
- Record lại và tự review
---
📱 Resources tham khảo nhanh
| Loại | Resource |
|---|---|
| Coding practice | LeetCode (Hard/Medium), HackerRank |
| System Design | highscalability.com, System Design Primer repo |
| Java deep dive | Baeldung, DZone Java Zone |
| Vietnamese banking tech | TCB Tech Blog, VNG Engineering Blog |
| Mock interview | Pramp, interviewing.io |
| Latest tech news | InfoQ, The Pragmatic Engineer newsletter |
📋 Checklist ngày phỏng vấn
```
□ Test internet connection (nếu online)
□ Test camera, mic, môi trường yên tĩnh
□ Review CV 1 lần cuối
□ In 2 bản CV (nếu on-site)
□ Mang theo sổ tay + bút
□ Ăn sáng no, không uống quá nhiều cafe
□ Mặc dress code đúng
□ Đến sớm 10-15 phút
□ Để điện thoại im lặng
```
---
Tư vấn nghề nghiệp
Lời khuyên sự nghiệp cho vị trí Expert Software Engineering
🪜 Lộ trình thăng tiến trong ngân hàng
```
Fresher/Junior (0-2 năm)
↓
Officer / Mid-level Engineer (2-4 năm)
↓
Senior Engineer / Specialist (4-6 năm) ← Bạn cần ≥ 5 năm
↓
Expert / Senior Expert (6-10 năm) ← VỊ TRÍ NÀY
↓
Principal Engineer / Architect (8-12 năm)
↓
Head of Engineering / CTO track (12+ năm)
↓
VP/Director of Technology
```
Vị trí Expert thường tương đương Senior Manager trong career path của Techcombank – đã có team nhỏ (3-7 người) hoặc ảnh hưởng cross-team.
💰 Mức lương kỳ vọng theo cấp bậc (Techcombank & top ngân hàng VN)
| Cấp bậc | Kinh nghiệm | Gross/month (VNĐ) | Ghi chú |
|---|---|---|---|
| Mid-level | 2-4 năm | 25-40 triệu | |
| Senior | 5-7 năm | 45-70 triệu | |
| Expert ⭐ | 7-10 năm | 70-120 triệu | Có thể cao hơn nếu lead team |
| Principal/Architect | 10+ năm | 120-200 triệu | |
| Head/Director | 12+ năm | 200-400+ triệu | + LTI, ESOP (nếu có) |
Lưu ý cho TCB:
- Techcombank trả lương IT competitive trong nhóm big4 ngân hàng (cùng Vietcombank, MB, VPBank)
- Có 13th month salary, thưởng Tết, thưởng KPI (thường 2-4 tháng lương)
- ESOP có thể có cho vị trí senior (cần hỏi HR khi negotiate)
- Benefits: bảo hiểm sức khỏe cao cấp, training budget, laptop xịn
Chiến lược đàm phán:
1. Research trên [VietnamWorks salary report](https://www.vietnamworks.com/salary), [ITviec](https://itviec.com)
2. Đưa ra range, không fix một con số: "Tôi kỳ vọng 80-110 triệu gross tùy package"
3. Cân nhắc toàn bộ package: base + bonus + ESOP + benefits
4. Nếu offer thấp hơn 15% kỳ vọng → counter-offer một cách văn minh
🎓 Kỹ năng cần phát triển thêm để thăng tiến lên Principal/Architect
Technical depth (chọn 1-2 sâu)
- Distributed Systems: consensus (Raft, Paxos), CRDT, vector clocks
- Database internals: indexing, query optimization, replication
- Cloud-native: Service Mesh (Istio), eBPF, WASM
- AI/ML integration: LLM applications, vector databases, RAG patterns
Technical breadth
- Hiểu domain ngân hàng: Basel III, Open Banking, eKYC, PSD2 equivalents
- Cost optimization: FinOps, cloud cost management
- Reliability engineering: SRE practices, chaos engineering
Leadership & Strategy
- Engineering management: OKRs, performance reviews, hiring
- Influence without authority: cross-team initiatives
- Public speaking: tech talk, conference, mentoring community
- Writing: tech blog, RFC documents, design docs
🔄 Cơ hội chuyển ngành từ vị trí này
Sau khi giữ vị trí Expert 2-3 năm, bạn có thể đi theo nhiều hướng:
```
┌─ Technical track: Principal Engineer → Fellow → Distinguished Engineer
├─ Management track: Engineering Manager → Director → VP Engineering
├─ Specialist track: Solutions Architect, Security Architect, Data Architect
├─ Product track: Technical Product Manager (vẫn gần kỹ thuật)
├─ Consulting track: Big 4, boutique tech consulting
└─ Startup track: CTO/co-founder ở fintech startup
```
⚠️ Lưu ý đặc thù ngân hàng
Ưu điểm:
- ✅ Stability – ngân hàng lớn ít khi sa thải
- ✅ Học được business domain sâu (banking, finance)
- ✅ Lương + thưởng ổn định, benefits tốt
- ✅ Scale hệ thống lớn – bài toán thực tế thú vị
Thách thức:
- ⚠️ Tốc độ phát triển công nghệ có thể chậm hơn tech company thuần
- ⚠️ Compliance/regulation nặng – ít quyền "tự do" ra quyết định kỹ thuật
- ⚠️ Legacy systems có thể chiếm phần lớn thời gian
- ⚠️ Văn hóa conservative hơn, decision-making chậm
Lời khuyên thật lòng từ đàn anh:
> Nếu bạn muốn thử thách kỹ thuật khốc liệt + tốc độ nhanh → fintech startup/product company
> Nếu bạn muốn balance work-life + học domain + ổn định → ngân hàng lớn như TCB là lựa chọn rất tốt
🎯 Action Items trong 30 ngày tới
```
Tuần 1:
□ Update CV với metrics cụ thể (%, $, số người, số dự án)
□ Optimize LinkedIn profile
□ Research 3 interviewers có thể trên LinkedIn
Tuần 2:
□ Apply qua Techcombank careers portal
□ Reach out 1-2 người trong TCB trên LinkedIn (informational chat)
Tuần 3:
□ Bắt đầu ôn theo study guide
□ Mock interview đầu tiên
Tuần 4:
□ Hoàn tất ôn tập
□ Mock interview thứ 2
□ Tự tin apply & phỏng vấn 🚀
```
---
Câu hỏi thường gặp
Em là sinh viên năm cuối ngành CNTT, muốn apply vị trí Expert Software Engineering tại Techcombank nhưng JD yêu cầu 5 năm kinh nghiệm. Em có nên apply không?
Câu trả lời ngắn: Không nên apply vị trí này khi chưa đủ kinh nghiệm. Đây là vị trí Expert – level cao, yêu cầu 5+ năm + 2+ năm team lead. Bạn sẽ bị HR loại ngay ở vòng đầu, và nếu lọt được thì rất khó vượt qua vòng technical. Lời khuyên cho em: (1) Bắt đầu với vị trí fresher/junior tại TCB hoặc các công ty nhỏ hơn, (2) Tích lũy 3-4 năm kinh nghiệm thực tế, đặc biệt là ở backend Java + microservices, (3) Trong thời gian đó cố gắng lead 1-2 dự án nhỏ hoặc mentor junior, (4) Sau đó apply lại. Techcombank cũng có chương trình Fresher IT và tuyển Officer-level – em nên target các vị trí đó trước.
Tôi đang là Senior Java Developer ở công ty product (không phải ngân hàng) với 6 năm kinh nghiệm, chưa từng lead team. Cơ hội của tôi thế nào?
Profile của bạn khá gần với yêu cầu nhưng thiếu mảng team lead (JD yêu cầu 2+ năm). Cơ hội vẫn có, nhưng cần chuẩn bị kỹ: (1) Trong CV, highlight các project bạn đã dẫn dắt về mặt kỹ thuật – dù không có report trực tiếp, việc lead technical solution, coordinate với các team khác, mentor junior cũng được tính. (2) Trong phỏng vấn, kể về những lần bạn "lead without authority" – dẫn dắt cross-team initiative, làm tech lead cho dự án lớn. (3) Vì bạn thiếu kinh nghiệm banking domain, cần research kỹ về core banking, payment systems, regulatory compliance để chứng minh learning agility. Nhiều ngân hàng chấp nhận người từ product company vì họ mang tư duy innovation tốt hơn.
Tôi muốn chuyển từ Mobile (iOS/Android) sang Backend, apply vị trí này có hợp lý không?
Khá risky nhưng không phải không thể. Vị trí này yêu cầu Java backend thành thạo, trong khi JD liệt kê Java, TypeScript, Swift, Kotlin, Dart – có vẻ muốn full-stack engineer. Nếu bạn chỉ mạnh mobile, bạn sẽ thiếu hơn nửa yêu cầu. Lời khuyên: (1) Nếu mobile là Kotlin (Android) thì có lợi thế hơn vì syntax gần Java – học Spring Boot trong 3-6 tháng là đủ apply vị trí Senior Java. (2) Làm 1-2 pet project backend (REST API, microservice với Spring Cloud) để có production-ready experience. (3) Trong CV, frame lại kinh nghiệm mobile thành "expert toàn diện về hệ sinh thái JVM (Kotlin + Java)". Tuy nhiên, nếu mục tiêu rõ ràng là backend, tôi khuyên apply vị trí Senior Java trước, sau 1-2 năm hãy nhắm Expert.
Lương kỳ vọng cho vị trí Expert tại Techcombank là bao nhiêu? Tôi đang ở mức 60 triệu gross, muốn nhảy lên 90-100 triệu có khả thi không?
Khả thi và hợp lý. Mức Expert tại Techcombank thường dao động 80-130 triệu gross tùy team, performance và negotiation. Nếu bạn đang 60 triệu ở level Senior, nhảy lên 90-100 triệu là mức tăng 50-67% – hoàn toàn realistic khi move từ Senior → Expert. Để đạt được: (1) Đừng nói mức lương hiện tại nếu chưa bắt buộc – JD ghi "thỏa thuận" là để HR chủ động hỏi sau. (2) Khi được hỏi, đưa range rộng hơn kỳ vọng thật: "Tôi kỳ vọng 90-110 triệu gross tùy package tổng thể". (3) Negotiate toàn bộ package: base + 13th month + bonus + ESOP (nếu có) + benefits. Một số người chấp nhận base thấp hơn để đổi lấy ESOP/bonus dài hạn. (4) Có offer từ công ty khác để counter là lợi thế lớn nhất.
So với làm ở FPT, Viettel hay VNG thì sang Techcombank có lợi gì? Tôi đang phân vân giữa offer Techcombank và một product company.
Câu hỏi rất hay. So sánh thực tế:
Techcombank (ngân hàng):
- ✅ Lương ổn định, benefits tốt (bảo hiểm cao cấp, 13th month, thưởng Tết)
- ✅ Học được business domain sâu – banking, finance, compliance
- ✅ Scale hệ thống lớn, nhiều bài toán high-stakes (transactions, security)
- ✅ Work-life balance tốt hơn (thường 9-10h/ngày, ít OT cuối tuần)
- ⚠️ Tech stack đôi khi cũ hơn, ít dùng cutting-edge
- ⚠️ Decision-making chậm do nhiều compliance
- ⚠️ Innovation cycle dài hơn
Product company (FPT Software, VNG, MoMo, Tiki...):
- ✅ Tech stack modern, làm việc với công nghệ mới
- ✅ Tốc độ ship feature nhanh
- ✅ Cơ hội đóng góp vào product có triệu user
- ⚠️ Áp lực cao hơn, OT nhiều hơn
- ⚠️ Job security thấp hơn
Nếu bạn ưu tiên: stability + domain expertise → TCB. Innovation + tech growth → product company. Vị trí Expert ở cả hai đều tốt cho CV. Cân nhắc đội ngũ cụ thể, manager trực tiếp, và dự án sẽ làm.
Trong JD có yêu cầu cả Backend (Java), Web (TypeScript) lẫn Mobile (Swift/Kotlin/Dart). Tôi có cần giỏi hết không, hay chỉ cần giỏi 1-2 cái?
Bạn không cần giỏi hết nhưng cần hiểu rõ ecosystem rộng. JD liệt kê để thể hiện Techcombank cần một Expert có T-shape skills – sâu 1-2 mảng, rộng đủ để hiểu và collaborate với team khác. Khuyến nghị: (1) Sâu ở Java backend là bắt buộc vì đây là core của banking systems. (2) Hiểu TypeScript/React để review code và collaborate với frontend team. (3) Biết cơ bản Swift/Kotlin/Dart – không cần master, nhưng phải hiểu kiến trúc mobile app để design API tốt. Trong phỏng vấn, hãy chọn 1-2 mảng để deep dive và nói rõ: "Tôi chuyên sâu Java backend, có kinh nghiệm thực tế với TypeScript, và hiểu biết nền tảng về mobile để thiết kế tốt API".
Tôi đã có 8 năm kinh nghiệm, trong đó 3 năm lead team. Apply vị trí Expert có quá thấp không? Nên nhắm Principal/Architect?
Với 8 năm + 3 năm lead team, bạn nằm trong sweet spot cho Expert, không quá thấp. Tuy nhiên, nếu bạn có thêm các yếu tố sau thì có thể nhắm Principal: (1) đã lead team ≥ 10 người, (2) đã thiết kế architecture cho hệ thống core của công ty, (3) có ảnh hưởng cross-team (kiểu "staff engineer"), (4) có publications/blogs/open-source contributions. Nếu chỉ lead team 3-7 người và chưa có impact cross-company, vị trí Expert là phù hợp và là bước đệm tốt để lên Principal trong 2-3 năm. Lời khuyên: apply Expert trước, trong quá trình phỏng vấn HR có thể đánh giá bạn cao hơn và offer Principal. Đừng tự đánh giá thấp mình, nhưng cũng đừng over-claim.
Làm IT ở ngân hàng có lạc hậu so với tech company không? Tôi sợ vào đó rồi kỹ năng bị mai một.
Lo lắng này có lý nhưng phần lớn không đúng ở Techcombank. Thực tế: (1) TCB là một trong những ngân hàng chuyển đổi số mạnh nhất VN, họ dùng microservices, cloud, modern frameworks – không phải COBOL cũ kỹ. (2) Ngân hàng lớn có budget đầu tư công nghệ nhiều hơn fintech startup. (3) Domain knowledge banking rất valuable – bạn sẽ học được về payment, security, compliance mà tech company thuần không có. (4) Ngược lại, ở product company bạn có thể bị "mai một" về business depth. Cách cân bằng: học ở ngân hàng 2-3 năm, tích lũy domain + system design experience, sau đó có thể move sang fintech product với profile rất mạnh. Hoặc nếu thích ở lại, con đường lên Principal/CTO ở ngân hàng cũng rất rộng.
Phỏng vấn vòng technical của vị trí Expert thường kéo dài bao lâu và khó ở mức nào? Có khác gì so với Senior không?
Vòng technical ở vị trí Expert thường 3-4 giờ liên tục, có thể chia thành nhiều phần với nhiều interviewer. So với Senior (thường 1-2 giờ), khác biệt ở chỗ: (1) Coding ít hơn, thay vào đó là system design nặng hơn – họ muốn xem bạn nghĩ về trade-offs ở level hệ thống. (2) Câu hỏi về leadership, mentoring, conflict resolution – Senior chỉ cần giỏi cá nhân, Expert phải chứng minh có thể scale qua người khác. (3) Depth questions đi sâu vào implementation: tại sao chọn G1 GC thay vì ZGC? Làm sao đảm bảo zero-downtime với 1 million concurrent users? Cách bạn tune Kafka để latency dưới 10ms? (4) Câu hỏi về emerging tech: GenAI trong banking, blockchain, quantum-safe cryptography... Chuẩn bị ít nhất 2 tuần, đặc biệt practice system design mỗi ngày 1 bài.
Tôi thấy JD yêu cầu "mediating in the work environment". Đây là yêu cầu gì cụ thể? Cần chuẩn bị gì?
"Mediating" nghĩa là bạn phải có khả năng giải quyết xung đột trong team – giữa các engineer, giữa team với các bên liên quan, giữa business và tech. Đây là kỹ năng quan trọng vì ở level Expert, bạn không chỉ làm kỹ thuật mà còn là người giữ team ổn định. Chuẩn bị: (1) Chuẩn bị 2-3 câu chuyện cụ thể về lần bạn mediate conflict – conflict về technical direction (team muốn dùng X, bạn muốn Y), conflict về priority, conflict giữa senior và junior, conflict với PM/product. (2) Nêu rõ cách tiếp cận: lắng nghe active, tìm common ground, dùng data để quyết định, đảm bảo cả hai bên đều thấy được win-win hoặc ít nhất là compromise hợp lý. (3) Đừng kể conflict bạn giải quyết bằng cách "ra lệnh" – interviewer muốn thấy bạn dùng influence và empathy.