IT - Java Technical Lead
Mô tả công việc
We are seeking an experienced Java Technical Lead to lead the design, development, and delivery of enterprise-scale applications. The ideal candidate will provide technical leadership to development teams, ensure high-quality software architecture, mentor engineers, and collaborate with stakeholders to deliver scalable and reliable solutions.
Key Responsibilities
Technical Leadership
- Lead the design, development, and implementation of Java-based applications and services.
- Define technical architecture, coding standards, and best practices.
- Review application designs, source code, and technical documentation.
- Drive technical decision-making and ensure alignment with business objectives.
- Identify and resolve complex technical issues and performance bottlenecks.
Software Development
- Develop and maintain enterprise applications using Java and related technologies.
- Design and implement RESTful APIs and microservices architectures.
- Ensure application scalability, security, reliability, and maintainability.
- Participate in hands-on coding for critical system components.
Team Leadership & Mentoring
- Lead and mentor software engineers and senior developers.
- Provide technical guidance, code reviews, and career development support.
- Foster a collaborative and high-performance engineering culture.
- Support recruitment, onboarding, and skill development initiatives.
Project Delivery
- Collaborate with Product Owners, Business Analysts, QA teams, and stakeholders.
- Estimate development efforts and manage technical risks.
- Ensure timely delivery of projects while maintaining quality standards.
- Participate in Agile ceremonies including sprint planning, stand-ups, and retrospectives.
Quality & Continuous Improvement
- Promote test-driven development (TDD) and automated testing practices.
- Implement CI/CD pipelines and DevOps best practices.
- Monitor system performance and optimize application efficiency.
- Drive continuous improvement in software development processes.
Required Qualifications
Education
- Bachelor‘s degree in Computer Science, Information Technology, Software Engineering, or related field.
Experience
- 7+ years of software development experience with Java.
- 2+ years of experience leading technical teams or projects.
- Strong experience in enterprise application development and system integration.
- Proven experience in software architecture and solution design.
Technical Skills
Core Technologies
- Spring Framework (Spring Boot, Spring MVC, Spring Security)
- Hibernate/JPA
- RESTful API development
- Microservices architecture
Databases
- MySQL, PostgreSQL, Oracle, or SQL Server
- NoSQL databases such as MongoDB, Cassandra, or Redis
Cloud & DevOps
- AWS, Azure, or Google Cloud Platform
- Docker and Kubernetes
- Jenkins, GitHub Actions, GitLab CI/CD
- Version control systems (Git)
Messaging & Integration
- Kafka, RabbitMQ, ActiveMQ
- API Gateway and service integration patterns
Nộp đơn ứng tuyển công việc này
Họ & tên bạn *
Địa chỉ email *
Số điện thoại *
Ngày tháng năm sinh *
Trình độ học vấn (Education) *
-- Trình độ học vấn (Education) --Chưa tốt nghiệp (No degree)Phổ thông (High school)Trung cấpCao đẳng (College)Đại học (University/Academy)Thạc sỹ (Master)Tiến sỹ (PhD)Sau đại học (Postgraduate)Khác (Others)
Bạn biết đến cơ hội ứng tuyển này qua kênh nào? *
-- Bạn biết đến cơ hội ứng tuyển này qua kênh nào? --Website tuyển dụng ACBFacebook ACBLinkedIn ACBWebsite việc làmQuảng cáo onlineNgười giới thiệuKhác
+ Thông tin thêm
CV của bạn *
Click để chọn & tải lên CV của bạn
Nộp đơn ứng tuyển
Bỏ qua
-->
{
"@context": "http://schema.org",
"@type": "JobPosting",
"jobLocation" : {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "No address locality",
"addressRegion": "No address region",
"streetAddress": "No street address",
"postalCode": "0"
}
},
"datePosted":"2026-07-27",
"description":"We are seeking an experienced Java Technical Lead to lead the design, development, and delivery of enterprise-scale applications. The ideal candidate will provide technical leadership to development teams, ensure high-quality software architecture, mentor engineers, and collaborate with stakeholders to deliver scalable and reliable solutions.
Key Responsibilities
Technical Leadership
- Lead the design, development, and implementation of Java-based applications and services.
- Define technical architecture, coding standards, and best practices.
- Review application designs, source code, and technical documentation.
- Drive technical decision-making and ensure alignment with business objectives.
- Identify and resolve complex technical issues and performance bottlenecks.
Software Development
- Develop and maintain enterprise applications using Java and related technologies.
- Design and implement RESTful APIs and microservices architectures.
- Ensure application scalability, security, reliability, and maintainability.
- Participate in hands-on coding for critical system components.
Team Leadership & Mentoring
- Lead and mentor software engineers and senior developers.
- Provide technical guidance, code reviews, and career development support.
- Foster a collaborative and high-performance engineering culture.
- Support recruitment, onboarding, and skill development initiatives.
Project Delivery
- Collaborate with Product Owners, Business Analysts, QA teams, and stakeholders.
- Estimate development efforts and manage technical risks.
- Ensure timely delivery of projects while maintaining quality standards.
- Participate in Agile ceremonies including sprint planning, stand-ups, and retrospectives.
Quality & Continuous Improvement
- Promote test-driven development (TDD) and automated testing practices.
- Implement CI/CD pipelines and DevOps best practices.
- Monitor system performance and optimize application efficiency.
- Drive continuous improvement in software development processes.
Required Qualifications
Education
- Bachelor‘s degree in Computer Science, Information Technology, Software Engineering, or related field.
Experience
- 7+ years of software development experience with Java.
- 2+ years of experience leading technical teams or projects.
- Strong experience in enterprise application development and system integration.
- Proven experience in software architecture and solution design.
Technical Skills
Core Technologies
- Spring Framework (Spring Boot, Spring MVC, Spring Security)
- Hibernate/JPA
- RESTful API development
- Microservices architecture
Databases
- MySQL, PostgreSQL, Oracle, or SQL Server
- NoSQL databases such as MongoDB, Cassandra, or Redis
Cloud & DevOps
- AWS, Azure, or Google Cloud Platform
- Docker and Kubernetes
- Jenkins, GitHub Actions, GitLab CI/CD
- Version control systems (Git)
Messaging & Integration
- Kafka, RabbitMQ, ActiveMQ
- API Gateway and service integration patterns
",
"employmentType":"Toàn thời gian",
"hiringOrganization": {
"@type": "Organization",
"name": "Ngân hàng Á Châu - ACB",
"sameAs" : "http://www.acbjobs.com.vn"
},
"identifier": {
"@type": "PropertyValue",
"name": "IT - Java Technical Lead",
"value": "55520"
},
"title": "IT - Java Technical Lead",
"validThrough":"2026-10-31"
}
Phân tích kỹ năng cần có
Phân tích kỹ năng cho vị trí Java Technical Lead tại ACB
Đây là vị trí senior-level trong khối CNTT ngân hàng — yêu cầu không chỉ code giỏi mà còn phải "lead" được cả team. Mình sẽ phân tích chi tiết từng nhóm kỹ năng để bạn tự đánh giá mình đang ở đâu.
---
🎯 Hard Skills (Bắt buộc — Must-have)
| Nhóm kỹ năng | Công nghệ cụ thể | Mức độ yêu cầu | Ghi chú cho ngân hàng |
|---|---|---|---|
| Core Java | Java 8/11/17, OOP, Collections, Concurrency, JVM tuning | ⭐⭐⭐⭐⭐ | Nền tảng cốt lõi, phỏng vấn sẽ drill-down sâu |
| Spring Ecosystem | Spring Boot, Spring MVC, Spring Security, Spring Cloud | ⭐⭐⭐⭐⭐ | ACB đang chạy core banking trên Java/Spring |
| Persistence | Hibernate, JPA, JDBC | ⭐⭐⭐⭐ | Hiểu lazy loading, N+1, transaction propagation |
| API Design | RESTful, OpenAPI/Swagger, GraphQL (bonus) | ⭐⭐⭐⭐⭐ | Banking APIs cần chuẩn chỉnh, versioning rõ ràng |
| Microservices | Service discovery, circuit breaker, API gateway, Saga pattern | ⭐⭐⭐⭐ | ACB đang transition từ monolith sang microservices |
| Database | MySQL, PostgreSQL, Oracle + MongoDB/Cassandra/Redis | ⭐⭐⭐⭐ | Oracle thường dùng cho core banking, NoSQL cho caching/log |
| Message Queue | Kafka, RabbitMQ, ActiveMQ | ⭐⭐⭐⭐ | Kafka cho event-driven, xử lý giao dịch async |
| Cloud Platform | AWS/Azure/GCP (ít nhất 1) | ⭐⭐⭐ | ACB đang hybrid cloud + on-premise |
| DevOps | Docker, Kubernetes, Jenkins/GitHub Actions/GitLab CI | ⭐⭐⭐⭐ | CI/CD pipeline là must-have |
| Architecture | System Design, Design Patterns, SOLID, Clean Architecture | ⭐⭐⭐⭐⭐ | Tech Lead phải design được high-level trước khi code |
---
🌟 Soft Skills (Quan trọng không kém)
- Leadership & Mentoring: Dẫn dắt team 5-15 người, review code, coaching junior/mid
- Communication: Giao tiếp với BA, Product Owner, QA, stakeholder ngân hàng (có thể là GĐ khối kinh doanh)
- Decision-making: Chọn tech stack, đánh đổi giữa tốc độ và chất lượng
- Problem-solving: Debug hệ thống production banking — downtime 1 phút = tiền tỷ
- Agile/Scrum: Sprint planning, daily standup, retrospective
- Tiếng Anh: Đọc tài liệu kỹ thuật, giao tiếp với vendor nước ngoài
---
📜 Chứng chỉ nên có (Nice-to-have, giúp CV nổi bật)
| Chứng chỉ | Tổ chức | Lợi ích |
|---|---|---|
| Oracle Certified Professional Java SE 11/17 | Oracle | Chứng minh nền tảng Java vững |
| AWS Solutions Architect Associate | AWS | Cloud là xu hướng ngân hàng |
| Certified Kubernetes Administrator (CKA) | CNCF | K8s đang là chuẩn cho microservices |
| Spring Professional Certification | VMware/Pivotal | Chứng minh depth về Spring |
| Certified ScrumMaster (CSM) | Scrum Alliance | Hiểu Agile framework |
| TOIEC 700+/IELTS 6.0+ | - | ACB yêu cầu tiếng Anh cho vị trí lead |
---
💡 Đánh giá mức độ phù hợp
| Nếu bạn có | Bạn là |
|---|---|
| 7+ năm Java + 2+ năm lead | Phù hợp ứng tuyển ngay |
| 5-7 năm Java, có lead team nhỏ | Nên apply, nhấn mạnh leadership trong CV |
| 3-5 năm Java, chưa lead | Chưa phù hợp, target vị trí Senior Dev trước |
| <3 năm | Quá sớm, hãy build foundation thêm 2-3 năm |
Chuẩn bị phỏng vấn
Hướng dẫn phỏng vấn Java Technical Lead tại ACB
Quy trình tuyển dụng IT tại ACB thường khá chặt chẽ (4-6 tuần), vì đây là vị trí ảnh hưởng đến hệ thống core ngân hàng. Dưới đây là roadmap chi tiết:
---
📋 Quy trình tuyển dụng dự kiến (5 vòng)
```
Vòng 1: HR Screen (30-45 phút)
↓
Vòng 2: Technical Test online (90-120 phút)
↓
Vòng 3: Technical Interview - Coding + System Design (2-3 giờ)
↓
Vòng 4: Manager/Head of IT Interview (60 phút)
↓
Vòng 5: Director Interview + Offer (45 phút)
```
---
🎤 Vòng 1 — HR Screen
Mục đích: Lọc hồ sơ, check basic fit
Câu hỏi hay gặp:
- Giới thiệu bản thân và kinh nghiệm 7+ năm Java của bạn?
- Tại sao rời khỏi công ty cũ (hoặc tại sao muốn chuyển)?
- Mức lương hiện tại và kỳ vọng?
- Bạn biết gì về ACB? Tại sao muốn làm việc tại đây?
- Availability (có thể bắt đầu khi nào)?
Tips:
- Research ACB trước: top 5 private bank, số hóa mạnh, có app ACB One
- Đừng nói xấu công ty cũ, focus vào "growth opportunity"
- Mức lương kỳ vọng: research Glassdoor/VietnamWorks, range 60-120 triệu VNĐ cho vị trí này
---
💻 Vòng 2 — Technical Test online
Dạng bài: HackerRank/TestDome style, 3-5 bài
Câu hỏi mẫu:
1. Java Core: Implement custom HashMap, xử lý concurrent modification
2. Spring Boot: Tạo REST API với validation, exception handling
3. Database: Viết query phức tạp với JOIN, subquery, optimization
4. Algorithm: String/Array manipulation (medium level)
5. System Design mini: Design URL shortener hoặc rate limiter
Tips:
- Luyện trên LeetCode medium (150-200 bài đủ)
- Nhớ clean code: naming, comments, edge cases
- Test trước khi submit
---
🛠️ Vòng 3 — Technical Interview (Quan trọng nhất)
3 phần chính:
Phần A: Java Core & Spring (45-60 phút)
- Sự khác biệt giữa `@Component`, `@Service`, `@Repository`?
- Spring Bean lifecycle, scopes (singleton, prototype, request)?
- `@Transactional` hoạt động thế nào? Transaction propagation?
- Hibernate N+1 problem và cách fix?
- So sánh `HashMap` vs `ConcurrentHashMap`?
- JVM memory model, Garbage Collector (G1, ZGC)?
- Java 8 features: Stream API, Optional, Lambda, CompletableFuture
Phần B: System Design (45-60 phút) ⭐
- Design hệ thống chuyển tiền của ngân hàng (đây là câu hay hỏi nhất)
- Idempotency, exactly-once delivery
- Saga pattern, distributed transaction
- How to ensure ACID across microservices
- Design notification system cho app banking
- Kafka topic partitioning
- Push notification + SMS fallback
- Cache strategy cho core banking
- Redis cluster, cache invalidation
- Read-through, write-through, write-behind
Phần C: Coding (45 phút)
- Live coding trên whiteboard/IDE: implement một feature nhỏ
- Ví dụ: "Viết API xử lý đăng ký user với email verification"
Tips:
- Think aloud — nói rõ suy nghĩ, không im lặng code
- Discuss trade-offs, không nhảy ngay vào solution
- Đặt câu hỏi cho interviewer để clarify requirement
---
👔 Vòng 4 — Manager Interview
Focus vào: Leadership, culture fit, vision
Câu hỏi mẫu:
- Bạn đã lead team như thế nào trong project lớn nhất?
- Cách bạn xử lý conflict trong team?
- Bạn review code như thế nào? Có ví dụ về feedback khó?
- Nếu junior dev push code lỗi lên production, bạn làm gì?
- Bạn estimate effort cho một feature 2 sprint như thế nào?
- Bạn nghĩ gì về việc onboard AI/Machine Learning vào banking?
Tips:
- Chuẩn bị 3-5 câu chuyện STAR (Situation-Task-Action-Result)
- Ví dụ: "Lần tôi dẫn dắt migration từ monolith sang microservices, team 8 người, kết quả downtime giảm 70%..."
- Thể hiện humility + confidence
---
🎯 Vòng 5 — Director Interview
Focus: Vision, long-term commitment, strategic thinking
- Tầm nhìn 5 năm của bạn trong ngành IT banking?
- Bạn muốn đóng góp gì cho ACB?
- Câu hỏi về lương, bonus, stock (nếu có)
---
👔 Dress Code
- Vòng 1-3: Smart casual hoặc business casual (áo sơ mi, quần tây, giày tây)
- Vòng 4-5: Business formal (vest nếu có)
- ACB văn hóa không quá formal nhưng professional là điểm cộng
Lộ trình ôn thi
Lộ trình ôn tập 2 tuần cho vị trí Java Technical Lead ACB
Dưới đây là kế hoạch chi tiết nếu bạn đã có nền tảng Java 5-7 năm và muốn chuẩn bị kỹ trong 14 ngày.
---
📅 Tuần 1: Foundation & Java Core
Ngày 1-2: Java Core Deep Dive (8-10 tiếng)
Đọc/slide:
- "Effective Java" (Joshua Bloch) — ít nhất chương 2, 3, 7, 11
- Baeldung.com — section Java 8+ features
- JVM Internals: memory model, GC tuning, class loading
Thực hành:
- Implement các pattern: Singleton (broken + correct), Builder, Strategy
- Code exercise về Concurrency: Producer-Consumer, Deadlock scenarios
Ngày 3-4: Spring Ecosystem (8 tiếng)
- Spring Boot auto-configuration magic: `@EnableAutoConfiguration`, `spring.factories`
- Spring Security: JWT, OAuth2, filter chain
- Spring Data JPA: query optimization, custom repository
- Spring Cloud: Eureka, Config Server, Gateway, Circuit Breaker (Resilience4j)
Thực hành:
- Build mini project: REST API có auth + pagination + caching
Ngày 5-6: Database & Persistence (6 tiếng)
- SQL advanced: window functions, CTEs, index optimization, EXPLAIN PLAN
- JPA/Hibernate: caching levels (L1, L2), lazy vs eager, batch fetch
- NoSQL: khi nào dùng MongoDB vs Redis vs Cassandra
Thực hành:
- Tối ưu 1 query chậm từ project thật của bạn
Ngày 7: Messaging & Microservices (4 tiếng)
- Kafka: partition, consumer group, exactly-once semantics
- RabbitMQ vs Kafka: khi nào dùng cái nào
- Saga pattern, Outbox pattern
---
📅 Tuần 2: System Design, DevOps & Mock Interview
Ngày 8-9: System Design (10 tiếng) ⭐ Quan trọng nhất
Đọc:
- "System Design Interview Vol 1 & 2" (Alex Xu)
- "Designing Data-Intensive Applications" (Martin Kleppmann) — chương 5, 7, 9
Thực hành design các hệ thống:
- ⭐ Banking Transfer System (phải practice)
- ⭐ Notification System
- Payment Gateway
- Audit Log System
- Rate Limiter
Với mỗi bài, cover:
- Requirements (functional + non-functional)
- Capacity estimation
- High-level architecture
- Database schema
- API design
- Trade-offs
Ngày 10: DevOps & Cloud (4 tiếng)
- Docker multi-stage build, image optimization
- K8s: Deployment, Service, ConfigMap, Secret, Helm chart basics
- CI/CD: GitHub Actions workflow, Jenkins pipeline
- AWS basics: EC2, S3, RDS, Lambda, SQS, CloudWatch
Ngày 11: Banking Domain Knowledge (3 tiếng)
Đọc:
- Core banking là gì? (Temenos, Mambu, in-house)
- ISO 8583, Open Banking, PSD2
- PCI DSS, SOC 2, SBV (State Bank of Vietnam) regulations
- ACB's digital products: ACB One app, ACB Rewards, eBanking
Ngày 12: Mock Interview (4 tiếng)
- Nhờ bạn bè hoặc dùng platforms: Pramp, Interviewing.io
- Practice STAR method cho behavioral questions
- Code trên whiteboard/Google Docs
Ngày 13-14: Review & Polish CV (4 tiếng)
- CV format clean, 2 trang max
- Highlight: tech leadership, scaling systems, mentoring
- Quantify achievements: "giảm 40% response time", "lead team 12 người"
---
📚 Tài liệu tham khảo chính
| Tài liệu | Loại | Độ ưu tiên |
|---|---|---|
| Baeldung.com | Java/Spring tutorial | ⭐⭐⭐⭐⭐ |
| System Design Interview (Alex Xu) | Book | ⭐⭐⭐⭐⭐ |
| Designing Data-Intensive Applications | Book | ⭐⭐⭐⭐ |
| LeetCode (medium 150+ bài) | Practice | ⭐⭐⭐⭐ |
| Awesome System Design (GitHub) | Resource | ⭐⭐⭐⭐ |
| Techlead Trên Youtube (VN) | Tiếng Việt | ⭐⭐⭐ |
| Java Guides (github.com/doocs) | Resource | ⭐⭐⭐⭐ |
| Martin Fowler's Blog | Architecture | ⭐⭐⭐⭐ |
---
🎯 Checklist ngày phỏng vấn
- [ ] CV printed 3 bản + soft copy trong USB/email
- [ ] ID/CCCD, bằng cấp photo
- [ ] Portfolio GitHub link (repo nào showcase tốt nhất)
- [ ] Sổ tay ghi chú (cho system design)
- [ ] Cây bút (whiteboard)
- [ ] Tới sớm 15-20 phút
- [ ] Ăn sáng no, không uống quá nhiều cafe
Tư vấn nghề nghiệp
Lời khuyên sự nghiệp cho Java Technical Lead tại ngân hàng
Vị trí Java Technical Lead ở ACB là một bước nhảy quan trọng — không chỉ về lương mà còn về tầm ảnh hưởng. Mình sẽ chia sẻ góc nhìn thực tế từ thị trường.
---
💰 Mức lương kỳ vọng theo cấp bậc (Việt Nam, 2024-2025)
| Cấp bậc | Kinh nghiệm | Mức lương VNĐ/tháng | Ghi chú |
|---|---|---|---|
| Mid Java Developer | 2-4 năm | 18-35 triệu | Fintech/outsource |
| Senior Java Developer | 4-6 năm | 30-60 triệu | Banking: 35-55 triệu |
| Tech Lead | 6-8 năm | 50-90 triệu | Banking: 60-90 triệu |
| Senior Tech Lead | 8-12 năm | 80-150 triệu | Big bank: 100-150 triệu |
| Engineering Manager | 10+ năm | 100-200 triệu | Quản lý 2-3 team |
| Director of Engineering | 15+ năm | 150-300 triệu | Khối CNTT lớn |
Cho vị trí này cụ thể tại ACB:
- Floor: ~60 triệu (nếu chưa có nhiều kinh nghiệm lead banking)
- Market: 80-100 triệu
- Ceiling: 130-150 triệu (nếu có track record tốt + domain banking)
- Bonus: Thưởng Tết 2-3 tháng lương, 13th month salary, stock (ESOP nếu có)
---
🛤️ Lộ trình thăng tiến từ vị trí này
```
Java Technical Lead (hiện tại)
↓ 2-3 năm
Senior Technical Lead / Principal Engineer
↓ 3-4 năm
Engineering Manager (quản lý 2-3 team)
↓ 4-5 năm
Senior Engineering Manager
↓ hoặc chuyển hướng
VP of Engineering / CIO
```
Các hướng đi phổ:
1. Technical Track: Tech Lead → Principal Engineer → Distinguished Engineer → CTO
2. Management Track: Tech Lead → EM → Senior EM → Director → VP
3. Architect Track: Tech Lead → Solution Architect → Enterprise Architect → Chief Architect
4. Domain Expert: Tech Lead → Banking Domain Expert → Product Manager (có technical background)
---
📈 Kỹ năng cần phát triển thêm (next 12-18 tháng)
Tier 1 — Bắt buộc:
- ⭐ Domain banking: hiểu core banking, payment, lending, KYC/AML
- ⭐ System design ở scale lớn (1M+ TPS)
- ⭐ Communication với C-level executives
- ⭐ Financial literacy (P&L, ROI của tech investment)
Tier 2 — Khuyến nghị:
- Cloud-native architecture (AWS/Azure certification)
- AI/ML basics cho banking (fraud detection, credit scoring)
- Security: OWASP, penetration testing basics
- Regulatory: PCI DSS, ISO 27001, SBV circulars
Tier 3 — Bonus:
- Public speaking (conference talks)
- Technical writing (blog, internal docs)
- Mentoring: build junior devs thành mid/senior
---
🎯 Lời khuyên thực tế
1. Đừng nhảy việc quá sớm: Ở mỗi vị trí 2-3 năm để build track record
2. Focus vào impact, không phải technology: "Giảm downtime 99.9%" tốt hơn "Dùng Spring Cloud"
3. Build personal brand: LinkedIn, GitHub, tech blog giúp CV nổi bật
4. Network trong ngành banking IT: Hội nhóm Vietnam Banking IT, các meetup Java
5. ACB là điểm đến tốt: Top private bank, đầu tư mạnh vào tech, culture progressive
⚠️ Lưu ý về ngân hàng
Ưu điểm:
- Lương ổn định, bonus Tết tốt
- Bảo hiểm sức khỏe cao cấp
- Học hỏi domain banking (rất valuable)
- Resume boost khi apply nơi khác
Thách thức:
- Working hours có thể dài hơn startup (OT khi deploy)
- Quy trình compliance phức tạp
- Legacy systems (core banking 20-30 năm)
- Có thể chậm hơn fintech về tech adoption
---
💡 So sánh nhanh: ACB vs Fintech vs Product Company
| Tiêu chí | ACB (Bank) | Fintech | Product (Grab/Tiki) |
|---|---|---|---|
| Lương | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Stability | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| Tech stack mới | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Work-life balance | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| Career path | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| Domain knowledge | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
Câu hỏi thường gặp
Em mới ra trường, có nên apply vị trí Java Technical Lead ở ACB không?
Câu trả lời ngắn: Không nên, quá sớm. Vị trí này yêu cầu 7+ năm kinh nghiệm Java và 2+ năm lead team — tức là bạn cần ít nhất 7-9 năm làm việc thực tế. Lời khuyên cho em: bắt đầu với vị trí Junior/Mid Java Developer (lương 12-25 triệu), sau 2-3 năm lên Senior, rồi 4-5 năm sau mới target Tech Lead. Đừng vội vàng, build foundation vững. Tuy nhiên, em có thể apply vị trí Fresher/Junior ở ACB IT — họ cũng tuyển, đây là cách vào ngân hàng tốt nhất.
Em đang là Senior Java Dev 5 năm, có 1 năm lead team nhỏ (3 người), apply được không?
Apply được, nhưng cần chuẩn bị kỹ. Yêu cầu là 7+ năm Java và 2+ năm lead — em thiếu 1 năm so với yêu cầu tối thiểu. Tuy nhiên, ACB vẫn có thể cân nhắc nếu: (1) Em làm việc ở domain tài chính/banking trước đó, (2) Em có track record rõ ràng về tech leadership, (3) Em pass technical interview xuất sắc. Tip: Trong CV, nhấn mạnh việc em đã dẫn dắt dự án nào, scale team lên bao nhiêu người, kết quả đạt được. Cũng có thể target vị trí Senior Java Developer ở ACB trước, sau 1-2 năm move lên Tech Lead — đường vòng nhưng an toàn hơn.
Mức lương kỳ vọng bao nhiêu là hợp lý khi phỏng vấn vị trí này?
Theo thị trường hiện tại ở Việt Nam cho Java Technical Lead tại ngân hàng top (ACB thuộc nhóm này): 80-120 triệu VNĐ/tháng gross là range hợp lý. Cụ thể: nếu em mới chuyển từ Senior Dev (50-70 triệu) → đề xuất 80-90 triệu; nếu em đã là Tech Lead ở ngân hàng khác → đề xuất 100-130 triệu; nếu em có thêm yếu tố đặc biệt (cloud cert, AWS, K8s cert, từng làm ở big tech) → có thể đẩy lên 130-150 triệu. Đừng underprice bản thân nhưng cũng đừng đòi quá cao. Câu nên nói: "Hiện tại em đang ở mức X, kỳ vọng có thể điều chỉnh tùy vào tổng compensation bao gồm bonus, 13th month, benefits và cơ hội phát triển."
Java Technical Lead ở ngân hàng khác gì so với ở fintech hay product company?
Khác biệt khá lớn:
Ngân hàng (như ACB):
- Legacy systems, thường mix công nghệ cũ + mới
- Quy trình compliance nghiêm ngặt (PCI DSS, SBV)
- Data integrity là #1, downtime 1 phút ảnh hưởng hàng triệu giao dịch
- Working hours ổn định hơn, ít OT
- Lương ổn, bonus Tết tốt
- Tech stack có thể chậm hơn fintech 2-3 năm
Fintech (MoMo, ZaloPay, VNPay):
- Greenfield projects, tech mới
- Scale lớn (hàng triệu transactions/ngày)
- Tốc độ là #1, ship nhanh
- OT nhiều, áp lực cao
- Lương cao hơn ngân hàng 20-40%
- Work-life balance kém hơn
Product (Grab, Shopee):
- Tech stack chuẩn quốc tế
- Làm việc với engineers toàn cầu
- Best practices engineering
- Cạnh tranh cao, performance-driven
Lời khuyên: Nếu bạn muốn stability + domain expertise + work-life balance → ngân hàng là lựa chọn tốt. Nếu muốn lương cao + tech mới → fintech. Nếu muốn career global → product company.
Em đang làm Tech Lead ở công ty outsourcing Nhật, có nên apply ACB để chuyển sang product/bank?
Nên apply, đây là bước đi rất tốt. Outsource Nhật thường làm theo spec, ít được tự design architecture — chuyển sang ngân hàng sẽ có cơ hội làm end-to-end. Khi apply, hãy: (1) Highlight những project có ownership rõ ràng (em design/lead cái gì), (2) Nhấn mạnh vào business understanding (em hiểu domain của khách hàng Nhật chứ không chỉ code), (3) Chuẩn bị về banking domain trước khi phỏng vấn. Một lưu ý: lương có thể không tăng nhiều so với outsource Nhật (vì outsource Nhật trả cao), nhưng bù lại em có domain banking, làm product thật, và long-term career path tốt hơn.
Trong phỏng vấn System Design, câu 'design hệ thống chuyển tiền ngân hàng' trả lời thế nào?
Đây là câu classic nhất. Framework trả lời (theo cấu trúc RAPID):
1. Requirements (5 phút):
- Functional: chuyển tiền giữa 2 accounts, same bank vs interbank, daily limit, notification
- Non-functional: 99.99% uptime, exactly-once delivery, idempotency, audit trail
- Scale: 10M users, 100K transactions/ngày, peak 1K TPS
2. High-level Architecture (10 phút):
- API Gateway → Auth Service → Transfer Service → Ledger Service → Notification
- Message Queue (Kafka) cho async events
- Database: PostgreSQL cho account, Redis cho session/cache
3. Critical concerns (15 phút):
- Idempotency: dùng idempotency key, tránh double-spend
- Distributed transaction: Saga pattern hoặc 2PC
- Exactly-once: Kafka transactional + Outbox pattern
- Concurrency: Optimistic locking với version field
- Audit log: append-only DB hoặc Kafka topic riêng
4. Trade-offs (5 phút):
- Synchronous vs Asynchronous processing
- Eventual consistency trong microservice
- CAP theorem: chọn CP cho banking
5. Monitoring: Prometheus + Grafana, alert khi TPS spike, error rate > 0.1%
Ghi nhớ: interviewer muốn nghe cách em suy nghĩ, không phải answer đúng 100%. Think aloud là chìa khóa.
Có cần chứng chỉ Oracle Java Certification hay AWS không?
Không bắt buộc nhưng rất nên có, đặc biệt nếu CV của bạn chưa quá ấn tượng. Cụ thể:
- Oracle Java Certification: Không quá cần thiết, vì 7+ năm kinh nghiệm thực tế đã chứng minh rồi. Nhưng nếu có, CV nổi bật hơn.
- AWS Solutions Architect: Nên có, vì cloud là xu hướng ngân hàng. AWS Associate (~3-6 tháng học) là đủ.
- CKA (Kubernetes): Bonus tốt, cho thấy em làm production-grade K8s.
- Spring Professional: Ít giá trị ở VN, không recommend.
Thực tế phỏng vấn: Hầu hết ACB đánh giá qua technical interview chứ không qua giấy chứng nhận. Một buổi phỏng vấn xuất sắc có giá trị hơn 10 chứng chỉ. Tuy nhiên, nếu em có 6 tháng chuẩn bị, làm thêm 1-2 cert để CV đẹp hơn.
ACB có văn hóa làm việc như thế nào? Có áp lực không?
ACB được đánh giá là một trong những ngân hàng tư nhân có văn hóa progressive nhất tại VN. Cụ thể:
- Top-down: Khá bình đẳng, GĐ khối CNTT gần gũi với dev
- Working hours: 8h-17h, có flexible time. OT khi deploy/release lớn (không nhiều như fintech)
- Tech culture: Đang đầu tư mạnh vào chuyển đổi số, team trẻ, năng động
- Đánh giá: KPI rõ ràng, review 6 tháng/lần
- Onsite/offsite: Hybrid, có thể work-from-home 1-2 ngày/tuần tùy team
- Áp lực: Trung bình. Có áp lực khi deploy core banking (downtime = tiền tỷ), nhưng không quá cao như fintech
So sánh với Vietcombank, Techcombank, VPBank: ACB được xếp vào nhóm văn hóa tốt nhất, lương ngang bằng hoặc cao hơn Techcombank IT.
Em 35 tuổi, đang ở vị trí Tech Lead, apply ACB có quá muộn không?
Không muộn. 35 tuổi với 7-10 năm kinh nghiệm là sweet spot cho vị trí Tech Lead. ACB tuyển người có kinh nghiệm, không phân biệt tuổi. Nhiều EM/Director ở ACB đều ở độ tuổi 35-45.
Một số lưu ý:
- Nếu em đang ở level cao hơn (Senior Tech Lead, EM), có thể target các vị trí tương đương ở ACB
- Banking domain experience rất được trọng
- Đừng ngại về tuổi — ACB cần người có kinh nghiệm để lead team junior/mid
Tuy nhiên, nếu em 40+ tuổi và chưa có leadership track record, có thể khó cạnh tranh với ứng viên trẻ hơn nhưng có energy cao. Trong trường hợp đó, hãy focus vào strengths của bạn: stability, decision-making, conflict resolution.