Techcombank
Senior Officer, Software Engineering (40001157)
TP. Ha Noi
Technology
Experienced (Non-Manager)
Mô tả công việc
## Job Purpose
The job holder successfully deploying technology solutions for projects of the whole line.
## Key Accountabilities (1)
Software Development
- Drive and deliver top quality HTML, CSS, JQuery and JavaScript user interface code on a wide range of interactive web projects.
- Own the UI code of the digital platform and the architecture of the user experience, leading designers to take the wireframe from development to delivery.
- Collaborate with back-end developers to troubleshoot and resolve coding issues, improving usability.
- Ensure that all materials produced are of high quality, accuracy, timeliness and compliance with accessibility standards.
- Maintain graphic and branding standards throughout the product's look and feel.
- Actively test and debug the program to ensure stability and accuracy.
- Develop and maintain user interface code to improve forecasting methods and statistical and analytical models to assist business tribes in their decision making.
- Build interfaces and user interfaces for the bank's digital platforms, ensuring a seamless digital interface from the customer's point of view.
- Responsible for the user-facing code of the digital platform and the architecture of the user experience, working closely with the designers to take the wireframe from development to delivery
- Collaborate with back end developers and UI/UX designers to improve usability.
- Proactively give suggestions and systematized solutions to influence the design of the platform.
- Responsible for defining the structure and design of web pages, striking a balance between functional and aesthetic design, and ensuring the web design is optimized for mobile pages.
- Maintain and constantly improve the developed website and optimize the application for smooth use of the application.
## Key Accountabilities (2)
Software Documentation
- Instruct tribe and team members to translate business requirements into technical design documents.
- Actively review and foster discussions with team members on functional requirements documents to build and improve TCB's digital products"
- Work closely with tribe and squad members to translate business requirements into technical design documents.
- Review and execute requirements documents by coding flowcharts, layouts, diagrams, charts, code annotations, and instructions for the program."
## Key Accountabilities (3)
## Key Relationships - Direct Manager
Manager, Software Engineenring/ Team Lead, Software Engineenring
## Key Relationships - Direct Reports
## 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 Degree in Computer Science, Software Engineering or Information Technology
Work Experience
- At least 5 years of front-end experience developing in at least 2 languages (HTML, CSS, JavaScript, React)
- Experience working with popular JavaScript frameworks and libraries (AngularJS, Vue, jQuery)
- Experience with tools that leverage UI/UX design and implementation such as Bootstrap or ZURB Foundation
- Experience working in a source control environment such as GIT or TFVC
- Experience in the full development lifecycle from requirements analysis through coding and release
- Deep experience in developing, testing, documenting, and releasing critical software
- Solid understanding of API design and implementation"
Foreign language
- English/ according to TCB's regulations in each period
Phân tích kỹ năng cần có
## Phân tích Kỹ năng cần có
### 🎯 Hard Skills (Kỹ năng kỹ thuật bắt buộc)
| Cấp độ | Kỹ năng | Yêu cầu chi tiết |
|---------|---------|------------------|
| **Bắt buộc** | HTML/CSS | Thành thạo, tối ưu hóa cho mobile, đảm bảo accessibility |
| **Bắt buộc** | JavaScript | Sâu, hiểu bản chất ES6+, xử lý debug phức tạp |
| **Bắt buộc** | React (ưu tiên) | Frameword phổ biến nhất trong ngân hàng |
| **Bắt buộc** | Git/TFVC | Quản lý source code, merge, branch strategy |
| **Bắt buộc** | API Design | Hiểu RESTful API, có thể review design của BE |
| **Quan trọng** | AngularJS/Vue | Dự án legacy có thể dùng, cần biết ít nhất 1 framework |
| **Quan trọng** | jQuery | Vẫn còn trong codebase cũ, cần đọc được |
| **Quan trọng** | Bootstrap/ZURB Foundation | UI framework phổ biến trong enterprise |
| **Cộng thêm** | TypeScript | Xu hướng hiện tại, nên học thêm |
### 💡 Soft Skills (Kỹ năng mềm)
- **Giao tiếp với Designer**: Vì bạn là cầu nối wireframe → production code
- **Làm việc nhóm agile/scrum**: Techcombank sử dụng mô hình tribe-squad
- **Code review**: Chủ động review và feedback cho team members
- **Phân tích yêu cầu nghiệp vụ**: Dịch business requirements → technical design
- **Presentation skills**: Trình bày giải pháp kỹ thuật cho stakeholders
### 📜 Chứng chỉ gợi ý
| Chứng chỉ | Giá trị | Ghi chú |
|-----------|---------|---------|
| AWS Certified Developer | ⭐⭐⭐ | Cloud là xu hướng của bank |
| Google UX Design | ⭐⭐ | Hiểu UX để làm việc với designer tốt hơn |
| Scrum Master/PSM I | ⭐⭐ | Techcombank dùng agile |
| ISTQB | ⭐ | Nếu muốn mở rộng sang QA |
### 📊 Bảng so sánh: Junior vs Senior Front-end tại Techcombank
| Tiêu chí | Junior (1-3 năm) | Senior (5+ năm) |
|----------|-------------------|------------------|
| Code | Viết theo spec | Tự design solution, define architecture |
| Debug | Fix bug đơn giản | Debug phức tạp, performance issue |
| Review | Code được review | Review code cho người khác |
| Communication | Hỏi nhiều | Mentor, hướng dẫn team |
| Business | Hiểu 1-2 sản phẩm | Hiểu toàn bộ digital platform |
---
## Lộ trình chuẩn bị kỹ năng (Nếu thiếu)
```
Tuần 1-2: Ôn JavaScript sâu (ES6+, async/await, closures)
Tuần 3-4: Học React hooks, Redux hoặc Context API
Tuần 5-6: Thực hành TypeScript, viết lại project cũ
Tuần 7-8: Học Git branching strategy, code review practice
```
---
## Kiến thức ngành Ngân hàng cần biết (Plus)
- **Digital Banking**: Hiểu user flow của app banking (login, transfer, payment)
- **Security**: OAuth 2.0, JWT, 2FA implementation
- **Compliance**: PCI DSS basics cho payment interfaces
- **Performance**: Lazy loading, code splitting cho ứng dụng enterprise
Chuẩn bị phỏng vấn
## Hướng dẫn Phỏng vấn Techcombank - Senior Front-end Engineer
### 📋 Quy trình phỏng vấn thông thường
```
Vòng 1: HR Screening (30-45 phút)
↓
Vòng 2: Technical Interview - Coding (60-90 phút)
↓
Vòng 3: Technical Lead/Architecture (45-60 phút)
↓
Vòng 4: Manager Interview (30-45 phút)
↓
Vòng 5: Offer Discussion
```
---
### 🔍 Chi tiết từng vòng
#### **Vòng 1: HR Screening**
- Giới thiệu bản thân, motive gửi CV
- Tại sao Techcombank? Tại sao chuyển việc?
- Mức lương mong muốn, notice period
- Đánh giá English qua giao tiếp
**Câu hỏi hay gặp:**
> "Bạn biết gì về Techcombank?"
> "Tại sao bạn muốn rời công ty hiện tại?"
> "Bạn có thể describe a project you're proud of?"
---
#### **Vòng 2: Technical Interview - Coding**
- Algorithm & Data Structure (Easy-Medium)
- Front-end specific: HTML/CSS output prediction, JS hoisting, closures
- System design nhỏ: Design một component
**Danh sách bài tập ôn luyện:**
```javascript
// Chuẩn bị những topics này:
// 1. Array methods (map, filter, reduce, find)
// 2. Promises, async/await
// 3. Event loop, hoisting
// 4. Closures, prototype chain
// 5. DOM manipulation
// 6. CSS specificity, flexbox, grid
// Ví dụ câu hỏi hay hỏi:
// - Explain event delegation
// - What is closure? Give example
// - Difference between let, const, var
// - How does async/await work?
```
**Tips:** Không cần leetcode hard, focus vào practical coding và ES6+
---
#### **Vòng 3: Technical Lead - Architecture**
- Thiên về system design và best practices
- Deep dive vào projects trong CV
- Design patterns, performance optimization
**Câu hỏi hay gặp:**
> "Design một hệ thống login cho ngân hàng"
> "Làm sao tối ưu performance của một heavy web app?"
> "How would you handle state management in a large React app?"
> "Describe your experience with CI/CD"
> "What is your approach to code review?"
**Topics cần nắm vững:**
- Component architecture
- State management (Redux, Context, Zustand)
- Performance: lazy loading, memoization, bundle optimization
- Testing: unit test, integration test
- Security: XSS, CSRF prevention
---
#### **Vòng 4: Manager Interview**
- Culture fit, teamwork
- Leadership potential
- Communication skills
- Scenarios: conflict với teammate, deadline chồng chéo
**Câu hỏi hay gặp:**
> "Tell me about a time you disagreed with your tech lead"
> "How do you mentor junior developers?"
> "Where do you see yourself in 3 years?"
> "Describe a project that failed. What did you learn?"
---
### 👔 Dress Code
- **Techcombank** thuộc nhóm ngân hàng TMCP hiện đại
- Business casual ✓ (áo sơ mi, quần âu/khaki)
- Không cần vest cầu kỳ như ngân hàng nhà nước
- Tránh đồ quá thể thao (áo phông, giày thể thao)
- Clean, professional là chuẩn
---
### ✅ Tips chuẩn bị đặc biệt cho Techcombank
1. **Tìm hiểu về TCB Digital Bank** - Họ rất tự hào về app banking của mình
2. **Nghiên cứu tribe-squad model** - Biết thuật ngữ agile của họ
3. **Chuẩn bị portfolio** - Code samples trên GitHub là điểm cộng lớn
4. **English ready** - Vì JD viết bằng tiếng Anh, interview có thể xen lẫn
5. **Research salary** - Thị trường Senior FE tại Hà Nội: 25-45 triệu, có thể cao hơn ở bank
---
### 📝 Sample câu trả lời cho câu hỏi phổ biến
**Q: "Why React when the job mentions multiple frameworks?"**
```
Trả lời mẫu:
"I'm confident in React because it's what I've used most extensively
in my recent projects. However, I've also worked with Vue in a previous
project where the team needed a lighter-weight solution. I'm confident
I can pick up any framework quickly since they share similar concepts.
I'm more interested in understanding the best practices and architecture
than just a specific framework name."
```
**Q: "How do you handle a designer who gives you an unrealistic design?"**
```
Trả lời mẫu:
"I would first try to implement it and document any technical constraints.
Then I'd schedule a meeting to discuss - showing them the trade-offs.
For example, a complex animation might impact performance on mobile.
I'd propose alternatives that achieve similar visual goals within
technical constraints. I believe in collaborative problem-solving
rather than just saying 'no'."
```
Lộ trình ôn thi
## Ôn thi & Chuẩn bị cho vòng Technical
### 📚 Tài liệu tham khảo
#### **JavaScript / ES6+**
| Tài liệu | Link | Ghi chú |
|-----------|------|---------|
| You Don't Know JS (series) | GitHub free | Sách gối đầu giường |
| JavaScript Info | javascript.info | Giải thích sâu, có bài tập |
| ES6 Features | es6-features.org | Cheatsheet nhanh |
#### **React**
| Tài liệu | Link | Ghi chú |
|-----------|------|---------|
| Official React docs | react.dev | Cập nhật nhất, Hooks focus |
| React Patterns | reactpatterns.com | Best practices |
| Epic React (Kent C. Dodds) |-paid | Chất lượng cao |
#### **System Design**
| Tài liệu | Link | Ghi chú |
|-----------|------|---------|
| Front-end System Design | frontendmaster.com | Video course tốt |
| Component Design | smapiot.com | Design patterns |
#### **Git Best Practices**
| Tài liệu | Link | Ghi chú |
|-----------|------|---------|
| Git Flow | nvie.com/posts/successful-git-branching-model | Branching strategy |
| conventionalcommits.org | Conventional Commits | Commit message format |
---
### 🗺️ Lộ trình chuẩn bị 2 tuần (Intensive)
```
TUẦN 1: Nền tảng vững
Ngày 1-2: JavaScript Deep Dive
├── Closures, Hoisting, Event Loop
├── Prototype chain, 'this' keyword
├── Async patterns (callbacks, promises, async/await)
└── Common interview questions JS
Ngày 3-4: React + State Management
├── Hooks (useState, useEffect, useRef, useMemo, useCallback)
├── Context API vs Redux - khi nào dùng gì
├── Custom hooks patterns
└── Performance optimization techniques
Ngày 5-6: HTML/CSS + Accessibility
├── Flexbox, Grid layout
├── CSS specificity rules
├── BEM, CSS Modules, Styled-components
├── ARIA labels, semantic HTML
└── Responsive design principles
Ngày 7: Git & Collaboration
├── Branching strategy (Git Flow)
├── Pull request workflow
├── Code review best practices
└── Merge vs Rebase
TUẦN 2: Practice & Mock Interview
Ngày 8-9: Coding Practice
├── Array/String problems (Easy-Medium)
├── DOM manipulation exercises
├── Build small components from scratch
└── Code on paper/whiteboard (thực hành không IDE)
Ngày 10-11: System Design Basics
├── Design a login flow
├── Design a dashboard component
├── State management approach
└── Performance optimization case study
Ngày 12-13: Projects Deep Dive
├── Review lại tất cả projects trong CV
├── Chuẩn bị: tech stack, challenges, solutions
├── Đoạn code nào tự hào nhất? Tại sao?
└── Failure story + lessons learned
Ngày 14: Final Review
├── Ôn lại những điểm yếu
├── Chuẩn bị câu hỏi cho interviewer
├── Check logistics (địa điểm, thời gian)
└── Nghỉ ngơi, relax
```
---
### 🎯 Checklist trước ngày phỏng vấn
```
□ GitHub profile sạch sẽ, có code samples
□ LinkedIn updated với Techcombank application
□ Chuẩn bị 3-5 stories về:
- Một dự án thành công (impact, metrics)
- Một lần failure/lesson learned
- Một lần conflict với teammate/coworker
- Một lần mentor someone
□ Ứng dụng Techcombank/Website - dùng thử
□ Đọc về Techcombank Digital Bank
□ Đoạn code nào đẹp nhất trong portfolio
□ Câu hỏi dành cho interviewer (5-7 câu)
□ Laptop/điện thoại sạc đầy (nếu có coding test online)
□ Bút, notebook (phòng trường hợp viết tay)
□ Giấy tờ: CMND/CCCD
```
---
### 📌 Câu hỏi NÊN hỏi Interviewer (điểm cộng)
1. "What does success look like for this role in the first 3 months?"
2. "What technologies stack is the team currently using?"
3. "How does the tribe-squad model work in practice here?"
4. "What's the biggest challenge the front-end team is facing?"
5. "How do you measure code quality and performance?"
---
### ⚠️ Những lỗi THƯỜNG GẶP cần tránh
- Không biết lý do chọn một framework/library cụ thể
- Copy-paste code từ Stack Overflow mà không hiểu
- Over-engineering: Dùng Redux cho app quá nhỏ
- Ignored edge cases trong coding test
- Không hỏi clarifying questions trước khi code
- Trình bày project mơ hồ, không có metrics
Tư vấn nghề nghiệp
## Lời khuyên Sự nghiệp cho Senior Front-end Developer
---
### 🚀 Lộ trình Thăng tiến tại Techcombank
```
Senior Officer, Software Engineering (Bạn đang apply)
↓ (2-3 năm)
Lead Software Engineer
↓ (2-3 năm)
Assistant Manager / Manager, Engineering
↓ (3-4 năm)
Senior Manager / VP
↓
Director / CTO-level
```
**Note:** Techcombank có cấu trúc flat hơn ngân hàng truyền thống, nên tốc độ thăng tiến phụ thuộc nhiều vào performance và định hướng (IC vs Manager track)
---
### 💰 Mức lương Kỳ vọng theo cấp bậc (Hà Nội, 2024)
| Cấp bậc | Kinh nghiệm | Lương tháng (VND) | Notes |
|---------|-------------|-------------------|-------|
| Junior FE | 0-2 năm | 15-25 triệu | Fresher có thể thấp hơn |
| Mid FE | 2-4 năm | 22-35 triệu | Standard market |
| Senior FE | 5-7 năm | 30-50 triệu | Vị trí bạn đang apply |
| Lead FE | 7-10 năm | 45-70 triệu | Quản lý nhỏ |
| Manager | 8-12 năm | 60-100 triệu | Team 5-15 người |
**Techcombank premium:**
Thường cao hơn thị trường 10-20% so với công ty IT thuần túy, cộng thêm:
- Performance bonus: 1-3 tháng lương
- Insurance cao cấp
- Package benefits khác
---
### 📈 Skills cần phát triển thêm (Để lên Lead/Manager)
#### **Technical Growth (nếu đi IC track)**
```
□ Architecture: System design cho enterprise scale
□ Performance: Core Web Vitals optimization
□ Testing: TDD, E2E testing
□ DevOps: CI/CD pipelines, monitoring
□ Security: Web security fundamentals, OWASP
□ Mobile: React Native / Flutter (cross-skill)
```
#### **Leadership Growth (nếu đi Manager track)**
```
□ People management: 1-on-1s, feedback, career development
□ Project management: Sprint planning, risk management
□ Stakeholder management: Điều phối với business
□ Hiring: Interview, onboarding
□ Technical writing: Documentation, RFCs
□ Mentorship: Guide junior members
```
---
### 🎯 Lời khuyên Strategy cho từng giai đoạn
#### **Nếu bạn đang ở 3-4 năm kinh nghiệm:**
> Đây là thời điểm tốt để apply Senior position. Tập trung:
> - Proof điểm mạnh qua project examples cụ thể
> - Chuẩn bị câu chuyện về leadership/mentorship dù nhỏ
> - Đàm phán lương dựa trên market rate + skills đặc biệt
#### **Nếu bạn đang ở 5+ năm, muốn lên Lead:**
> Ngoài technical skills, cần show:
> - Track record mentoring others
> - Initiative dẫn dắt technical decisions
> - Cross-functional collaboration
> - Portfolio of shipped products
#### **Nếu bạn muốn chuyển từ ngành khác sang:**
> Techcombank hiếm khi hire Senior từ non-tech background.
> Nên bắt đầu từ Mid-level hoặc Intern, hoặc build portfolio
> đủ mạnh để bypass experience requirement.
---
### 🏦 Đặc thù Techcombank cần biết
**Ưu điểm:**
- Môi trường tech-forward, áp dụng công nghệ mới
- Lương cạnh tranh, bonus hậu hĩnh
- Học được cách ngân hàng số vận hành
- Tribe-squad model linh hoạt
**Thử thách:**
- Áp lực deadline dự án lớn
- Compliance/regulation phức tạp
- Legacy code trong một số hệ thống
- Có thể có bureaucracy giữa các tribe
---
### 📝 Khi nhận Offer - Checklist Negotiation
- [ ] Research market salary trước (dùng data ở trên)
- [ ] Biết "walk-away point" - mức tối thiểu chấp nhận
- [ ] Negotiation base on value: skills scarcity, relevant experience
- [ ] Quan tâm total package: bonus, insurance, training budget
- [ ] Hỏi rõ: 13th month bonus? Performance review cycle? Probation salary?
- [ ] Đừng chỉ negotiatite lương - có thể negotiatite: learning budget, title, signing bonus
---
### 🔑 Key Takeaways
1. **Techcombank Senior FE** là vị trí tốt để học về banking tech
2. Focus vào React + JavaScript sâu + Git collaboration
3. Chuẩn bị stories về technical decisions và trade-offs
4. Show leadership potential dù chưa có title
5. Negotiation nên dựa trên market data + unique skills
Câu hỏi thường gặp
Em mới có 3 năm kinh nghiệm, có nên apply Senior position này không?
Có thể apply, nhưng cần chuẩn bị kỹ. Techcombank không strict về số năm nếu bạn có strong portfolio. Focus vào: (1) Show quality projects đã làm, (2) Prove deep understanding về JS/React, (3) Prepare stories về technical leadership dù nhỏ - ví dụ mentor fresher, lead một feature nhỏ. Điểm yếu về kinh nghiệm có thể bù bằng passion và learning ability.
Mức lương Senior FE tại Techcombank Hà Nội khoảng bao nhiêu?
Thị trường hiện tại (2024) Senior Front-end ở Hà Nội: 30-50 triệu/tháng. Techcombank thường ở mức above market, có thể đạt 40-55 triệu tùy kinh nghiệm và kỹ năng đặc biệt. Ngoài lương còn có bonus 1-3 tháng, insurance cao cấp. Khi đàm phán, hãy research kỹ và đề xuất con số cụ thể dựa trên current salary + expected increase 20-30%.
Techcombank dùng tech stack gì? Có cập nhật không?
Techcombank được biết đến là bank tech-forward nhất Việt Nam. Tech stack thường gồm: React/Angular cho front-end, Java/Node cho back-end, AWS cloud. Tuy nhiên trong một số dự án vẫn có legacy code jQuery/AngularJS. Họ chuyển đổi dần sang modern stack. Điểm mạnh: được làm việc với hệ thống enterprise scale, áp dụng CI/CD, microservices.
Vòng phỏng vấn Technical có thi algorithm khó không?
Không cần leetcode hard. Techcombank tập trung vào: (1) JavaScript deep concepts - closures, hoisting, async, (2) Practical coding - viết component, debug code, (3) React patterns - hooks, state management, (4) System design nhẹ - design một feature đơn giản. Focus vào understanding sâu hơn là giải thuật phức tạp. Nên ôn medium-level JS questions là đủ.
Làm ở ngân hàng có áp lực hơn công ty IT thuần túy không?
Có đặc thù riêng. Áp lực chính: (1) Compliance/regulation - code cần audit kỹ, (2) Security strict - nhiều constraint hơn, (3) Deadline của dự án lớn thường căng, (4) Weekend deploy có thể xảy ra. Đổi lại: stability cao, salary competitive, học được domain knowledge banking - rất valuable cho career. Work-life balance tùy team, có team tốt có team OT nhiều.
Cần chuẩn bị gì cho vòng Manager interview?
Vòng này test culture fit và leadership potential. Chuẩn bị: (1) Stories về teamwork - conflict resolution, helping teammate, (2) Times you took initiative - không cần lớn, (3) Why Techcombank - nghiên cứu digital banking strategy của họ, (4) Questions cho manager - hỏi về team, culture, expectations. Đặc biệt: Techcombank đề cao ownership mindset, thể hiện bạn không chỉ code mà understand business.
Sau khi vào Techcombank, lộ trình thăng tiến như thế nào?
Techcombank có 2 track: IC (Individual Contributor) và Manager. Senior → Lead (2-3 năm) → Assistant Manager (2-3 năm) → Manager → Senior Manager. Tốc độ phụ thuộc performance rating, initiative, và visibility. Điểm mạnh: flat organization, nhiều room để prove yourself. Để thăng tiến: ship quality work, cross-team collaboration, take ownership của topics lớn, develop others.
Có nên nhảy việc từ công ty đang làm sang Techcombank không?
Cân nhắc: NÊN nếu bạn muốn học enterprise banking tech, cần salary bump, muốn stability của ngành tài chính. KHÔNG NÊN nếu bạn thích làm startup, freedom về tech stack, hoặc muốn remote-first. Đặc biệt: Techcombank phù hợp cho người muốn career in fintech/banking. Trade-off: stability vs flexibility.