IT - Front-End Developer (Angular) – Middle to Senior Level
Mô tả công việc
- Bachelor’s degree in Computer Science, Information Technology, or related field.
- 3+ years of experience in front-end development with strong expertise in Angular (version 19 or higher).
- Strong knowledge of HTML5, CSS3, JavaScript (ES6+) and TypeScript.
- Experience with Angular, MFE, Nx, Angular Material, NgRx, and RxJS, DDD.
- Proficiency in building modular, reusable components and managing application state.
- Strong experience in building and managing reactive forms, including complex form scenarios.
- Proficient in version control systems (Git).
- Familiarity with Agile/Scrum methodologies and full SDLC.
Yêu cầu ứng viên
- Bachelor’s degree in Computer Science, Information Technology, or related field.
- 3+ years of experience in front-end development with strong expertise in Angular (version 19 or higher).
- Strong knowledge of HTML5, CSS3, JavaScript (ES6+) and TypeScript.
- Experience with Angular, MFE, Nx, Angular Material, NgRx, and RxJS, DDD.
- Proficiency in building modular, reusable components and managing application state.
- Strong experience in building and managing reactive forms, including complex form scenarios.
- Proficient in version control systems (Git).
- Familiarity with Agile/Scrum methodologies and full SDLC.
Phân tích kỹ năng cần có
📊 Phân tích kỹ năng — IT Front-End Developer (Angular) Middle/Senior tại OCB
🔧 Hard Skills (Kỹ năng cứng) — Bắt buộc phải có
| Nhóm kỹ năng | Yêu cầu cụ thể | Mức độ ưu tiên |
|---|---|---|
| Framework chính | Angular 19+ (standalone components, signals, new control flow) | ⭐⭐⭐⭐⭐ |
| Ngôn ngữ nền tảng | TypeScript (nâng cao), JavaScript ES6+ | ⭐⭐⭐⭐⭐ |
| Web cơ bản | HTML5, CSS3, Responsive Design | ⭐⭐⭐⭐ |
| State Management | NgRx (Store, Effects, Entity) hoặc RxJS-based patterns | ⭐⭐⭐⭐⭐ |
| Reactive Programming | RxJS (Observables, Subjects, operators nâng cao) | ⭐⭐⭐⭐⭐ |
| Kiến trúc | MFE (Micro Frontends), Nx monorepo, DDD | ⭐⭐⭐⭐⭐ |
| UI Library | Angular Material | ⭐⭐⭐⭐ |
| Forms | Reactive Forms phức tạp (cross-field validation, dynamic forms) | ⭐⭐⭐⭐⭐ |
| Version Control | Git (branching strategy: GitFlow, trunk-based) | ⭐⭐⭐⭐ |
| Quy trình | Agile/Scrum, Full SDLC | ⭐⭐⭐⭐ |
🌟 Soft Skills (Kỹ năng mềm) — Phân biệt Middle vs Senior
Middle Level (3-4 năm):
- Tự chủ trong task được giao
- Code review cơ bản
- Giao tiếp tốt với team
- Estimate chính xác task size
Senior Level (5+ năm):
- Thiết kế kiến trúc module/hệ thống
- Mentor junior/middle
- Đề xuất tech stack, pattern mới
- Làm việc trực tiếp với BA, PM, backend team
- Xử lý technical debt, refactoring lớn
🏦 Đặc thù ngân hàng — Kỹ năng "ẩn" cần biết
- Bảo mật: XSS, CSRF, OWASP Top 10 (đặc biệt trong app banking)
- Performance: Lazy loading, OnPush strategy, bundle optimization
- Accessibility (a11y): WCAG 2.1 — quan trọng với app tài chính
- I18n: Đa ngữ cho sản phẩm ngân hàng
- Testing: Unit test (Jest/Karma), E2E (Cypress/Playwright) — banks yêu cầu cao
- Familiarity với banking domain: Biết các khái niệm KYC, eKYC, payment gateway, core banking
📜 Chứng chỉ gợi ý (không bắt buộc nhưng có lợi)
- ✅ Microsoft Certified: Azure Fundamentals (nếu cloud Azure)
- ✅ AWS Certified Developer (nếu cloud AWS)
- ✅ Scrum Master/Product Owner (cho Agile)
- ✅ Certified Kubernetes Application Developer (nếu liên quan deploy)
📈 Bảng so sánh Middle vs Senior
| Tiêu chí | Middle (3-5 năm) | Senior (5-8+ năm) |
|---|---|---|
| Angular | Dùng thành thạo, biết patterns | Hiểu sâu internals, build patterns riêng |
| NgRx | Implement theo hướng dẫn | Thiết kế state architecture |
| MFE/Nx | Làm việc trong setup có sẵn | Setup, quyết định kiến trúc |
| DDD | Áp dụng bounded context | Thiết kế domain model, ubiquitous language |
| Decision making | Đưa ra giải pháp kỹ thuật | Quyết định tech stack, kiến trúc |
| Scope | 1-2 modules | Toàn bộ hệ thống/product line |
Chuẩn bị phỏng vấn
🎯 Hướng dẫn phỏng vấn IT Front-End Developer (Angular) tại OCB
📋 Quy trình tuyển dụng dự kiến (3-4 vòng)
Vòng 1: HR Screening (30-45 phút)
- Giới thiệu bản thân, kinh nghiệm
- Tại sao chọn OCB? Tại sao banking sector?
- Mức lương mong muốn, thời gian onboard
- Check basic: bằng cấp, lý do nghỉ việc cũ
Vòng 2: Technical Test (60-90 phút)
- Có thể bao gồm:
- Online coding test (HackerRank/CoderPad style)
- Take-home assignment (xây dựng mini Angular app)
- Live coding session
Vòng 3: Technical Interview sâu (90-120 phút)
- 1-2 Senior/Lead Developer hỏi
- Câu hỏi về Angular, TypeScript, RxJS, NgRx
- System design cho front-end
- Thảo luận về project đã làm
Vòng 4: Managerial/Architecture Interview (60 phút)
- Tech Lead / Engineering Manager
- Soft skills, leadership, cách giải quyết conflict
- Architecture decision cho MFE, DDD
- Cultural fit với ngân hàng
❓ Câu hỏi phỏng vấn hay gặp
Angular Core:
- Sự khác biệt giữa Angular 17/18/19 và các version trước? (standalone, signals, control flow)
- Change Detection hoạt động thế nào? Zone.js vs Signals?
- Lazy loading module và standalone components?
- ViewChild vs ContentChild?
- Lifecycle hooks — thứ tự và khi nào dùng?
TypeScript:
- Generic types, conditional types
- Utility types: Partial, Required, Pick, Omit
- Decorators trong Angular
- Type narrowing, type guards
RxJS:
- Hot vs Cold Observable
- switchMap vs mergeMap vs concatMap vs exhaustMap — khi nào dùng?
- Subject variants (BehaviorSubject, ReplaySubject, AsyncSubject)
- Memory leak prevention (takeUntil, async pipe)
NgRx:
- Action, Reducer, Effect, Selector
- Khi nào nên dùng NgRx? Khi nào nên dùng Signal-based state?
- Entity adapter là gì?
- Effects error handling
Architecture (MFE, Nx, DDD):
- Module Federation hoạt động thế nào?
- Lợi ích của Nx monorepo?
- DDD áp dụng vào front-end như thế nào?
- Bounded context trong Angular?
Banking domain:
- Bạn hiểu gì về core banking system?
- Làm sao đảm bảo performance cho form nhập liệu phức tạp (như mở tài khoản, đăng ký khoản vay)?
- Security considerations cho financial app?
Behavioral:
- Kể về lần refactor code phức tạp nhất?
- Conflict với team member về tech stack?
- Cách mentor junior?
- Tại sao chọn Angular thay vì React/Vue?
💡 Tips chuẩn bị
1. Ôn lại project cá nhân: Chuẩn bị 2-3 project showcase, biết rõ quyết định kỹ thuật
2. Whiteboard practice: Tập vẽ architecture diagram
3. Đọc về OCB: Sản phẩm OCB Omni, OCB iWealth, số hóa
4. Chuẩn bị câu hỏi cho họ:
- Tech stack hiện tại của team?
- Codebase size, bao nhiêu frontend devs?
- CI/CD pipeline?
- Tech debt chính hiện tại?
👔 Dress Code
- Vòng HR: Smart casual
- Vòng Technical: Business casual (áo sơ mi, quần vải, không cần vest)
- Vòng Manager: Business formal (áo sơ mi + vest là lý tưởng, đặc biệt ngân hàng khá formal)
- Gọn gàng, sạch sẽ, thể hiện sự chuyên nghiệp
Lộ trình ôn thi
📚 Lộ trình ôn tập 1-2 tuần cho vị trí Angular Dev tại OCB
🗓️ Tuần 1: Nền tảng & Modern Angular
Ngày 1-2: Modern Angular (Angular 17-19)
- Standalone Components (Angular 14+)
- Signals (Angular 16+): signal(), computed(), effect()
- New Control Flow: @if, @for, @switch (Angular 17+)
- defer blocks (Angular 17+)
- Tài liệu: angular.dev chính thức, blog Angular team
Ngày 3: TypeScript nâng cao
- Advanced types: Union, Intersection, Mapped, Conditional types
- Template literal types
- Decorators deep dive
- Generic constraints
- Tài liệu: TypeScript Handbook (typescriptlang.org)
Ngày 4-5: RxJS mastery
- Marble diagrams
- Hot/Cold Observable
- Multicasting operators (share, shareReplay)
- Error handling patterns
- Higher-order observables
- Tài liệu: rxjs.dev, "RxJS in Action" book
Ngày 6: NgRx
- Setup với standalone API
- Signals Store (mới trong NgRx 17+)
- Effects patterns
- Entity adapter
- Best practices: feature-based structure
Ngày 7: Forms phức tạp
- Reactive Forms deeply
- Cross-field validation
- Dynamic forms (FormArray)
- Custom validators
- Performance optimization cho large forms
🗓️ Tuần 2: Architecture & Banking context
Ngày 8-9: MFE & Nx
- Module Federation concepts (Webpack 5)
- Nx workspace setup
- Nx generators, executors
- Affected commands
- Module Federation với Angular
- Tài liệu: nx.dev, module-federation.io
Ngày 10: DDD cho Frontend
- Bounded Context trong Angular
- Aggregates, Entities, Value Objects
- Domain Events
- Anti-corruption layer
- Áp dụng vào component design
Ngày 11: Performance & Testing
- OnPush change detection
- TrackBy trong @for
- Bundle optimization (webpack-bundle-analyzer)
- Unit test với Jest (ưu tiên Angular 19 dùng Jest thay Karma)
- Cypress E2E basics
Ngày 12: Banking-specific knowledge
- OWASP Top 10 cho front-end
- Security headers (CSP, HSTS)
- Encryption cơ bản (không lưu sensitive data ở FE)
- PCI DSS awareness
- Biết các sản phẩm OCB: OCB Omni, JCB cards, etc.
Ngày 13-14: Mock interview & Practice
- Ôn lại các câu hỏi phỏng vấn
- Practice whiteboarding
- Review 2-3 project cá nhân chi tiết
- Đọc tech blog OCB (nếu có), so sánh với Techcombank, MB, VPBank
📖 Tài liệu tham khảo chính
| Tài liệu | Link/Mục | Ghi chú |
|---|---|---|
| Angular Official | angular.dev | Bắt buộc, đọc tutorial + guides |
| NgRx | ngrx.io | Đọc docs chính thức |
| TypeScript Handbook | typescriptlang.org/docs | Phần Advanced Types |
| Nx | nx.dev/getting-started | Đặc biệt Angular plugin |
| Angular Material | material.angular.io | UI components |
| RxJS | rxjs.dev | API reference + marble testing |
| "Angular in Action" | Book by Jeremy Wilken | Best for mid-level |
| "Pro Angular" | Book by Adam Freeman | Deep dive |
| Angular YouTube | Angular channel, Decoded Frontend | Video learning |
🎯 Bài tập thực hành gợi ý
1. Xây dựng mini app banking với:
- Login + 2FA flow
- Dashboard accounts
- Transfer form (reactive form phức tạp với validation chéo)
- Transaction history
2. Setup Nx workspace với 2 MFE (host + remote)
3. Refactor 1 app cũ sang Standalone + Signals
Tư vấn nghề nghiệp
🚀 Lời khuyên sự nghiệp — Front-End Angular Developer
💰 Mức lương kỳ vọng (tham khảo thị trường Việt Nam 2024-2025)
| Cấp bậc | Kinh nghiệm | Mức lương (VND/tháng) | Ghi chú |
|---|---|---|---|
| Middle | 3-5 năm | 25 - 45 triệu | Tùy công ty, ngân hàng thường cao hơn |
| Senior | 5-8 năm | 45 - 80 triệu | Senior ở bank có thể tới 90 triệu |
| Lead/Staff | 8-12 năm | 70 - 130 triệu | Tech Lead/Engineering Manager |
| Principal/Architect | 12+ năm | 120 - 200 triệu+ | Hiếm, đặc biệt trong banking |
Lưu ý: OCB là ngân hàng tư nhân lớn, mức lương thường cạnh tranh. Cộng thêm các phúc lợi: thưởng Tết (2-6 tháng lương), review lương 2 lần/năm, BHXH full, team building, học bổng chứng chỉ.
📈 Lộ trình thăng tiến
Horizontal (chuyên sâu kỹ thuật):
```
Middle → Senior → Staff Engineer → Principal Engineer → Distinguished Engineer
```
Vertical (quản lý):
```
Senior → Tech Lead → Engineering Manager → Director of Engineering → CTO
```
Cross-functional (architect):
```
Senior → Solution Architect → Enterprise Architect
```
🎯 Tại sao nên chọn ngân hàng (đặc biệt OCB)?
✅ Ưu điểm:
- Ổn định: Ngân hàng ít bị layoff hơn tech product
- Lương tốt + thưởng Tết cao: Đặc thù ngành tài chính
- Tech stack chuẩn: OCB đầu tư mạnh vào digital transformation
- Scale lớn: Hàng triệu users, nhiều bài toán performance/security hay
- Brand uy tín: CV đẹp cho tương lai
- Học được domain banking: Kiến thức fintech quý giá
⚠️ Thách thức:
- Quy trình phê duyệt có thể chậm hơn startup
- Legacy system đôi khi phải tích hợp
- Compliance nhiều (NHNN, SBV regulations)
- Đôi khi cần work on-call cho production issues
🛠️ Kỹ năng cần phát triển thêm
Trong 6 tháng tới:
1. Cloud basics: AWS/Azure (cert là lợi thế)
2. CI/CD: GitHub Actions, Jenkins, GitLab CI
3. Docker & Kubernetes fundamentals
4. Backend cơ bản: Node.js, REST API, GraphQL
5. Observability: Datadog, Sentry, New Relic
Trong 1-2 năm tới (nếu muốn lên Senior/Lead):
1. System Design: Cả frontend và full-stack
2. Architecture patterns: Event-driven, CQRS, Micro-frontends
3. Team leadership: Mentoring, code review culture
4. Product thinking: Làm việc với PM, hiểu business value
5. English: Đọc docs, communicate với global team (nếu foreign bank)
🔄 Cơ hội chuyển ngang
Từ vị trí này có thể đi:
- Fintech: MoMo, ZaloPay, VNPay, Timo
- Big Tech: Google, Microsoft, Shopee, Grab
- Foreign bank tại VN: HSBC, Standard Chartered, Citi
- Consulting: FPT, TMA, KMS
- Startup: Cơ hội equity + nhiều thử thách
💬 Lời khuyên thực tế
1. Đừng chỉ là "code monkey": Senior = giải quyết vấn đề, không chỉ viết code
2. Build portfolio: GitHub với 2-3 project showcase, đặc biệt banking/finance app
3. Networking: Tham gia cộng đồng Angular Vietnam, VN-Fintech
4. Đóng góp open source: Tăng uy tín, học từ code review
5. Đọc engineering blogs: Netflix Tech, Spotify, Booking.com, Stripe
Câu hỏi thường gặp
Em mới ra trường, có nên apply vị trí này không khi yêu cầu 3+ năm kinh nghiệm?
Câu trả lời ngắn: Không nên. Vị trí này yêu cầu ít nhất 3 năm kinh nghiệm Angular thực chiến, không phải con số 'mềm'. Tuy nhiên em có thể:
1. Apply vị trí Junior/Fresher ở OCB hoặc công ty khác để tích lũy 2-3 năm
2. Nếu tự tin, vẫn có thể nộp CV và highlight các project cá nhân Angular, GitHub repo
3. Một số công ty vẫn phỏng vấn nếu CV ấn tượng dù thiếu năm kinh nghiệm
Lời khuyên thật lòng: Hãy dành 1-2 năm đầu xây dựng nền tảng vững, đừng vội vào vị trí quá tầm sẽ khó phát triển.
Mức lương thỏa thuận nghĩa là sao? Em nên đề xuất bao nhiêu?
"Thỏa thuận" nghĩa là lương sẽ được thương lượng sau khi phỏng vấn, không có con số cố định. Đây là chiến thuật phổ biến của nhà tuyển dụng để:
- Tránh lộ range lương sớm
- Xem ứng viên tự định giá bản thân
- Có chỗ đàm phán
Mức đề xuất cho Middle/Senior Angular tại ngân hàng HCM (2024-2025):
- Middle (3-5 năm): 30-45 triệu
- Senior (5-8 năm): 50-80 triệu
- Lead (8+ năm): 70-100 triệu
Mẹo: Khi HR hỏi, em nên đưa range rộng (ví dụ: 'Em mong muốn 45-60 triệu tùy phúc lợi'), đừng đưa 1 con số cứng. Đồng thời tìm hiểu mức lương trên ITviec, TopDev, Levels.fyi trước.
Angular 19 vừa ra, có cần thiết phải thành thạo version mới nhất không?
Câu trả lời ngắn: KHÔNG cần thành thạo 100%, nhưng CẦN biết các tính năng chính.
Lý do:
- Phiên bản Angular 19 mới features chính: standalone API (đã có từ 14), signals (16+), new control flow (17+), defer (17+)
- Nếu OCB dùng Angular 19, khả năng cao codebase cũng có các tính năng này
- Tuy nhiên, nhiều dự án vẫn dùng Angular 16-18, kiến thức nền tảng vẫn áp dụng được
Hành động cụ thể:
1. Đọc Angular blog chính thức về Angular 19 (angular.dev/blog)
2. Hiểu Signals API (signal, computed, effect)
3. Biết cách dùng @if, @for, @switch (new control flow)
4. Practice standalone components
Nếu em thành thạo Angular 16-17 với signals, em sẽ catch up Angular 19 rất nhanh.
DDD trong Frontend là gì? Ngân hàng có thực sự dùng không hay chỉ 'màu mè'?
DDD (Domain-Driven Design) trong Frontend KHÔNG chỉ là buzzword, đặc biệt với ngân hàng. Ứng dụng thực tế:
1. Bounded Contexts: Tách frontend thành các module theo domain (Account context, Loan context, Payment context) — rất phù hợp với Micro Frontend
2. Domain Models: Component và service phản ánh đúng nghiệp vụ ngân hàng (Account, Transaction, Customer thay vì User, Item)
3. Ubiquitous Language: Code và business dùng chung ngôn ngữ (KYC, AML, IBAN, etc.)
4. Anti-Corruption Layer: Frontend chuyển đổi API của core banking sang ngôn ngữ UI-friendly
Ví dụ thực tế tại ngân hàng:
- Module 'Loan Application' là 1 bounded context, có model riêng (LoanRequest, Collateral, ApprovalFlow)
- Form mở tài khoản là 1 aggregate với nhiều value objects (Identity, Address, Signature)
Khi phỏng vấn, em nên trình bày DDD qua ví dụ thực tế trong project của mình thay vì định nghĩa hàn lâm. Nếu em chưa từng áp dụng, hãy đọc về 'Strategic DDD' và 'Tactical DDD' trên domainlanguage.com.
Em đang làm React, muốn chuyển sang Angular có khó không?
Chuyển từ React sang Angular là KHẢ THI nhưng có những khác biệt lớn cần lưu ý:
Điểm chung (dễ chuyển):
- TypeScript
- Component-based architecture
- Hooks ≈ Angular lifecycle
- JSX ≈ Angular templates (cú pháp khác nhaung tư duy giống)
- State management concepts (Redux ≈ NgRx)
Khác biệt lớn (cần học):
- Angular là framework full-optional, có CLI, dependency injection, modules/standalone
- RxJS: Bắt buộc dùng nhiều, React không cần
- TypeScript được dùng nghiêm ngặt hơn React
- Angular có opinionated structure, React tự do hơn
- Forms: Reactive Forms rất khác với Formik/React Hook Form
Lộ trình chuyển đổi (2-3 tháng):
1. Tháng 1: Học TypeScript nâng cao, RxJS cơ bản, Angular core (components, services, DI)
2. Tháng 2: Forms, Routing, HttpClient, RxJS nâng cao, NgRx
3. Tháng 3: MFE, Nx, DDD — theo yêu cầu của vị trí này
Lợi thế khi chuyển: Em sẽ hiểu sâu hơn về DI, kiến trúc rõ ràng, có thể cạnh tranh tốt hơn ở các công ty banking/enterprise.
Tại sao ngân hàng lại chọn Angular thay vì React? Có phải vì lý do gì đặc biệt?
Có nhiều lý do thực tế:
1. Enterprise-friendly: Angular có structure rõ ràng, opinionated — dễ maintain cho team lớn, ít dev turnover
2. TypeScript first: Bắt buộc từ đầu, ít bug runtime — quan trọng cho app tài chính
3. Long-term support: Google maintain, LTS policy rõ ràng
4. Built-in tools: CLI, testing, i18n, PWA — ít phải chọn thư viện
5. Scalability: Phù hợp với codebase lớn (OCB có hàng chục sản phẩm)
6. Talent pool tại VN: Angular dev có sẵn, training dễ
React phù hợp với:
- Startup, MVP nhanh
- UI phức tạp, animation
- Ecosystem đa dạng
Nhưng với ngân hàng, sự ổn định và structure thường được ưu tiên hơn flexibility. Nhiều ngân hàng lớn ở VN (Techcombank, MB, VPBank, OCB) đều dùng Angular cho các sản phẩm core.
Take-home assignment thường kéo dài bao lâu và em nên làm thế nào để gây ấn tượng?
Take-home assignment cho vị trí Angular thường 4-8 giờ làm việc. Để gây ấn tượng:
Cấu trúc nộp bài:
1. README rõ ràng: Setup, run commands, giải thích kiến trúc
2. Commit history sạch: Chia commit theo feature, có message rõ ràng
3. Demo online: Deploy lên Vercel/Netlify, share link
Technical highlights nên có:
- ✅ Standalone components (Angular 17+)
- ✅ Signals cho state nếu phù hợp
- ✅ Reactive Forms với validation
- ✅ Lazy loading cho module lớn
- ✅ Responsive design (mobile-first)
- ✅ Loading states, error handling
- ✅ Một chút animation (không quá nhiều)
KHÔNG NÊN:
- ❌ Code comment quá nhiều (code phải self-document)
- ❌ Over-engineering với feature không yêu cầu
- ❌ UI quá cơ bản (thiếu polish)
- ❌ Không có testing (1-2 unit test là đủ)
Bonus points:
- Dockerfile
- GitHub Actions CI/CD
- Storybook (nếu có component library)
- Web vitals report
Mẹo: Đọc kỹ yêu cầu, làm đủ và đúng, đừng làm thừa. 70% hoàn hảo > 120% cẩu thả.
Ngân hàng có yêu cầu cao về bảo mật không? Frontend dev cần biết những gì về security?
Bảo mật là YÊU CẦU CỐT LÕI khi làm FE cho ngân hàng. Bạn cần biết:
OWASP Top 10 cho Frontend:
1. XSS (Cross-Site Scripting): Angular tự động escape HTML, nhưng biết về [innerHTML] bypass
2. CSRF: Hiểu về token, SameSite cookies
3. Sensitive data exposure: Không log token, không lưu PII ở localStorage
4. Broken authentication: Hiểu JWT, OAuth2, OIDC basics
5. Insecure deserialization: Validate input kỹ
Best practices tại ngân hàng:
- Không commit secret, API key lên repo
- Dùng environment variables
- HTTPS everywhere, HSTS
- CSP headers (Content Security Policy)
- Input validation client-side (UX) + server-side (security)
- Sanitize mọi user input
- Disable console.log ở production (main.ts)
Khi phỏng vấn, có thể hỏi:
- 'Làm sao bạn lưu auth token an toàn?'
- 'Xử lý sensitive form data như thế nào?'
- 'Biết gì về PCI DSS compliance?'
Nếu chưa có kinh nghiệm banking, hãy đọc OWASP Top 10, thử làm 1 mini project với auth flow đúng chuẩn (HTTPS, HttpOnly cookies, JWT refresh).
OCB có đang tuyển nhiều không? Mức độ cạnh tranh như thế nào?
OCB là 1 trong những ngân hàng tư nhân chuyển đổi số mạnh nhất hiện nay, đặc biệt sau khi ra mắt OCB Omni. Họ đang tuyển khá nhiều FE/BE:
Mức độ cạnh tranh:
- Cao hơn so với fintech startup
- Thấp hơn so với Big Tech (Google, Shopee) hay FAANG
- Tương đương Techcombank, MB Bank
Điểm cạnh tranh của ứng viên:
- ✅ Có kinh nghiệm Angular + banking domain
- ✅ Portfolio GitHub ấn tượng
- ✅ Biết về MFE, Nx, DDD (theo JD)
- ✅ Thành thạo RxJS, NgRx
Tips để nổi bật:
1. Tìm hiểu về OCB trước khi phỏng vấn (sản phẩm, tin tức gần đây)
2. Nếu có thể, kết nối với nhân viên OCB trên LinkedIn để hiểu culture
3. Chuẩn bị câu chuyện cá nhân gắn với ngân hàng/tài chính
4. Highlight được các project có tác động lớn (số user, performance improvement)
Theo quan sát, JD này thu hút nhiều ứng viên có kinh nghiệm 3-7 năm, nên đừng ngạc nhiên nếu quy trình kéo dài 2-4 tuần.
Nếu được nhận, em nên expect điều gì trong 3 tháng đầu tiên?
3 tháng đầu ở vị trí Angular Dev tại ngân hàng thường trải qua:
Tháng 1 — Onboarding:
- Đọc tài liệu nội bộ (kiến trúc, coding convention, Git workflow)
- Setup môi trường, clone codebase (có thể mất 2-3 ngày)
- Hiểu quy trình release, CI/CD
- Họp 1-1 với manager, team lead
- Pair programming với senior
- Task đầu tiên: thường là bug fix nhỏ hoặc simple feature
Tháng 2 — Tăng tốc:
- Làm chủ 1-2 modules trong codebase
- Bắt đầu code review cho người khác
- Hiểu được domain ngân hàng (KYC, payment, account...)
- Tham gia sprint planning, retrospective
- Có thể được giao feature nhỏ độc lập
Tháng 3 — Độc lập:
- Tự estimate và deliver feature trung bình
- Đề xuất cải tiến code/architecture
- Có thể mentor intern/fresher
- Được đánh giá performance review
Lời khuyên:
- Đừng ngại hỏi, đặc biệt về business logic
- Ghi chú lại mọi thứ (decision, conventions)
- Tìm hiểu 'tại sao' chứ không chỉ 'làm gì'
- Xây dựng relationship với team, BA, QC
- Đừng cố refactor ngay, tập trung hiểu code hiện tại trước
Expect có thể hơi overwhelming lúc đầu vì codebase banking thường lớn và có legacy, nhưng đừng nản!