Techcombank
Senior Officer, Software Engineering (50000226)
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 company.
## 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 company'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
Interal units in Division and other Divisions
## 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
- According to company's regulations in each period
Phân tích kỹ năng cần có
## Phân tích Kỹ năng Yêu cầu
### 🔧 Hard Skills (Kỹ năng chuyên môn)
**Ngôn ngữ lập trình & Framework (BẮT BUỘC):**
| Cấp độ | Công nghệ | Mức độ yêu cầu |
|---------|-----------|----------------|
| 5+ năm | HTML/CSS | Chuyên sâu |
| 5+ năm | JavaScript | Chuyên sâu |
| 5+ năm | React | Trung bình-Khá |
| Khuyến khích | AngularJS/Vue | Có kinh nghiệm |
| Có kinh nghiệm | jQuery | Cơ bản |
**Framework UI/UX:**
- Bootstrap (phổ biến nhất)
- ZURB Foundation (ít phổ biến hơn)
→ *Ưu tiên: nắm chắc Bootstrap, biết thêm Foundation là điểm cộng*
**Công cụ khác:**
- Version Control: GIT (phổ biến) / TFVC (Microsoft ecosystem)
- API Design & Implementation (back-end collaboration)
- Testing & Debugging tools
- Mobile optimization
### 📋 Chứng chỉ Gợi ý
| Chứng chỉ | Giá trị | Ghi chú |
|-----------|---------|---------|
| AWS Certified Developer | ⭐⭐⭐⭐⭐ | Cloud deployment, phổ biến ở Techcombank |
| Google UX Design Certificate | ⭐⭐⭐⭐ | Hữu ích cho UI/UX collaboration |
| ISTQB Foundation | ⭐⭐⭐ | Software testing mindset |
| Scrum Master | ⭐⭐⭐ | Agile environment của Techcombank |
### 🧩 Soft Skills (Kỹ năng mềm)
- **Giao tiếp:** Làm việc chặt chẽ với UI/UX designers và back-end developers
- **Quản lý thời gian:** Đảm bảo timeline delivery
- **Problem-solving:** Debug và resolve coding issues
- **Proactive:** Chủ động đề xuất giải pháp cải thiện platform
- **Documentation:** Viết tài liệu kỹ thuật rõ ràng
### 📊 Bảng So sánh: Junior vs Senior Front-end Developer
| Tiêu chí | Junior (1-3 năm) | Senior (5+ năm) - Vị trí này |
|----------|------------------|------------------------------|
| Code | Viết được code sạch | Architecture design, code review |
| Problem-solving | Fix bug đơn giản | Debug hệ thống phức tạp |
| Collaboration | Thực hiện task được giao | Lead design-to-delivery |
| Business | Hiểu requirement cơ bản | Translate business → technical design |
| Mentorship | Tự học | Hướng dẫn team members |
### ⚠️ Lưu ý quan trọng
Techcombank là ngân hàng số hóa mạnh, sử dụng **Agile/Scrum methodology** (có mention "tribe" và "squad"). Kinh nghiệm với môi trường Agile là điểm cộng lớn.
Chuẩn bị phỏng vấn
## Hướng dẫn Phỏng vấn Techcombank - Senior Front-end Engineer
### 🏢 Về quy trình tuyển dụng Techcombank
**Cấu trúc phỏng vấn thông thường (3-4 vòng):**
```
Vòng 1: HR Screening (30-45 phút)
↓ Phone/Online
Vòng 2: Technical Interview (45-60 phút)
↓ Coding test + Interview
Vòng 3: Manager Interview (45 phút)
↓ Behavioural + Culture fit
Vòng 4: HR Final (30 phút) - Offer discussion
```
---
### 📝 Chi tiết từng vòng
#### **Vòng 1: HR Screening**
**Hình thức:** Phone call hoặc video call (Zoom/Meet)
**Câu hỏi thường gặp:**
1. "Bạn có thể giới thiệu về kinh nghiệm 5+ năm front-end của mình không?"
2. "Tại sao bạn muốn chuyển sang Techcombank?"
3. "Bạn có kinh nghiệm làm việc trong môi trường Agile/Scrum chưa?"
4. "Mức lương kỳ vọng của bạn là bao nhiêu?"
5. "Bạn có notice period bao lâu?"
**Tips chuẩn bị:**
- Nghiên cứu kỹ về chiến lược số hóa của Techcombank
- Chuẩn bị câu trả lời về lý do chuyển việc ngắn gọn, tích cực
- Tìm hiểu văn hóa "Can gió" của Techcombank
---
#### **Vòng 2: Technical Interview**
**Hình thức:** Technical test + Interview trực tiếp (60-90 phút)
**Phần 1: Coding Test (30-45 phút)**
- HTML/CSS: Layout responsive, Flexbox/Grid
- JavaScript: Xử lý DOM, async/await, ES6+ features
- React: Component lifecycle, hooks, state management
- Có thể yêu cầu làm mini project hoặc fix bug
**Phần 2: Technical Interview (30-45 phút)**
*Câu hỏi kỹ thuật sâu:*
1. "Explain the difference between var, let, and const in JavaScript?"
2. "How would you optimize performance for a React application?"
3. "Describe your experience with API integration and how you handle errors?"
4. "What's your approach to responsive design?"
5. "How do you ensure code quality and maintainability?"
6. "Explain the concept of Virtual DOM in React?"
7. "How do you handle state management in large applications?"
8. "Describe your experience with CSS preprocessors (SASS/LESS)?"
*Project-related questions:*
- "Kể về một dự án digital platform bạn đã làm?"
- "Bạn đã làm việc với UI/UX designers như thế nào?"
- "Describe a time when you had to debug a complex issue?"
**Tips chuẩn bị:**
- Ôn lại JavaScript ES6+, đặc biệt async/await, destructuring, spread operator
- Thực hành React hooks (useState, useEffect, useMemo, useCallback)
- Chuẩn bị portfolio/code samples để demo
- Sẵn sàng giải thích architectural decisions
---
#### **Vòng 3: Manager/Team Lead Interview**
**Hình thức:** Trực tiếp hoặc online (45-60 phút)
**Câu hỏi hành vi (STAR method):**
1. "Describe a time when you led a design-to-delivery process?"
2. "How do you handle conflicts with designers or back-end developers?"
3. "Tell me about a time you proactively improved a platform?"
4. "How do you mentor junior developers?"
5. "Describe a situation where you had to meet tight deadlines?"
**Câu hỏi về Techcombank:**
- "Bạn biết gì về chiến lược digital banking của Techcombank?"
- "Tại sao Techcombank và không phải ngân hàng khác?"
- "Bạn sẽ đóng góp gì cho team Technology của chúng tôi?"
**Tips chuẩn bị:**
- Nghiên cứu Techcombank's digital products (TCB Mobile, website)
- Hiểu về mô hình tribe/squad của họ
- Chuẩn bị ví dụ về leadership và mentorship
---
#### **Vòng 4: HR Final - Offer Discussion**
**Hình thức:** Phone call hoặc trực tiếp
**Nội dung:**
- Detailed offer (salary, benefits, start date)
- Company policies và culture
- probation period (thường 6 tháng)
- Các thủ tục onboard
**Tips đàm phán:**
- Biết rõ mức lương market cho Senior FE ở Hà Nội (thường 25-45 triệu tùy kinh nghiệm)
- Chuẩn bị list benefits quan trọng với bạn
- Đừng ngại thương lượng nhưng giữ thái độ linh hoạt
---
### 👔 Dress Code
- **Vòng online (HR, Technical):** Business casual - áo sơ mi/cam let gọn gàng
- **Vòng trực tiếp:** Business formal - vest hoặc áo sơ mi, quần âu
**Lưu ý:** Techcombank văn hóa khá hiện đại, không quá formal như ngân hàng truyền thống.
---
### ✅ Checklist trước ngày phỏng vấn
- [ ] Ôn HTML5 semantic, accessibility standards
- [ ] Thực hành JavaScript algorithms cơ bản
- [ ] Review React fundamentals và hooks
- [ ] Chuẩn bị 2-3 project examples để demo
- [ ] Nghiên cứu Techcombank digital products
- [ ] Practice STAR method cho behavioral questions
- [ ] Chuẩn bị câu hỏi để hỏi interviewer
- [ ] Kiểm tra kỹ đường truyền/nơi đỗ xe trước
Lộ trình ôn thi
## Lộ trình Ôn thi & Chuẩn bị 1-2 tuần
### 📅 Gợi ý Lộ trình 2 tuần
```
TUẦN 1: Củng cố Kiến thức Nền tảng
├── Ngày 1-2: HTML5 & CSS3 Advanced
├── Ngày 3-4: JavaScript ES6+ Deep Dive
├── Ngày 5: React Fundamentals & Hooks
└── Ngày 6-7: Practice coding + Review
TUẦN 2: Ôn chuyên sâu + Mock Interview
├── Ngày 8-9: API Design & Integration
├── Ngày 10-11: Performance Optimization
├── Ngày 12: Soft skills + Behavioral prep
└── Ngày 13-14: Mock interview + Relax
```
---
### 📚 Kiến thức Nền tảng Cần Nắm Vững
#### **HTML/CSS**
**Phải thành thạo:**
- ✅ HTML5 semantic tags (article, section, nav, header, footer)
- ✅ CSS Flexbox & Grid Layout
- ✅ CSS Custom Properties (variables)
- ✅ Responsive design (media queries)
- ✅ CSS specificity & cascade
- ✅ BEM naming convention
**Accessibility:**
- ARIA labels
- Keyboard navigation
- Screen reader compatibility
**Code example - Flexbox layout:**
```css
.digital-platform {
display: flex;
justify-content: space-between;
align-items: center;
gap: 1rem;
}
@media (max-width: 768px) {
.digital-platform {
flex-direction: column;
}
}
```
---
#### **JavaScript**
**Core concepts cần nắm:**
- ✅ Variables: var, let, const & hoisting
- ✅ Functions: declarations, expressions, arrow functions
- ✅ Promises, async/await
- ✅ DOM manipulation
- ✅ Event bubbling & delegation
- ✅ ES6+: destructuring, spread operator, template literals
- ✅ Array methods: map, filter, reduce
**Code example - Async/Await:**
```javascript
async function fetchUserData(userId) {
try {
const response = await fetch(`/api/users/${userId}`);
if (!response.ok) throw new Error('API Error');
const data = await response.json();
return data;
} catch (error) {
console.error('Fetch failed:', error);
throw error;
}
}
```
---
#### **React**
**Hooks quan trọng:**
- useState, useEffect (bắt buộc)
- useMemo, useCallback (performance)
- useContext (state management đơn giản)
- Custom hooks (best practice)
**Code example - Custom hook:**
```javascript
const useDigitalPlatform = (platformId) => {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
fetchPlatform(platformId)
.then(setData)
.catch(setError)
.finally(() => setLoading(false));
}, [platformId]);
return { data, loading, error };
};
```
---
#### **API Design**
**Phải hiểu:**
- RESTful API conventions
- HTTP methods (GET, POST, PUT, DELETE)
- Status codes (200, 201, 400, 401, 404, 500)
- Authentication (JWT, OAuth)
- Error handling strategies
---
### 📖 Tài liệu Tham khảo
**Sách (Online miễn phí):**
| Tài liệu | Link | Ghi chú |
|----------|------|---------|
| JavaScript.info | javascript.info | Full JS tutorial, rất chi tiết |
| React Docs | react.dev | Official React documentation |
| CSS-Tricks | css-tricks.com | CSS reference tuyệt vời |
| MDN Web Docs | developer.mozilla.org | HTML/CSS/JS reference |
**Courses miễn phí:**
- FreeCodeCamp (HTML, CSS, JS, React)
- The Odin Project
- Scrimba (interactive)
**Practice platforms:**
- LeetCode (JavaScript)
- CodePen (HTML/CSS/JS demos)
- GitHub (source control practice)
---
### 🎯 Trọng tâm Ôn tập Theo mô tả công việc
Dựa vào JD, ưu tiên theo thứ tự:
1. **HTML/CSS/JavaScript** - Chiếm 80% yêu cầu
2. **React** - Framework chính được nhắc đến
3. **Bootstrap/Foundation** - UI framework
4. **GIT** - Version control
5. **API Integration** - Làm việc với back-end
6. **Mobile optimization** - Responsive design
---
### ⚠️ Sai lầm Thường gặp cần Tránh
1. **Chỉ học lý thuyết** - Code thực tế mỗi ngày
2. **Bỏ qua accessibility** - Techcombank nhấn mạnh compliance
3. **Không practice coding** - Technical interview có live coding
4. **Không đọc kỹ JD** - Bỏ sót requirement quan trọng
5. **Over-engineering** - Senior role cần practical solutions
Tư vấn nghề nghiệp
## Lời khuyên Sự nghiệp cho Senior Front-end Engineer
### 📈 Lộ trình Thăng tiến trong Techcombank
```
Senior Officer, Software Engineering (HIỆN TẠI)
↓ 2-3 năm
Lead Software Engineer / Tech Lead
↓ 3-5 năm
Manager, Software Engineering
↓ 5+ năm
Senior Manager / Director, Technology
```
---
### 💰 Mức Lương Kỳ vọng theo Cấp bậc (Hà Nội, 2024)
| Cấp bậc | Kinh nghiệm | Mức lương (VND/tháng) | Ghi chú |
|---------|-------------|----------------------|---------|
| Mid Front-end | 2-4 năm | 18-28 triệu | Entry cho vị trí này |
| **Senior (Vị trí này)** | **5-7 năm** | **25-45 triệu** | **Thỏa thuận** |
| Lead/Tech Lead | 7-10 năm | 40-70 triệu | + stock options |
| Manager | 10+ năm | 60-100+ triệu | + performance bonus |
**Lưu ý:** Techcombank thường offer cạnh tranh hơn ngân hàng truyền thống nhờ định hướng fintech. Bonus 13th-16th month là typical.
---
### 🎯 Kỹ năng Cần Phát triển thêm
#### **Ngắn hạn (6-12 tháng đầu)**
| Kỹ năng | Tầm quan trọng | Cách học |
|---------|----------------|----------|
| TypeScript | ⭐⭐⭐⭐⭐ | Chuyển từ JS → TypeScript trong project |
| State Management (Redux/Zustand) | ⭐⭐⭐⭐ | Học khi project có data phức tạp |
| Performance Optimization | ⭐⭐⭐⭐ | Lighthouse, profiling tools |
| Testing (Jest, Cypress) | ⭐⭐⭐⭐ | Viết unit test cho legacy code |
#### **Trung hạn (1-3 năm)**
| Kỹ năng | Tầm quan trọng | Cách học |
|---------|----------------|----------|
| System Architecture | ⭐⭐⭐⭐⭐ | Tham gia design meetings |
| Cloud Services (AWS/GCP) | ⭐⭐⭐⭐ | AWS Certified Developer |
| Leadership & Mentorship | ⭐⭐⭐⭐ | Mentor junior, tech talks |
| Agile/Scrum advanced | ⭐⭐⭐ | Scrum Master certification |
#### **Dài hạn (3-5+ năm)**
- **Technical Architect** - Thiết kế hệ thống lớn
- **Engineering Manager** - Quản lý team
- **Individual Contributor (IC)** - Principal/Staff Engineer
---
### 🏦 Đặc thù Techcombank cần Biết
**Văn hóa & Mô hình làm việc:**
- Tribe/Squad structure (Spotify model adaptation)
- Agile methodology với sprints 2-3 tuần
- Focus on digital products (TCB Mobile, web platform)
- Fast-paced environment, nhiều change
- "Can gió" - không ngại khó, chủ động
**Công nghệ sử dụng:**
- Front-end: React (phổ biến), Vue, Angular
- CI/CD: Jenkins, GitLab CI
- Cloud: AWS (chủ yếu), Azure
- Monitoring: Grafana, ELK stack
**Lợi ích khi làm tại Techcombank:**
- ✅ Exposure to large-scale financial systems
- ✅ Modern tech stack
- ✅ Competitive salary + bonus
- ✅ Học hỏi từ fintech mindset
- ✅ Cơ hội thăng tiến trong môi trường tăng trưởng nhanh
**Thách thức:**
- ⚠️ Work-life balance có thể bị ảnh hưởng khi có release
- ⚠️ Thay đổi requirement thường xuyên
- ⚠️ Legacy code trong một số hệ thống cũ
---
### 🚀 Tips Để Thành công trong 6 tháng đầu
1. **Học hỏi domain knowledge** - Hiểu banking products, compliance
2. **Build relationships** - Kết nối với designers, BA, QA, backend
3. **Show initiative** - Propose improvements, không chờ được giao
4. **Document everything** - Tạo wiki, runbooks cho team
5. **Ship early** - Deliver value nhanh để build credibility
Câu hỏi thường gặp
Em mới ra trường chưa có kinh nghiệm, có thể ứng tuyển vị trí Senior Front-end Engineer này không?
Không khuyến khích. JD yêu cầu rõ ràng 'At least 5 years of front-end experience' và deep experience trong full development lifecycle. Tuy nhiên, nếu bạn có 2-3 năm kinh nghiệm với HTML/CSS/JS/React, có thể apply và đàm phán về level (Junior/Mid) hoặc prove yourself qua portfolio mạnh. Techcombank có nhiều vị trí cho fresher/junior, bạn nên tìm kiếm thêm.
Mức lương Senior Front-end ở Techcombank thường là bao nhiêu?
Theo market data 2024, Senior Front-end Engineer ở Hà Nội thường nhận 25-45 triệu VND/tháng, tùy kinh nghiệm và skillset. Techcombank là ngân hàng số hóa mạnh nên offer thường competitive, có thể cao hơn 10-20% so với ngân hàng truyền thống. Ngoài lương còn có bonus 13th-16th month, healthcare insurance, và các benefits khác. Lương 'Thỏa thuận' trong JD có nghĩa là họ sẵn sàng đàm phán dựa trên profile của bạn.
Vị trí này có phải làm việc overtime nhiều không?
Techcombank là ngân hàng với mô hình Agile/Sprint. Trong giai đoạn release quan trọng hoặc khi có project deadline, bạn có thể cần OT. Tuy nhiên, văn hóa làm việc của họ khá modern, không áp lực như một số công ty outsource. Work-life balance tốt hơn so với nhiều công ty fintech khác. Cụ thể còn tùy vào team và project phase.
Em đang làm Back-end developer, muốn chuyển sang Front-end có được không?
Hoàn toàn có thể, nhưng cần chuẩn bị kỹ. Kiến thức JS của bạn là nền tảng tốt. Bạn cần: (1) Học sâu HTML/CSS - đây là phần khác biệt lớn nhất; (2) Thực hành React/Vue nhiều hơn; (3) Build portfolio với 2-3 front-end projects; (4) Điều chỉnh CV để highlight front-end skills. Với 5+ năm total experience nhưng chuyển sang front-end, bạn nên expect mức lương tương đương mid-level front-end ban đầu, sau đó prove yourself để thăng tiến.
Kỹ năng nào là quan trọng nhất để pass technical interview?
Theo phân tích JD, 3 kỹ năng quan trọng nhất: (1) HTML/CSS + Responsive Design - họ nhấn mạnh 'optimized for mobile' và accessibility; (2) JavaScript ES6+ - đặc biệt async/await, DOM manipulation, và ES6 features; (3) React - framework chính được nhắc đến. Bonus points cho TypeScript và testing knowledge. Technical interview có thể có live coding, nên practice thực hành trên LeetCode hoặc CodePen.
Techcombank có yêu cầu chứng chỉ Tiếng Anh không?
JD ghi 'Foreign language - According to company's regulations in each period'. Thực tế, Techcombank sử dụng nhiều tài liệu tiếng Anh (code, documentation) và làm việc với international partners. IELTS 5.5+ hoặc tương đương là lợi thế, nhưng không bắt buộc. Quan trọng hơn là khả năng đọc hiểu technical documentation và giao tiếp bằng tiếng Anh trong team.
Làm việc ở Techcombank có được đào tạo thêm về kỹ năng mới không?
Có. Techcombank đầu tư vào đào tạo, đặc biệt với các công nghệ mới phục vụ digital transformation. Bạn có thể được sponsor chứng chỉ (AWS, Scrum), tham gia training courses, và học hỏi từ colleagues trong tribe/squad. Tech stack của họ khá modern nên bạn sẽ liên tục học hỏi technologies mới.