Chuyên viên Phát triển Ứng dụng
Mô tả công việc
Khu vực: Hồ Chí Minh
CÁC NHIỆM VỤ CHÍNH
- Chịu trách nhiệm tham gia công việc chỉnh sửa, phát triển phần mềm liên quan mảng Java Backend, PLSQL.
- Phối hợp BA chỉnh sửa ứng dụng đúng mô tả, và phối hợp cho QC để kiểm thử ứng dụng.
- Đảm bảo các tiêu chuẩn bảo mật và mã hóa.
- Tuân thủ tiêu chuẩn nhận dạng thương hiệu Vikki Bank và hệ thống thiết kế chuẩn. Tuân thủ quy trình/quy định của Vikki Bank.
Yêu cầu ứng viên
YÊU CẦU CĂN BẢN
1. Trình độ và kinh nghiệm
- Trình độ học vấn Đại học trở lên.
- Có ít nhất 2 năm phát triển ứng dụng tài chính – ngân hàng.
- Có ít nhất 2 năm về phát triển ứng dụng/ vận hành hệ thống thẻ/ Core Banking FCC.
- Có ít nhất 1 năm phát triển ứng dụng kết nối dịch vụ thu chi hộ , thanh toán , nạp tiền với các TCTC
- Hiểu biết về các hoạt động, tính chất và quy mô kinh doanh của Ngân hàng.
- Đã từng tham gia ít nhất 2 dự án liên quan đến mảng Java Backend.
- Có kinh nghiệm tham gia ít nhất 1 dự án lớn (team làm việc lớn hơn 5 người
2. Yêu cầu công nghệ
- Có ít nhất 3 năm phát triển ứng dụng bằng Java.
- Có ít nhất 2 năm phát triển ứng dụng API, webservice.
- Có ít nhất 2 năm triển khai ứng dụng trên linux, Tomcat, Jboss.
- Có ít nhất 2 năm về phát triển ứng dụng bằng PLSQL/ Oracle form/ Oracle report.
- Có ít nhất 2 năm phát triển ứng dụng Java webservice.
- Kinh nghiệm về core thẻ – Xcard/ Core Banking FCC.
- Hiểu biết về ESB, MicroService.
3. Yêu cầu tài liệu hóa
- Thành thạo việc xây dựng các tài liệu đặc tả kỹ thuật (Technical Specification Document), bao gồm: ERD, Database schema, swagger APIs…
- Có khả năng đọc hiểu tài liệu tiếng Anh.
Phân tích kỹ năng cần có
Phân tích kỹ năng – Chuyên viên Phát triển Ứng dụng (Java Backend) tại Vikki
🔧 Hard Skills (Bắt buộc)
1. Ngôn ngữ & Framework lập trình
- Java (≥ 3 năm): Đây là yêu cầu cốt lõi. Cần vững Java Core, OOP, Collection, Multithreading, Java 8+ (Stream API, Lambda).
- Spring Framework (Spring Boot, Spring MVC, Spring Security): Hầu hết các ngân hàng lớn ở VN đều dùng Spring ecosystem.
- Java Webservice (≥ 2 năm): SOAP/RESTful API, JAX-WS, JAX-RS.
- PLSQL / Oracle (≥ 2 năm): Stored procedures, triggers, packages, performance tuning.
- Oracle Form & Oracle Report (≥ 2 năm): Đây là công nghệ legacy phổ biến trong core banking cũ, rất đáng giá nếu bạn biết.
2. Middleware & Triển khai
- Linux (≥ 2 năm): Cài đặt, cấu hình, troubleshoot.
- Tomcat, JBoss (≥ 2 năm): Deploy, cấu hình datasource, SSL, clustering.
- CI/CD: Jenkins, Git, Maven/Gradle (bonus).
3. Kiến trúc & Tích hợp
- ESB (Enterprise Service Bus): Hiểu pattern tích hợp hệ thống (Mule ESB, IBM Integration Bus, hoặc các ESB mã nguồn mở).
- MicroService: Thiết kế service nhỏ, độc lập, giao tiếp qua REST/gRPC/Message Queue.
- Swagger/OpenAPI: Viết và đọc tài liệu API.
4. Database
- Oracle DB: ERD, schema design, query optimization, indexing.
- Hiểu về transaction, isolation level, deadlock handling trong môi trường tài chính.
🏦 Domain Knowledge (Kiến thức nghiệp vụ ngân hàng)
| Lĩnh vực | Mức yêu cầu | Ghi chú |
|---|---|---|
| Core Banking FCC | ≥ 2 năm | FCC = Financial Crime Compliance / hoặc core banking module cụ thể |
| Hệ thống thẻ (Xcard) | ≥ 2 năm | Phát hành, thanh toán, lifecycle thẻ |
| Thanh toán liên ngân hàng | ≥ 1 năm | Napas, CITAD, kết nối TCTC qua API/web service |
| Thu chi hộ / Nạp tiền | ≥ 1 năm | E-wallet, payment gateway integration |
| Bảo mật tài chính | Cơ bản | PCI-DSS, mã hóa, OWASP |
📝 Documentation Skills
- Viết Technical Specification Document (TSD).
- Vẽ ERD (Entity Relationship Diagram) – dùng tool: Draw.io, ERDPlus, PowerDesigner.
- Thiết kế Database Schema.
- Đọc hiểu tiếng Anh chuyên ngành IT (documentation, RFC).
🤝 Soft Skills
- Giao tiếp & phối hợp với BA (Business Analyst) để hiểu requirement.
- Phối hợp với QC (Quality Control) để fix bug và đảm bảo chất lượng.
- Làm việc nhóm (≥ 5 người) trong ít nhất 1 dự án lớn – cần kỹ năng quản lý task, code review.
- Tư duy logic, cẩn thận (đặc biệt với hệ thống tài chính – sai 1 số có thể mất tiền tỷ).
🎓 Chứng chỉ gợi ý (Bonus, không bắt buộc)
- Oracle Certified Professional (OCP) – Java SE.
- Oracle Database SQL Certified Associate.
- AWS Cloud Practitioner / Solutions Architect (nếu ngân hàng chuyển lên cloud).
- ISTQB Foundation Level (nếu muốn thêm kiến thức testing).
- Chứng chỉ nội bộ của NHNN về thanh toán (ít phổ biến nhưng rất có giá trị).
Chuẩn bị phỏng vấn
Hướng dẫn phỏng vấn – Chuyên viên Phát triển Ứng dụng (Vikki)
📋 Quy trình phỏng vấn dự kiến (3-4 vòng)
Vòng 1: HR Phone Screen (30-45 phút)
- Giới thiệu bản thân, kinh nghiệm, lý do ứng tuyển.
- Hỏi về mức lương mong muốn, thời gian có thể onboard.
- Câu hỏi: "Tại sao rời công ty cũ?", "Mong muốn với Vikki?".
- HR của ngân hàng/fintech thường đánh giá cao sự ổn định và gắn bó lâu dài.
Vòng 2: Technical Test (có thể có)
- Một số công ty cho làm test Java online (90-120 phút): Java Core, SQL, Algorithm cơ bản.
- Hoặc take-home assignment: viết 1 microservice nhỏ, có REST API + database.
Vòng 3: Technical Interview (60-90 phút) – Quan trọng nhất
- Phỏng vấn với Tech Lead/Architect.
- Câu hỏi xoay quanh Java, Spring, Oracle, system design.
- Có thể có bài test SQL trắc nghiệm hoặc viết tay.
Vòng 4: Final Interview với Manager/Director (45-60 phút)
- Đánh giá fit với team, culture.
- Câu hỏi về tầm nhìn nghề nghiệp, khả năng xử lý áp lực.
🎯 Câu hỏi kỹ thuật hay gặp
Java Core:
- Phân biệt `ArrayList` vs `LinkedList`? Khi nào dùng cái nào?
- `HashMap` hoạt động như thế nào? Xử lý collision ra sao?
- Sự khác biệt giữa `==` và `.equals()` trong Java?
- `volatile` và `synchronized` khác nhau thế nào?
- Java 8 Stream API: Cách dùng `map`, `filter`, `reduce`?
Spring Boot:
- Vòng đời của một Bean trong Spring IoC container?
- `@Transactional` hoạt động ra sao? Propagation levels?
- Cách xử lý exception toàn cục trong Spring Boot?
SQL/Oracle:
- Viết query tìm top 3 khách hàng có tổng giao dịch cao nhất.
- Phân biệt `INNER JOIN`, `LEFT JOIN`, `FULL OUTER JOIN`.
- Index hoạt động thế nào? Khi nào index bị ignore?
- Stored procedure vs Function trong Oracle?
System Design:
- Thiết kế hệ thống chuyển tiền liên ngân hàng đảm bảo ACID và không mất tiền.
- Làm sao xử lý idempotency trong API thanh toán?
- Cách thiết kế circuit breaker giữa 2 microservice?
Nghiệp vụ ngân hàng:
- Một giao dịch thẻ đi qua những bước nào từ lúc khách quẹt thẻ đến khi trừ tiền?
- Phân biệt Authorization và Capture trong giao dịch thẻ?
- Napas là gì? Quy trình thanh toán Napas?
💡 Tips chuẩn bị
1. Chuẩn bị portfolio: Mô tả 2-3 dự án Java Backend đã làm, nhấn mạnh vai trò, tech stack, kết quả đạt được (số transaction xử lý/giây, downtime, ...).
2. Đọc về Vikki: Tìm hiểu sản phẩm, đối thủ (Timo, Cake, OCB OMNI...), công nghệ họ dùng (tra Glassdoor, LinkedIn).
3. Mang theo CV in + laptop mở sẵn GitHub cá nhân (nếu có).
4. Chuẩn bị 5-7 câu hỏi ngược cho nhà tuyển dụng:
- "Team hiện tại bao nhiêu người? Áp dụng Agile/Scrum không?"
- "Tech stack của team là gì?"
- "Sprint cycle bao lâu? Có on-call duty không?"
- "Định hướng migrate lên cloud/microservice không?"
👔 Dress Code
- Ngân hàng thường yêu cầu formal/smart casual.
- Nam: Sơ mi + quần tây, có thể không cần cà vạt.
- Nữ: Áo sơ mi/blouse + quần tây/chân váy lịch sự.
- Tránh quần jeans, áo thun, giày thể thao.
Lộ trình ôn thi
Lộ trình ôn tập & Chuẩn bị trong 1-2 tuần
📚 Kiến thức nền tảng cần ôn lại
Tuần 1: Java & Spring Boot (trọng tâm)
| Ngày | Nội dung | Tài liệu |
|---|---|---|
| T2-T3 | Java Core: OOP, Collection, Generics, Exception, Lambda/Stream | "Effective Java" (Joshua Bloch), Baeldung.com |
| T4 | Multithreading, Concurrency, Memory Model | Java Concurrency in Practice |
| T5 | Spring Boot cơ bản: IoC, DI, Bean lifecycle | Spring.io docs, Baeldung |
| T6-T7 | Spring Boot nâng cao: REST API, JPA/Hibernate, Transaction, Security | Udemy: Spring Boot 3 & Spring Framework 6 |
Tuần 2: Database + Banking Domain + Microservice
| Ngày | Nội dung | Tài liệu |
|---|---|---|
| T8-T9 | Oracle PLSQL: Stored procedure, Trigger, Cursor, Exception handling | Oracle docs, PLSQL tutorial trên tutorialspoint |
| T10 | Tối ưu SQL: Index, Execution Plan, Partition | Use The Index Luke (book) |
| T11 | Microservice pattern: API Gateway, Circuit Breaker, Service Discovery | microservices.io |
| T12 | ESB concept, Message Queue (Kafka/RabbitMQ) | Confluent docs |
| T13 | Nghiệp vụ thẻ & Core Banking FCC | Tài liệu PCI-DSS, Napas documentation |
| T14 | Mock interview + Review CV |
📖 Tài liệu tham khảo cụ thể
Sách:
- Effective Java – Joshua Bloch (bắt buộc).
- Spring in Action – Craig Walls.
- Oracle PLSQL Programming – Steven Feuerstein.
- Microservices Patterns – Chris Richardson.
Website/Tutorial:
- Baeldung.com – Java/Spring Boot (tiếng Anh, rất chi tiết).
- Tutorialspoint.com – Java, Oracle, Linux.
- LeetCode – Luyện thuật toán (Easy/Medium).
- HackerRank – Java practice.
- StackOverflow – Đọc Q&A về Java + Banking.
Cộng đồng Việt Nam:
- Group Facebook: "Java Việt Nam", "Vietnam Developer Community".
- Forum: Daynhauhoc.com, VIBLO.
- YouTube: "Code Dạo", "Tự học IT".
🎯 Dự án cá nhân nên chuẩn bị
Nếu bạn chưa có dự án tài chính-ngân hàng, hãy tự build 1 microservice liên quan thanh toán:
- VD: REST API chuyển tiền nội bộ với Spring Boot + Oracle/MySQL.
- Tính năng: idempotency, transaction rollback, audit log.
- Push lên GitHub kèm README mô tả kiến trúc.
⚡ Checklist ngày phỏng vấn
- [ ] Đã đọc hiểu job description.
- [ ] Đã chuẩn bị 5 câu hỏi cho nhà tuyển dụng.
- [ ] Đã review lại 2-3 dự án gần nhất (số liệu cụ thể).
- [ ] Đã ôn Java Core, SQL, Spring Boot.
- [ ] CV đã in sẵn 2 bản.
- [ ] Mang theo laptop có sẵn GitHub profile + portfolio.
- [ ] Đến trước 10-15 phút.
Tư vấn nghề nghiệp
Lời khuyên sự nghiệp cho Java Backend Developer trong ngân hàng
🚀 Lộ trình thăng tiến
```
Junior Dev (0-2 năm)
↓
Mid-level Dev (2-5 năm) ← Bạn đang ở đây
↓
Senior Dev (5-8 năm)
↓
Tech Lead / Lead Developer
↓
Solution Architect
↓
Engineering Manager / CTO
```
Tại Vikki/ngân hàng số:
- Vì là fintech/digital bank, cơ hội thăng tiến nhanh hơn ngân hàng truyền thống.
- Sau 1-2 năm làm tốt có thể lên Senior, 3-4 năm làm Tech Lead.
💰 Mức lương kỳ vọng (2024-2026, tham khảo)
| Cấp bậc | Kinh nghiệm | Mức lương (VNĐ/tháng gross) |
|---|---|---|
| Junior Java Dev | 0-2 năm | 12-20 triệu |
| Mid-level Java Dev | 2-4 năm | 20-35 triệu |
| Senior Java Dev | 4-7 năm | 35-55 triệu |
| Tech Lead | 6-9 năm | 50-80 triệu |
| Solution Architect | 8-12 năm | 70-120 triệu |
| Engineering Manager | 10+ năm | 80-150 triệu |
Lưu ý với Vikki: Là ngân hàng số nên mức lương có thể cạnh tranh hơn NH truyền thống. Thêm ESOP/Stock option nếu là công ty khởi nghiệp tài chính.
🛠️ Kỹ năng cần phát triển thêm (next 2-3 năm)
Kỹ thuật (Technical skills):
1. Cloud Platform: AWS/Azure/GCP – ngân hàng đang migrate lên cloud rất nhanh.
2. Container & Orchestration: Docker, Kubernetes, OpenShift.
3. Kafka/RabbitMQ: Message queue cho hệ thống tài chính.
4. Spring Cloud: Microservice ecosystem.
5. DevOps cơ bản: CI/CD, monitoring (Prometheus, Grafana), logging (ELK).
6. Security: OAuth2, JWT, mã hóa trong banking.
Domain (Kiến thức nghiệp vụ):
1. Sâu hơn về thẻ tín dụng, thẻ ghi nợ, mobile banking.
2. Hiểu rõ Swift message, ISO 20022 (chuẩn thanh toán quốc tế).
3. Nắm PSD2, Open Banking nếu muốn ra nước ngoài.
4. PCI-DSS compliance – bắt buộc nếu làm về thẻ.
Kỹ năng mềm:
1. Tiếng Anh giao tiếp (không chỉ đọc) – rất cần khi làm fintech có yếu tố quốc tế.
2. Public speaking – để lên Tech Lead phải present cho stakeholder.
3. Quản lý dự án cơ bản – Agile/Scrum certification (PSM I, SAFe).
⚠️ Lưu ý quan trọng cho người muốn ứng tuyển
Nếu bạn là sinh viên mới ra trường:
- Tin này không phù hợp – yêu cầu ≥ 2 năm kinh nghiệm banking + 3 năm Java.
- Hãy tích lũy 1-2 năm ở công ty outsource hoặc NH truyền thống trước.
Nếu bạn đang ở NH truyền thống muốn chuyển sang fintech:
- Đây là cơ hội tốt. Vikki thường trả lương cao hơn NH cũ 20-30%.
- Chuẩn bị kỹ về microservice, cloud – NH truyền thống thường dùng công nghệ cũ.
Nếu bạn là Senior muốn thăng tiến:
- Vị trí này là mid-level – nếu bạn đã ở level Senior, có thể thương lượng lên Senior hoặc Tech Lead.
- Đề xuất title mới khi phỏng vấn nếu bạn đã có kinh nghiệm vượt yêu cầu.
Nếu bạn đang làm outsource IT cho NH:
- Đây là cơ hội chuyển sang làm in-house cho ngân hàng.
- Lợi ích: Lương cao hơn, hiểu nghiệp vụ sâu hơn, cơ hội thăng tiến tốt hơn.
Câu hỏi thường gặp
Mình mới ra trường, có nên ứng tuyển vị trí này không?
Không nên bạn nhé. Vị trí này yêu cầu tối thiểu 3 năm Java + 2 năm làm ngân hàng + 2 năm core banking/thẻ. Mới ra trường chưa đủ kinh nghiệm. Bạn nên tìm vị trí Junior Java Developer ở các công ty outsource hoặc fintech nhỏ trước, tích lũy 2-3 năm rồi mới ứng tuyển vị trí tương tự. Trong thời gian đó, hãy focus học Spring Boot, Oracle PLSQL, và cố gắng vào dự án có liên quan đến tài chính-thanh toán.
Mức lương cho vị trí này ở Vikki khoảng bao nhiêu?
Tin không ghi mức lương, nhưng theo thị trường 2024-2026: Mid-level Java Backend có kinh nghiệm banking tại HCM dao động 25-40 triệu gross. Vì Vikki là ngân hàng số, mức lương có thể cạnh tranh hơn, có thêm ESOP. Nếu bạn có kinh nghiệm Xcard, FCC, hoặc từng làm NH lớn, có thể deal 35-50 triệu. Mẹo: Đừng nói mức lương cũ quá sớm, hãy để HR hỏi trước hoặc đưa ra range 'mong muốn 30-40 triệu tùy theo phúc lợi và cơ hội phát triển'.
Oracle Form/Report có còn cần thiết không trong năm 2025?
Đây là câu hỏi rất hay. Oracle Form/Report là công nghệ từ những năm 2000, nhưng vẫn còn sống khỏe trong nhiều core banking tại VN vì: (1) Hệ thống cũ đã chạy ổn định, chi phí migration rất lớn; (2) Ngân hàng NHTM CP còn dùng nhiều; (3) Nhân sự biết Oracle Form đang già đi, ít người trẻ học. Vì vậy, nếu bạn BIẾT Oracle Form/Report, đó là lợi thế cạnh tranh LỚN với các ứng viên trẻ. Còn nếu bạn chưa biết, hãy học vì nó không khó – có tutorial đầy trên mạng. Nhiều ngân hàng số (như Vikki) vẫn integrate với core cũ qua Oracle Form.
FCC trong ngân hàng là gì? Core Banking FCC là như thế nào?
FCC có 2 nghĩa phổ biến: (1) Financial Crime Compliance – hệ thống phòng chống rửa tiền, gian lận tài chính; (2) Flexcube Core Banking – core banking của Oracle (Oracle FLEXCUBE), đây là core banking phổ biến nhất tại VN và châu Á. Trong JD này, nhiều khả năng FCC là Flexcube Core Banking vì JD cũng nhắc đến Xcard (hệ thống thẻ của SmartFlex/Sit cũng thuộc Oracle). Nếu bạn hiểu Flexcube, bạn sẽ có lợi thế rất lớn. Tài liệu về Flexcube khá khan hiếm công khai, nhưng bạn có thể tìm Oracle Banking Platform Documentation trên docs.oracle.com.
Nên làm ở NH truyền thống hay fintech/digital bank như Vikki?
Tùy giai đoạn sự nghiệp:
Nên vào NH truyền thống nếu: Mới ra trường, cần học nghiệp vụ sâu (cho vay, huy động, kế toán NH); thích sự ổn định; muốn có thương hiệu CV đẹp (VCB, CTG, BIDV...).
Nên vào fintech/digital bank nếu: Muốn lương cao hơn; thích tech stack mới (cloud, microservice); thích môi trường nhanh, linh hoạt; chấp nhận rủi ro startup.
Theo kinh nghiệm: 2-3 năm đầu ở NH truyền thống để nắm nghiệp vụ, sau đó chuyển sang fintech để tăng thu nhập và học tech mới. Vikki là lựa chọn tốt cho giai đoạn 2.
Phỏng vấn Java Backend ở ngân hàng khác gì so với công ty product?
Khác biệt lớn ở 3 điểm:
1. Hỏi sâu về nghiệp vụ NH: Họ sẽ hỏi về quy trình giao dịch, thẻ, thanh toán liên ngân hàng. Công ty product (như Tiki, Shopee) thường chỉ hỏi về Java + system design.
2. Đề cao tính ổn định và bảo mật: Câu hỏi như 'Làm sao đảm bảo không mất tiền khi server crash?', 'Xử lý duplicate transaction như thế nào?' rất hay gặp.
3. Công nghệ legacy: Họ có thể hỏi về Oracle Form, COBOL, Mainframe (với NH truyền thống). Công ty product hiếm khi hỏi.
Tip: Hãy chuẩn bị kỹ câu chuyện về 1 dự án banking bạn từng làm, nhấn mạnh yếu tố: scale, security, reliability.
Java Backend Developer ở ngân hàng có cơ hội thăng tiến không?
Có, và rất tốt nếu bạn kiên trì. Ở NH lớn, lộ trình điển hình:
- 0-2 năm: Fresher/Junior
- 2-5 năm: Chuyên viên (đúng vị trí bạn đang ứng tuyển)
- 5-8 năm: Chuyên viên cao cấp / Senior
- 8-12 năm: Trưởng phòng IT / Lead
Điểm cộng ở ngân hàng: Thăng tiến theo cả 2 hướng: Technical (Solution Architect) hoặc Management (Manager IT). Công ty product thường thiên về technical path. Ở NH, bạn còn có cơ hội rotate sang các phòng ban khác (Business Analyst, Product Manager) nếu muốn chuyển hướng.
Mình có 4 năm Java nhưng chưa làm NH, có nên apply không?
Đáng để thử nhưng khả năng được nhận không cao. JD ghi rõ: 'Có ít nhất 2 năm phát triển ứng dụng tài chính – ngân hàng' và '2 năm về phát triển ứng dụng/ vận hành hệ thống thẻ/ Core Banking FCC'. Đây là yêu cầu cứng.
Tuy nhiên, nếu bạn có 4 năm Java + kinh nghiệm microservice/API + hiểu nghiệp vụ tài chính (làm fintech, e-wallet, payment gateway thì tương đương), bạn vẫn có cơ hội. Mẹo:
- Trong CV, làm nổi bật các dự án có liên quan đến thanh toán, giao dịch, bảo mật.
- Trong cover letter, nhấn mạnh kinh nghiệm với transaction, idempotency, security – đây là những thứ ngân hàng rất coi trọng.
- Nếu có thể, hãy build 1 side project về payment system và demo trong interview.