SHB
Frontend Developer - Khối Ngân hàng Số
Hội sở chính
Khối Ngân hàng số
Thương lượng
1 chỉ tiêu
Hạn: 2030-03-28
Mô tả công việc
Mô tả công việc
-
Phát triển giao diện người dùng cho các sản phẩm số của Ngân hàng theo mục tiêu kinh doanh của Squad.
-
Tiếp nhận yêu cầu từ PO, phối hợp với BA và Designer để xây dựng giao diện đảm bảo trải nghiệm người dùng.
-
Phối hợp với Backend Developer và các thành viên trong Squad trong quá trình phát triển, tích hợp và hoàn thiện sản phẩm.
-
Đảm bảo chất lượng mã nguồn, tuân thủ tiêu chuẩn kỹ thuật và quy trình phát triển phần mềm của Ngân hàng.
Yêu cầu công việc
-
Tốt nghiệp Đại học trở lên chuyên ngành Công nghệ thông tin, Toán – Tin hoặc các chuyên ngành liên quan.
-
Tối thiểu 03 năm kinh nghiệm phát triển Frontend.
-
Thành thạo HTML, CSS/LESS/SCSS, JavaScript; có kinh nghiệm làm việc với ReactJS.
-
Hiểu và sử dụng RESTful API; có kiến thức về lập trình hướng đối tượng (OOP).
-
Có kinh nghiệm làm việc theo mô hình Agile/Scrum.
-
Có khả năng đọc hiểu tài liệu tiếng Anh chuyên ngành.
Kỹ năng
-
Kỹ năng giao tiếp, phối hợp và làm việc nhóm tốt.
-
Tư duy logic, khả năng phân tích và giải quyết vấn đề.
-
Chủ động, trách nhiệm và tuân thủ quy định, quy trình của Ngân hàng.
Ưu tiên
-
Ứng viên có kinh nghiệm phát triển ứng dụng Mobile.
-
Ứng viên có kinh nghiệm làm việc trong lĩnh vực tài chính – ngân hàng số.
Phân tích kỹ năng cần có
## Phân tích Kỹ năng Yêu cầu
### 🔧 Hard Skills (Bắt buộc)
| Kỹ năng | Mức độ | Ghi chú |
|---------|--------|---------|
| HTML/CSS | Thành thạo | Cần nắm vững responsive, accessibility |
| CSS Preprocessors | Thành thạo | LESS/SCSS - phổ biến trong dự án enterprise |
| JavaScript | Thành thạo | ES6+, async/await, DOM manipulation |
| ReactJS | Bắt buộc | Cần có project thực tế, biết Redux/Context |
| RESTful API | Hiểu & sử dụng | Kết nối với backend |
| OOP | Cơ bản | Nền tảng lập trình |
| Agile/Scrum | Kinh nghiệm | Làm việc theo Squad model |
### 🎯 Hard Skills (Ưu tiên)
| Kỹ năng | Giá trị | Lý do |
|---------|---------|-------|
| React Native/Flutter | + cao | Mobile-first trend trong ngân hàng số |
| TypeScript | + cao | Ngày càng phổ biến, SHB có thể đang migrate |
| Testing (Jest/Cypress) | + trung bình | Đảm bảo chất lượng mã |
| GraphQL | + thấp | Có thể dùng trong tương lai |
| Kinh nghiệm Fintech | + cao | Hiểu compliance, security |
### 💬 Soft Skills
- **Giao tiếp & phối hợp**: Cực kỳ quan trọng trong mô hình Squad - làm việc với PO, BA, Designer, Backend
- **Tư duy logic/Phân tích**: Debug, tối ưu performance
- **Chủ động & trách nhiệm**: Phù hợp với văn hóa Agile
### 📜 Chứng chỉ Gợi ý
| Chứng chỉ | Mức độ quan trọng | Link tham khảo |
|-----------|-------------------|----------------|
| AWS Certified Developer | Trung bình | Cloud không bắt buộc nhưng là plus |
| Meta Frontend Developer | Cao | Coursera - certificate từ Meta |
| Google UX Design | Trung bình | Hiểu thêm về UX |
| ISTQB | Thấp | Nếu muốn đi sâu vào testing |
---
## So sánh: Fresher vs Senior vs Lead
| Tiêu chí | Junior (0-2 năm) | Mid (3-5 năm) | Senior (5+ năm) |
|----------|------------------|---------------|-----------------|
| ReactJS | Biết basics | Thành thạo, biết hooks sâu | Architecture, performance |
| Code quality | Viết được | Review được, best practices | Đặt standard cho team |
| Communication | Báo cáo | Chủ động trao đổi | Negotiation, stakeholder |
| Salary (SHB est.) | 15-20M | 20-35M | 35-50M+ |
| Yêu cầu tuyển dụng này | ❌ | ✅ | ✅ (nếu mở rộng) |
Chuẩn bị phỏng vấn
## Hướng dẫn Phỏng vấn Frontend Developer tại SHB
### 📋 Quy trình phỏng vấn (Ước tính)
```
Vòng 1: HR - Sàng lọc hồ sơ & phone screening (20-30 phút)
↓
Vòng 2: Technical Interview với Lead/Manager (45-60 phút)
↓
Vòng 3: Coding test hoặc Take-home assignment (2-4 giờ)
↓
Vòng 4: Panel Interview với Head of Digital Banking (30-45 phút)
↓
Vòng 5: Offer negotiation
```
---
### 🎯 Câu hỏi Vòng 1 - HR/Phone Screening
**Câu hỏi thường gặp:**
1. "Giới thiệu ngắn về kinh nghiệm ReactJS của bạn"
2. "Tại sao bạn quan tâm đến vị trí Frontend tại SHB?"
3. "Bạn có kinh nghiệm làm việc theo Agile không? Mô tả sprint của bạn"
4. "Mức lương kỳ vọng của bạn?"
5. "Bạn biết gì về sản phẩm ngân hàng số của SHB?"
**Tips:**
- Nghiên cứu trước về SHB (Shb Plus, ứng dụng SHB, chiến lược số hóa)
- Chuẩn bị câu trả lời ngắn gọn, đi thẳng vào vấn đề
---
### 💻 Câu hỏi Vòng 2 - Technical Interview
**JavaScript Fundamentals:**
- "Giải thích closure, hoisting, event loop trong JavaScript"
- "Sự khác biệt giữa var, let, const?"
- "Prototype chain là gì?"
- "Async/await vs Promise vs Callback"
**ReactJS:**
- "Sự khác biệt giữa useEffect và useLayoutEffect?"
- "Khi nào dùng useMemo, useCallback?"
- "Explain React reconciliation và Virtual DOM"
- "Redux vs Context API - khi nào dùng gì?"
- "Hướng dẫn xây dựng một custom hook đơn giản"
**Thực hành (Có thể dùng whiteboard hoặc online editor):**
- "Viết code debounce function"
- "Implement một simple state management"
- "Fix một đoạn code có bug"
**System Design (Nhẹ):**
- "Thiết kế structure cho một trang dashboard ngân hàng"
- "Làm sao optimize performance của một React app chậm?"
---
### 📝 Câu hỏi Vòng 3 - Coding Test
**Định dạng có thể gặp:**
- Online coding platform (HackerRank, Codility)
- Take-home assignment (2-4 giờ)
- Pair programming với interviewer
**Dạng bài hay gặp:**
- Array/String manipulation
- API integration simulation
- Simple React component implementation
- Bug fixing exercise
---
### 🎤 Câu hỏi Vòng 4 - Panel/Manager Interview
**Behavioral Questions (STAR method):**
- "Kể về một lần bạn phát hiện và fix một bug khó"
- "Mô tả tình huống conflict với team member và cách giải quyết"
- "Làm sao bạn ưu tiên tasks khi có nhiều sprint cùng lúc?"
- "Bạn đã làm gì để improve code quality của team?"
**Câu hỏi ngược:**
- "Team hiện tại có bao nhiêu người?"
- "Tech stack hiện tại của squad?"
- "Hướng phát triển của sản phẩm trong 6 tháng tới?"
- "Cơ hội học hỏi và thăng tiến như thế nào?"
---
### 👔 Dress Code & Tips Chung
| Yếu tố | Khuyến nghị |
|--------|-------------|
| Trang phục | Business casual (áo sơ mi, quần âu) |
| Thái độ | Tự tin nhưng không kiêu ngạo |
| Ngôn ngữ | Tiếng Việt cho HR, có thể dùng tiếng Anh cho technical |
| Chuẩn bị | Laptop + code sẵn portfolio/GitHub |
| Questions | Luôn chuẩn bị 3-5 câu hỏi cho interviewer |
---
### 🚨 Red Flags cần tránh
- Không biết cách explain logic trong code của mình
- Không có sample project/portfolio
- Tỏ thái độ chống đối khi được hỏi về legacy code
- Không biết gì về ngành ngân hàng (prepare trước!)
Lộ trình ôn thi
## Lộ trình Ôn tập & Chuẩn bị (1-2 tuần)
### 📅 Ngày 1-2: Tổng quan & Nghiên cứu
**Mục tiêu:** Hiểu bối cảnh và công ty
- [ ] Nghiên cứu SHB: lịch sử, sản phẩm, chiến lược số hóa
- [ ] Tìm hiểu SHB Plus, ứng dụng SHB Mobile
- [ ] Đọc về Digital Banking trend 2024
- [ ] Follow SHB trên LinkedIn, Facebook
**Tài liệu tham khảo:**
- Website SHB: shb.com.vn
- App SHB trên App Store/CH Play
- Báo cáo thường niên SHB (có trên website)
---
### 📅 Ngày 3-5: JavaScript Core Review
**Mục tiêu:** Nắm chắc JS fundamentals
**Topics cần ôn:**
```javascript
// 1. ES6+ Features
- Arrow functions
- Destructuring
- Spread/Rest operators
- Template literals
- Classes
- Modules (import/export)
// 2. Advanced Concepts
- Closures & Scope
- Hoisting
- Event Loop & Call Stack
- Promises & Async/Await
- Prototype & Inheritance
// 3. Common patterns
- Debounce/Throttle
- Deep clone object
- Array methods (map, filter, reduce)
```
**Tài liệu:**
- JavaScript.info (https://javascript.info)
- You Don't Know JS (free on GitHub)
- Eloquent JavaScript
---
### 📅 Ngày 6-9: ReactJS Deep Dive
**Mục tiêu:** Thành thạo React, hiểu internal workings
**Core Topics:**
```
1. Fundamentals
- JSX & Components
- Props & State
- Conditional Rendering
- Lists & Keys
2. Hooks (CỰC KỲ QUAN TRỌNG)
- useState, useEffect (nắm thật chắc)
- useContext, useReducer
- useMemo, useCallback
- Custom hooks
- Rules of Hooks
3. Advanced
- Virtual DOM
- Reconciliation
- State Management (Redux Toolkit)
- Performance optimization
4. Ecosystem
- React Router
- HTTP requests (axios, fetch)
- Form handling (React Hook Form)
```
**Tài liệu:**
- Official React Docs (react.dev)
- React Hook Form documentation
- Redux Toolkit documentation
**Hands-on:**
- Code lại 1-2 project cũ bằng hooks
- Viết 2-3 custom hooks
---
### 📅 Ngày 10-11: Agile & Soft Skills
**Mục tiêu:** Trả lời fluent về work process
**Cần hiểu:**
- Sprint cycle (Planning → Daily → Review → Retro)
- User Stories & Acceptance Criteria
- Definition of Done
- Role trong Squad (PO, SM, Developer)
- Công cụ: Jira, Confluence, Figma
**Thực hành:**
- Mô tả một sprint bạn đã tham gia
- Kể về một user story bạn implement
---
### 📅 Ngày 12-13: Practice & Mock Interview
**Coding Practice:**
- LeetCode Easy/Medium (10-15 bài)
- Ưu tiên: Array, String, Object manipulation
- Thực hành trên CodeSandbox hoặc VS Code
**Mock Interview:**
- Tự record và xem lại
- Practice với friend (nếu có)
- Chuẩn bị STAR stories cho behavioral
---
### 📅 Ngày 14: Final Review
**Checklist ngày phỏng vấn:**
- [ ] GitHub portfolio sạch sẽ, có README
- [ ] Laptop đã test (nếu online)
- [ ] Tải sẵn app SHB, thử các tính năng
- [ ] Chuẩn bị 5 câu hỏi cho interviewer
- [ ] Ngủ đủ giấc, ăn sáng
---
### 📚 Tài liệu Tổng hợp
| Loại | Tài liệu | Link |
|------|----------|------|
| JavaScript | You Don't Know JS | github.com/getify/You-Dont-Know-JS |
| JavaScript | JavaScript30 | javascript30.com |
| React | Official Tutorial | react.dev/learn |
| React | Epic React | epicreact.dev |
| System Design | System Design Interview | interviewgenie.com |
| Vietnamese Tech | Vietnam Dev Community | viblo.asia |
| Mock Interview | Pramp | pramp.com |
---
### ⚡ Quick Review Checklist
```
□ Arrow function vs function declaration
□ let/const vs var
□ map/filter/reduce
□ Promise states
□ async/await error handling
□ useEffect cleanup
□ useCallback vs useMemo
□ React component lifecycle
□ Props vs State
□ Virtual DOM explanation
□ REST API methods
□ Agile ceremonies
□ Git workflow (merge vs rebase)
□ Testing basics (Jest)
```
Tư vấn nghề nghiệp
## Lời khuyên Sự nghiệp Frontend Developer tại Ngân hàng Số
---
### 📈 Lộ trình Thăng tiến
```
Frontend Developer (0-3 năm)
↓ [2-3 năm]
Senior Frontend Developer
↓ [2-3 năm]
Lead Frontend / Tech Lead
↓ [2-3 năm]
Engineering Manager / Architect
↓
Head of Engineering / CTO
```
**Chi tiết từng bước:**
**1. Frontend Developer (Entry)**
- Nhiệm vụ: Implement UI theo design specs
- Kỹ năng cần: React/Angular/Vue, CSS, basic testing
- Mức lương TP.HCM/HN: 15-25M
**2. Senior Frontend Developer**
- Nhiệm vụ: Architecture decisions, mentor junior, code review
- Kỹ năng cần: Performance optimization, design patterns, leadership
- Mức lương: 25-40M
**3. Lead/Tech Lead**
- Nhiệm vụ: Quản lý tech vision, lia với PM/Stakeholders
- Kỹ năng cần: System design, people management, communication
- Mức lương: 40-60M
**4. Engineering Manager**
- Nhiệm vụ: Quản lý team, roadmap, hiring
- Kỹ năng cần: Technical + Management balance
- Mức lương: 60-90M
---
### 💰 Mức Lương Kỳ vọng theo Cấp bậc (SHB/Ngân hàng số)
| Cấp bậc | Kinh nghiệm | Lương tháng (VND) | Notes |
|---------|-------------|-------------------|-------|
| Junior | 0-2 năm | 15.000.000 - 22.000.000 | Tuyển fresher có kinh nghiệm project |
| Mid-level | 2-4 năm | 22.000.000 - 35.000.000 | Mức phổ biến nhất cho JD này |
| Senior | 4-6 năm | 35.000.000 - 50.000.000 | Đòi hỏi leadership skills |
| Lead | 6+ năm | 50.000.000 - 80.000.000 | Thường internal promotion |
**Bonus & Benefits ngân hàng:**
- Thưởng Tết, performance bonus (2-4 tháng lương)
- Bảo hiểm cao cấp
- Du lịch, team building
- Đào tạo chứng chỉ chuyên môn
- Phụ cấp: ăn trưa, xăng, điện thoại
---
### 🎯 Kỹ năng Cần Phát triển Thêm
**Ngắn hạn (6 tháng - 1 năm):**
| Kỹ năng | Lý do quan trọng | Tài nguyên học |
|---------|------------------|----------------|
| TypeScript | Ngày càng required, SHB có thể migrate | TypeScript Handbook |
| Testing (Jest/Cypress) | Đảm bảo quality code | Testing Library docs |
| Performance Optimization | Critical cho banking apps | Web.dev, Lighthouse |
| Accessibility (a11y) | Legal requirement, WCAG compliance | a11yproject.com |
**Trung hạn (1-2 năm):**
| Kỹ năng | Lý do quan trọng | Hướng phát triển |
|---------|------------------|------------------|
| Mobile Development | Ưu tiên trong JD | React Native / Flutter |
| System Design | Để lên Senior | Design patterns, scalability |
| CI/CD | DevOps culture | Jenkins, GitHub Actions |
| Leadership | Mentor/lead team | Soft skills, coaching |
**Dài hạn (3+ năm):**
| Kỹ năng | Lý do | Vị trí phù hợp |
|---------|-------|----------------|
| Architecture | Technical vision | Tech Lead / Architect |
| Product Thinking | Hiểu business | Product Engineer |
| Management | Quản lý people | Engineering Manager |
| Communication | Stakeholder management | Head of Frontend |
---
### 🏦 Đặc thù Ngành Ngân hàng Số
**Ưu điểm:**
- Lương cạnh tranh + benefits tốt
- Bảo mật và ổn định
- Dự án có quy mô lớn, impact cao
- Cơ hội học về fintech, blockchain
**Thách thức:**
- Compliance & Security restrictions (nhiều constraint)
- Legacy code có thể nhiều
- Quy trình phê duyệt dài (ngân hàng)
- Performance & uptime requirements cực cao
**Kỹ năng đặc thù ngành:**
```
1. Security First Thinking
- XSS, CSRF prevention
- Token management (JWT, OAuth)
- Sensitive data handling
2. Performance Critical
- Core Web Vitals
- Lazy loading, code splitting
- Caching strategies
3. Regulatory Compliance
- WCAG accessibility
- PCI-DSS considerations
- Data privacy (PDP law)
4. Integration Complexity
- Multiple banking APIs
- Third-party services
- Error handling patterns
```
---
### 🔄 Khi nào Nên/Nên Thử Ứng Tuyển
**Nên ứng tuyển nếu:**
- ✅ Muốn stability của ngành ngân hàng
- ✅ Muốn benefits tốt (bảo hiểm, thưởng)
- ✅ Quan tâm đến fintech/ngân hàng số
- ✅ Đã có kinh nghiệm React, muốn chuyên sâu
**Cân nhắc kỹ nếu:**
- ⚠️ Muốn tự do công nghệ (startup style)
- ⚠️ Thích làm product mới liên tục
- ⚠️ Không thích quy trình phức tạp
- ⚠️ Cần remote 100% (ngân hàng thường hybrid)
---
### 🚀 Tips Đặc biệt cho SHB
1. **Tìm hiểu văn hóa:** SHB có mô hình Squad, thích chủ động, sáng tạo
2. **Prepare cho banking domain:** Hiểu basic banking terms (KYC, AML, T+2...)
3. **Show interest in digital banking:** SHB đang đẩy mạnh SHB Digital
4. **Tech stack research:** LinkedIn, Glassdoor để hỏi nhân viên
5. **Negotiate smart:** Ngân hàng thường có salary band cố định, nhưng benefits có thể negotiate
Câu hỏi thường gặp
Em mới ra trường chưa đi làm, có còn cơ hội ứng tuyển vị trí này không?
Vị trí này yêu cầu 'Tối thiểu 03 năm kinh nghiệm', nên sẽ hơi khó cho fresher hoàn toàn chưa đi làm. Tuy nhiên, nếu bạn có: (1) Project cá nhân/dự án freelance với ReactJS từ 1-2 năm, (2) Thực tập có code frontend thực sự, (3) Đóng góp open source, thì vẫn có thể thử. Đừng quá hy vọng nhưng cứ apply - đôi khi HR mở rộng cho ứng viên tiềm năng. Thay vào đó, bạn có thể apply vị trí Fresher/Intern tại các công ty fintech khác, build up 2-3 năm kinh nghiệm rồi quay lại.
Mức lương thực tế cho vị trí này là bao nhiêu? Có thương lượng được không?
Dựa trên thị trường hiện tại, mức lương cho Frontend Developer 3+ năm kinh nghiệm tại SHB dao động khoảng 22-35 triệu/tháng. 'Thương lượng' có nghĩa là có room để đàm phán. Tips: (1) Research kỹ mức salary range trên Glassdoor, (2) Nêu rõ kỹ năng đặc biệt (VD: có kinh nghiệm mobile, TypeScript, testing), (3) Đàm phán toàn package không chỉ lương - có thể xin thêm ngày nghỉ, hỗ trợ học chứng chỉ. Ngân hàng thường có salary band cố định, nhưng với ứng viên giỏi, họ có thể linh hoạt.
Làm ở ngân hàng số khác gì làm ở công ty IT thông thường?
Khác nhau khá nhiều:
✅ Ưu điểm: Lương + benefits tốt (thưởng, bảo hiểm cao cấp, ổn định), dự án quy mô lớn, impact thật sự (hàng triệu người dùng), học được domain knowledge về tài chính.
❌ Nhược điểm: Quy trình phức tạp hơn (nhiều approval layers), công nghệ có thể conservative hơn (legacy code), compliance/security constraints nhiều, tốc độ release chậm hơn startup.
Nếu bạn thích tự do công nghệ và move nhanh → startup. Nếu bạn muốn ổn định + học fintech domain → ngân hàng số là lựa chọn tốt.
Trong mô hình Squad, Frontend Developer có vai trò như thế nào?
Trong Squad model (Agile), bạn sẽ là một 'Full-stack Frontend' trong team cross-functional:
📋 Với PO (Product Owner): Nhận user stories, clarify requirements, đặt câu hỏi về business logic
👥 Với BA: Phối hợp về data flow, API specs
🎨 Với Designer: Discuss UI specs, feedback về UX feasibility, implement pixel-perfect
⚙️ Với Backend: Integration API, handle errors, đồng bộ data flow
🔧 Technical: Self-review code, participate in code review, contribute to technical debt
Điểm quan trọng: Bạn cần chủ động communication, không đợi người khác assign task như mô hình traditional.
Em có 4 năm kinh nghiệm React nhưng chưa làm trong ngành ngân hàng, nên chuẩn bị gì để gây ấn tượng?
Đây là lợi thế của bạn - kinh nghiệm tech skills tốt. Để gây ấn tượng:
1️⃣ Research SHB và ngân hàng số: Hiểu họ đang xây dựng gì (SHB Plus, digital ecosystem), đọc báo cáo thường niên
2️⃣ Prepare domain knowledge: Hiểu basic như KYC, OTP, transaction flow, security concerns trong banking
3️⃣ Showcase React expertise đặc biệt: Performance optimization (vì banking app cần nhanh), accessibility (compliance), state management patterns
4️⃣ Đề cập soft skills: Kinh nghiệm làm việc cross-functional, handle stakeholders
5️⃣ Ask smart questions: Thể hiện bạn quan tâm đến technical direction của team, không chỉ 'muốn vào làm'
Có cần chứng chỉ gì để tăng cơ hội được nhận không?
Chứng chỉ KHÔNG bắt buộc cho Frontend Developer, nhưng có thể là điểm cộng:
💎 High value:
- Meta Frontend Developer Certificate (Coursera) - uy tín, cover basics to advanced
- AWS Cloud Practitioner/Developer - hiểu cloud, dù SHB có thể dùng cloud riêng
📈 Medium value:
- Google UX Design Certificate - hiểu thêm UX, hữu ích khi làm việc với designer
- CSM (Certified Scrum Master) - nếu muốn chuyển hướng Agile
⚠️ Lưu ý: Chứng chỉ thay thế KHÔNG được kinh nghiệm thực tế + portfolio. Nếu phải chọn, hãy đầu tư vào GitHub portfolio với 2-3 project chất lượng thay vì chứng chỉ.
KPI của Frontend Developer tại ngân hàng thường như thế nào?
Trong mô hình Agile/Squad, KPI thường không phải 'số lines of code' mà là:
📊 Team-level metrics (Squad):
- Velocity (story points/sprint)
- Sprint burndown
- Release on time
📱 Individual metrics:
- Story completion rate (hoàn thành bao nhiêu user stories)
- Code quality (SonarQube, test coverage)
- Bug rate (số bugs introduced)
- PR review time
🏦 Banking-specific:
- Uptime của features (nghiêm ngặt)
- Performance metrics (Core Web Vitals)
- Security compliance
Thực tế: Ngân hàng ít toxic KPI hơn startup - họ quan tâm ổn định và chất lượng hơn tốc độ.