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

Expert, Software Engineering (40001156)

TP. Ha Noi Technology Division
Expert

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 cần có cho vị trí Expert, Software Engineering tại Techcombank ### 1. Hard Skills bắt buộc | Nhóm kỹ năng | Yêu cầu cụ thể | Mức độ thành thạo | |---------------|-----------------|-------------------| | **Backend** | Java (Spring Boot/FW khác) | Chuyên sâu | | **Web Frontend** | TypeScript, React/Vue/Angular | Trung bình-cao | | **Mobile** | Swift, Kotlin hoặc Dart (Flutter) | Ít nhất 1 nền tảng | | **Kiến trúc** | Microservices, Domain-Driven Design | Chuyên sâu | | **Nguyên lý** | SOLID, Design Patterns (GoF, Enterprise) | Chuyên sâu | | **Hệ thống** | Compiling, Runtime, High Performance, Concurrency | Nâng cao | | **DevOps** | Observability (monitoring, logging, tracing), CI/CD | Trung bình-cao | | **Security** | Security best practices (OWASP, mã hóa, auth) | Nâng cao | ### 2. Kinh nghiệm yêu cầu - **Tối thiểu 5 năm** trong lĩnh vực engineering (không chỉ dev thuần) - **Tối thiểu 2 năm** ở vị trí Team Lead/Quản lý kỹ thuật - Có kinh nghiệm **dẫn dắt system/software delivery** từ đầu đến cuối - Có kinh nghiệm **thiết kế kiến trúc** (không chỉ implement theo spec) ### 3. Soft Skills quan trọng - **Khả năng mentor** – đàn em từ Officer đến Staff level - **Giao tiếp liên phòng ban** – làm việc với nhiều đơn vị nội bộ - **Giải quyết xung đột** – "mediating in the work environment" - **Tư duy cải tiến** – chủ động tìm điểm nghẽn và cải thiện process - **Viết tài liệu** – API specs, system design docs, coding guidelines ### 4. Chứng chỉ gợi ý để tăng sức cạnh tranh | Chứng chỉ | Giá trị | Ưu tiên | |------------|---------|--------| | AWS Certified Solutions Architect / Developer | Cloud, microservices | Rất cao | | Google Cloud Professional | Cloud | Cao | | ISTQB Certified Tester | Testing automation | Trung bình | | CKA (Kubernetes) | DevOps, container | Cao | | Oracle Certified Professional Java | Backend Java | Trung bình | | TOEIC 600+ | Tiếng Anh (yêu cầu chung của TCB) | Bắt buộc nếu yếu | ### 5. Bảng so sánh: Junior Dev vs Expert Software Engineering | Tiêu chí | Junior/Mid (Officer) | Expert (cấp này) | |----------|----------------------|------------------| | Phạm vi công việc | Implement theo spec | Thiết kế spec, kiến trúc hệ thống | | Code review | Được review | Lead peer review, đặt standard | | Xử lý lỗi | Bug thường | Production incident, complex defect | | Người mới | Học từ người khác | Mentor người khác | | Ra quyết định | Theo hướng dẫn | Tự chịu trách nhiệm kỹ thuật | | Giao tiếp | Trong team | Liên phòng ban, đối tác bên ngoài | --- **Nhận định:** Đây là vị trí cấp Senior/Staff Engineer, đòi hỏi cả **depth** (chuyên sâu Java, kiến trúc) lẫn **breadth** (TypeScript, mobile, DevOps). Điểm khác biệt rõ rệt so với Senior thông thường: yêu cầu **2 năm quản lý team** và khả năng **mentor đa cấp** (từ Officer đến Staff).

Chuẩn bị phỏng vấn

## Hướng dẫn chuẩn bị phỏng vấn Expert, Software Engineering – Techcombank ### Quy trình phỏng vấn dự kiến **Thông thường tại Techcombank cho vị trí công nghệ:** 1. **Screening với HR** (30-45 phút) - Giới thiệu bản thân, động lực ứng tuyển - Xác nhận kinh nghiệm, mức lương kỳ vọng - Một số câu hỏi hành vi (behavioral) 2. **Technical Interview vòng 1** (60-90 phút) - Kiểm tra kiến thức Java/backend sâu - System design (thiết kế hệ thống) - Code review thực tế hoặc live coding 3. **Technical Interview vòng 2 – với Lead/Manager** (60-90 phút) - Deep dive vào kinh nghiệm kiến trúc - Tình huống xử lý incident, technical debt - Câu hỏi về mentorship và quản lý team 4. **Vòng cuối – với Head/CTO/Director** (45-60 phút) - Đánh giá cultural fit, tư duy chiến lược - Câu hỏi về vision phát triển hệ thống - Thương lượng offer ### Câu hỏi hay gặp theo từng vòng **Vòng HR – Câu hỏi behavioral:** - "Kể về một lần bạn dẫn dắt team để hoàn thành dự án khó" - "Bạn xử lý thế nào khi có xung đột quan điểm kỹ thuật trong team?" - "Tại sao bạn muốn chuyển sang Techcombank?" - "Mức lương kỳ vọng của bạn là bao nhiêu?" **Vòng Technical – Câu hỏi kiến trúc & system design:** - "Thiết kế một hệ thống thanh toán ngân hàng (hoặc core banking) từ đầu" - "Sự khác nhau giữa Microservices và Monolithic? Khi nào nên dùng?" - "Giải thích SOLID principles và áp dụng thực tế ra sao?" - "Làm sao đảm bảo code quality trong một team nhiều người?" - "Bạn xử lý race condition trong Java như thế nào?" - "Thiết kế hệ thống có tính availability cao, tránh single point of failure" - "Trình bày về observability: monitoring, logging, tracing trong hệ thống bạn từng làm" **Vòng Technical – Câu hỏi về leadership & mentorship:** - "Bạn đã mentor những ai? Quy trình mentor của bạn như thế nào?" - "Khi một junior dev liên tục gây lỗi, bạn xử lý ra sao?" - "Chia sẻ một lần bạn phát hiện và cải tiến một process kỹ thuật lỗi thời" - "Bạn quản lý technical debt như thế nào?" **Vòng cuối – Câu hỏi chiến lược:** - "Bạn hình dung Techcombank 3-5 năm tới cần hệ thống tech như thế nào?" - "Điều gì thúc đẩy bạn trong sự nghiệp?" - "Bạn sẽ đóng góp gì cho Techcombank ngoài kỹ năng code?" ### Tips chuẩn bị cụ thể ✅ **Ôn kỹ Java sâu:** - Concurrency (Thread, ExecutorService, CompletableFuture) - JVM internals (memory model, GC algorithms, JIT compilation) - Spring Boot ecosystem (Security, Data JPA, Web) - Performance tuning (profiling, benchmarking) ✅ **Chuẩn bị system design case studies:** - Payment gateway / transaction processing - Core banking system components - Event-driven architecture (Kafka, message queue) ✅ **Sẵn sàng portfolio thực tế:** - Một repo GitHub hoặc case study về project đã dẫn dắt - Sơ đồ kiến trúc đã thiết kế (có thể mang theo/chiếu) - Số liệu cải thiện cụ thể: "giảm 30% thời gian deploy", "refactor giảm 50% bug" ✅ **Chuẩn bị câu chuyện về mentorship:** - Có ít nhất 2-3 ví dụ cụ thể về việc hướng dẫn junior - Trước/sau khi có sự thay đổi (growth của người được mentor) ### Dress Code - **Business casual** – Techcombank là ngân hàng TMCP, không yêu cầu suit lịch sự như ngân hàng nước ngoài - Nam: sơ mi, quần tây, giày lịch (không cần cravat) - Nữ: áo sơ mi/camac, quần hoặc váy công sở - Tránh jeans, áo thun in hình, giày thể thao - Với vòng technical: có thể thoải mái hơn (smart casual) --- **Lưu ý:** Techcombank là một trong những ngân hàng có văn hóa tech tốt nhất Việt Nam. Họ đánh giá cao ứng viên có tư duy product, không chỉ là "lập trình viên code thuê".

Lộ trình ôn thi

## Ôn thi & Chuẩn bị cho vị trí Expert, Software Engineering ### Lộ trình chuẩn bị: 2 tuần (14 ngày) #### GIAI ĐOẠN 1 – Ôn nền tảng (Ngày 1-4) **Java Deep Dive:** - [ ] Java Concurrency in Practice – đọc chương 1, 2, 4, 5, 8, 10 - [ ] JVM Memory Model, Garbage Collection (G1GC, ZGC) - [ ] Spring Boot internals: Bean lifecycle, AOP, Transaction management - [ ] Thực hành: Viết một ứng dụng Spring Boot với multi-threading, benchmark với JMH **System Design Fundamentals:** - [ ] SOLID Principles – ôn lại tất cả 5 nguyên tắc, có ví dụ thực tế - [ ] Design Patterns: Builder, Factory, Strategy, Observer, Repository, Unit of Work - [ ] Microservices patterns: API Gateway, Service Discovery, Circuit Breaker, Saga - [ ] Tài liệu: *Designing Data-Intensive Applications* – Martin Kleppmann (chương 1-4, 8-9) #### GIAI ĐOẠN 2 – Kiến trúc hệ thống (Ngày 5-8) **Ôn thiết kế kiến trúc:** - [ ] Thiết kế hệ thống distributed: consistency, availability, partition tolerance (CAP theorem) - [ ] Caching strategies (Redis, Memcached) – khi nào dùng, pitfalls - [ ] Database sharding, replication (master-slave, master-master) - [ ] Message queues: Kafka, RabbitMQ – use cases khác nhau - [ ] Event-driven architecture vs request-response **Security best practices:** - [ ] OWASP Top 10 - [ ] Authentication/Authorization: OAuth2, JWT, SSO - [ ] Mã hóa dữ liệu: at-rest vs in-transit - [ ] Secure coding practices trong Java **Observability:** - [ ] Monitoring: Prometheus, Grafana - [ ] Logging: ELK Stack (Elasticsearch, Logstash, Kibana) - [ ] Distributed tracing: Jaeger, Zipkin - [ ] SLO/SLI/SLA – cách đặt và đo metrics #### GIAI ĐOẠN 3 – Leadership & Behavioral (Ngày 9-11) - [ ] Viết ra 5 câu chuyện thành tựu (achievement stories) theo format STAR - [ ] Chuẩn bị câu trả lời cho: conflict management, technical decision making, mentorship experience - [ ] Tìm hiểu về Techcombank: chiến lược digital transformation, sản phẩm tech nổi bật - [ ] Nghiên cứu Techcombank Tech Blog (nếu có) #### GIAI ĐOẠN 4 – Mock & Polish (Ngày 12-14) - [ ] Practice system design interview: giải quyết 3-5 bài (Payment, E-commerce, Chat app, etc.) - [ ] Mock interview với bạn bè hoặc coach - [ ] Ôn lại CV, chuẩn bị những project/achievement hay nhất - [ ] Ngày cuối: nghỉ ngơi, đi sớm, ngủ đủ giấc ### Tài liệu tham khảo **Sách (đọc bản tiếng Anh):** | Sách | Mục đích | Ưu tiên | |------|----------|--------| | Clean Code – Robert C. Martin | Code quality, naming, functions | ⭐⭐⭐ | | Clean Architecture – Robert C. Martin | Kiến trúc phần mềm | ⭐⭐⭐ | | Designing Data-Intensive Applications | Distributed systems | ⭐⭐⭐ | | Java Concurrency in Practice | Concurrency in Java | ⭐⭐⭐ | | System Design Interview – Alex Xu Vol 1 & 2 | Interview preparation | ⭐⭐⭐ | | Staff Engineer – Will Larson | Career path, leadership | ⭐⭐ | **Nguồn online miễn phí:** - Baeldung.com – Java & Spring tutorials (rất chi tiết) - Martin Fowler's Blog – Architecture patterns - Kubernetes.io – Container orchestration (nếu dùng K8s) - Techcombank Investor Relations – hiểu chiến lược kinh doanh **YouTube channels:** - System Design Interview (kênh có bài giải chi tiết) - Coding with John (Java concurrency, Spring) - ByteByteGo (system design) ### Kiến thức ngân hàng cần biết thêm - **Core banking system** là gì? Các module chính? - **Payment rails** tại Việt Nam: NAPAS, VNAPS, chuyển mạch liên ngân hàng - **Regulatory compliance**: PCI-DSS, ISO 27001 (an ninh thông tin ngân hàng) - **Hiểu biết cơ bản về**: digital banking, open banking API, fintech integration --- **Mẹo cuối cùng:** Với vị trí Expert, interviewers đánh giá cao nhất khả năng **tư duy độc lập** và **ra quyết định kỹ thuật có trách nhiệm**. Không cần phải biết tất cả, nhưng cần thể hiện cách suy nghĩ có cấu trúc và sẵn sàng thừa nhận khi chưa biết.

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 dự kiến ``` Junior Dev (0-2 năm) ↓ Mid-level Dev (2-4 năm) ↓ Senior Dev (4-6 năm) + Team Lead ↓ ⭐ EXPERT / STAFF ENGINEER (5+ năm, 2+ năm lead) ← BẠN ĐANG Ở ĐÂY ↓ Principal Engineer / Engineering Manager ↓ Director of Engineering / VP of Engineering ``` **Techcombank có cấu trúc career path theo hướng IC (Individual Contributor) lẫn Manager track.** Vị trí Expert nằm ở ngã ba đường: - **IC track (chuyên gia kỹ thuật):** Principal Engineer → Fellow Engineer - **Manager track:** Engineering Manager → Senior EM → Director ### Mức lương kỳ vọng theo cấp bậc (tham khảo thị trường Hà Nội 2024) | Cấp bậc | Kinh nghiệm | Mức lương tháng (VND) | |---------|-------------|----------------------| | Mid-level Dev | 2-4 năm | 20-35 triệu | | Senior Dev | 4-6 năm | 35-55 triệu | | **Expert/Staff** | **5-8 năm** | **55-90 triệu** | | Principal Engineer | 8+ năm | 90-150 triệu | | Engineering Manager | 5-8 năm | 60-100 triệu | **Lưu ý:** - Mức lương tại **Techcombank** thường competitive hơn ngân hàng nhà nước, ngang hoặc cao hơn một số fintech - Techcombank nổi tiếng với mức lương thực nhận tốt, thưởng performance linh hoạt - Lương "Thỏa thuận" trong JD có nghĩa họ sẵn sàng trả cao cho đúng người ### Kỹ năng cần phát triển thêm sau khi vào vai trò Expert **Năm đầu tiên tại Techcombank:** 1. **Học hệ thống nghiệp vụ ngân hàng** – hiểu payment, lending, treasury 2. **Build internal network** – làm quen với các phòng ban tech khác 3. **Chứng minh value** – bằng những improvement cụ thể (performance, reliability) 4. **Mentor thành công** – đo lường bằng sự growth của người được mentor **Sau 1-2 năm, hướng phát triển:** - Muốn đi **IC track**: chứng minh năng lực kiến trúc sư hệ thống lớn, cross-team technical leadership - Muốn đi **Manager track**: bắt đầu quản lý 3-5 người, học về performance review, hiring, org design ### So sánh: Techcombank vs các lựa chọn khác | Yếu tố | Techcombank | Ngân hàng nhà nước | Startup fintech | |--------|-------------|--------------------|------------------| | Lương | Cao | Trung bình | Biến động cao | | Áp lực deadline | Cao | Thấp | Rất cao | | Công nghệ hiện đại | Tốt | Trung bình | Tùy startup | | Work-life balance | Tương đối | Tốt | Kém | | Cơ hội thăng tiến | Tốt (mở) | Chậm | Nhanh nhưng mỏng | | Learning opportunity | Rất tốt | Hạn chế | Tùy | **Đánh giá:** Techcombank là lựa chọn tốt cho career trong ngành banking tech vì balance giữa lương-đãi ngộ, công nghệ hiện đại, và sự ổn định của ngân hàng. ### Red Flags cần cân nhắc ⚠️ **Hỏi rõ trong phỏng vấn:** - Team hiện tại có bao nhiêu người? Tỷ lệ junior/senior? - Sản phẩm đang maintain có legacy code không? Tỷ lệ? - Tech stack mới được adopt khi nào? Có đang trong quá trình migration? - On-call rotation như thế nào? Tần suất incident? --- **Tóm lại:** Đây là vị trí rất tốt để "step up" từ Senior Engineer lên Staff/Expert level, đặc biệt nếu bạn muốn ở lại ngành financial services mà không phải hy sinh mức sống. Techcombank đầu tư mạnh vào tech, và Expert level có tiếng nói kỹ thuật thực sự.

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

Em mới có 3 năm kinh nghiệm, chưa đủ 5 năm như yêu cầu. Có nên ứng tuyển không?

Có thể thử, nhưng rủi ro cao. Yêu cầu "at least 5 years" trong JD thường là hard requirement, đặc biệt với vị trí Expert. Tuy nhiên, nếu bạn có kinh nghiệm thực tế ấn tượng (đã làm kiến trúc, dẫn dắt team, project lớn), HR vẫn có thể consider. Đề xuất: apply nhưng chuẩn bị rất kỹ phần kinh nghiệm thực tế, đồng thời backup bằng các JD Senior Engineer để không bỏ lỡ cơ hội khác.

Em code Java backend nhưng chưa có kinh nghiệm quản lý team. Muốn chuyển sang hướng management, nên làm gì?

Đây là vị trí yêu cầu 2 năm team lead, nên bạn cần tạo cơ hội để lead trước. Gợi ý: (1) Xin assign làm tech lead cho một sub-team nhỏ dù chưa có title chính thức, (2) Mentor 1-2 junior dev, (3) Tham gia code review với vai trò reviewer chính, (4) Đề xuất và dẫn dắt một technical initiative nhỏ. Sau 1-1.5 năm build track record, bạn sẽ sẵn sàng cho vị trí tương tự.

Mức lương kỳ vọng nên đưa ra bao nhiêu cho vị trí này?

Vì JD ghi "Thỏa thuận", hãy làm bài tập trước: research mức lương market rate cho Expert Engineer tại Hà Nội (tham khảo Glassdoor, TopDev salary report, VietnamSalary). Đưa ra một range thay vì con số cứng, ví dụ "55-70 triệu tùy scope và benefits package". Nguyên tắc: không nói trước số quá thấp, nhưng cũng không đưa ra mức vô lý. Đặc biệt với Techcombank, họ thường trả cao hơn market cho đúng ứng viên.

Techcombank làm việc với tech stack gì? Có cập nhật công nghệ mới không?

Techcombank là một trong những ngân hàng Việt Nam hiện đại nhất về tech. Họ dùng Java/Spring Boot cho backend, TypeScript/React cho web, Swift(Kotlin) cho mobile. Đã áp dụng microservices, Kubernetes, CI/CD, cloud (AWS/GCP). Tuy nhiên, cần hỏi rõ trong interview về tỷ lệ legacy vs modern stack, và roadmap sắp tới – điều này cho biết bạn sẽ được làm việc với công nghệ gì trong 1-2 năm tới.

Khi nào nên đề cập chuyện muốn chuyển sang management track thay vì IC track?

Đừng đề cập trong vòng technical interview. Chờ đến vòng cuối (với Head/Director) hoặc khi HR hỏi về career aspiration. Tại thời điểm đó, bạn có thể nói: "Em đang ở ngã ba IC/Manager, muốn giữ cân bằng – vẫn code 50% thời gian nhưng cũng muốn dẫn dắt team lớn hơn." Techcombank có cả hai track, nên họ welcome câu hỏi này.

Trong code review, nếu gặp senior dev không tuân thủ coding standards, em nên xử lý thế nào?

Đây là câu hỏi behavior + leadership trong phỏng vấn Expert. Câu trả lời mẫu: (1) Không bao giờ public call-out trong PR, inbox riêng trước, (2) Giải thích "why" (performance impact, maintainability), không chỉ "what" (violation), (3) Nếu là vấn đề thường xuyên, đề xuất đưa vào linter/formatter để enforce tự động, (4) Đưa ra 1-1 với manager nếu hành vi ảnh hưởng team. Quan trọng: thể hiện bạn giải quyết bằng influence chứ không phải authority.

Techcombank có yêu cầu tiếng Anh không? Em TOEIC 500 có đủ không?

JD ghi "English as per organization's regulations" – tức Techcombank có standard riêng. Thực tế: vị trí tech thường yêu cầu đọc hiểu tài liệu kỹ thuật tiếng Anh (90% tài liệu là EN), giao tiếp trong họp cross-team. TOEIC 500 là mức thấp, nên cải thiện lên 650-750 để tự tin. Tuy nhiên, điểm số không phải tất cả – kỹ năng đọc hiểu và viết email chuyên nghiệp quan trọng hơn trong công việc hàng ngày.

Công việc của Expert Software Engineering có áp lực lớn không? On-call như thế nào?

Có áp lực – đây là ngân hàng, system downtime = business impact rất lớn. On-call rotation tùy team, nhưng Expert thường là first responder cho major incidents. Chuẩn bị: (1) Tìm hiểu on-call policy trong interview, (2) Hỏi về incident response process và runbooks, (3) Hỏi về SLA/SLO của các critical services. Đổi lại, Techcombank thường có compensation cho on-call (phụ cấp hoặc overtime) – nên hỏi rõ benefit này.