Các trách nhiệm chính 1
• Phối hợp với scrum team, đơn vị nghiệp vụ và các bên liên quan để phân tích-đánh giá yêu cầu, lựa chọn nền tảng công nghệ và giải pháp kỹ thuật
• Định hướng kỹ thuật cho nhóm phát triển; review giải pháp thiết kế, source code, API…, tích hợp, hiệu năng…
• Chủ trì/ trực tiếp tham gia xây dựng và phát triển sản phẩm, đảm bảo đáp ứng tiêu chuẩn kỹ thuật, yêu cầu nghiệp vụ và đảm bảo tiến độ release
• Tìm hiểu, nghiên cứu các giải pháp công nghệ mới để cải tiến hệ thống…
• Phối hợp với các bên (team QA, team vận hành, đơn vị nghiệp vụ…) để xử lý sự cố kỹ thuật phát sinh và đưa ra giải pháp khắc phục triệt để
Trình độ đào tạo
Kiến thức/ Chuyên môn yêu cầu
• Kiến thức chuyên sâu về Flutter & Dart
- Nắm vững Dart nâng cao: null-safety, isolates, streams/async programming, generics, extension methods, mixins
- Hiểu sâu Flutter rendering pipeline (Widget – Element – RenderObject tree), cơ chế build/layout/paint, tối ưu hiệu năng (tránh rebuild không cần thiết, sử dụng const, RepaintBoundary...)
- Thành thạo các giải pháp quản lý state (Bloc/Cubit, Riverpod, Provider...) và có khả năng đánh giá, lựa chọn giải pháp phù hợp theo bài toán
- Kinh nghiệm làm việc với Platform Channel để tích hợp mã Native (iOS/Android) khi cần
- Hiểu và có khả năng tối ưu: kích thước ứng dụng, thời gian khởi động (cold start), memory leak, frame rate
• Kiến trúc phần mềm & Thiết kế hệ thống
- Thành thạo Clean Architecture, các nguyên tắc SOLID, Design Patterns áp dụng trong Mobile
- Có kinh nghiệm thiết kế và triển khai kiến trúc nền tảng dùng chung (Shared Platform/White Label Mobile App) cho nhiều dự án/sản phẩm
- Khả năng thiết kế module hóa (feature-based, package-by-feature), quản lý dependency giữa các layer (Presentation – Domain – Data)
- Có tư duy thiết kế hệ thống có khả năng mở rộng (scalable), dễ bảo trì, phục vụ nhiều dự án song song
• Kiến thức nền tảng Native (iOS & Android)
- Hiểu vòng đời ứng dụng, cơ chế quản lý bộ nhớ, threading trên cả iOS (Swift/Objective-C) và Android (Kotlin/Java)
- Có khả năng xử lý các vấn đề đặc thù từng nền tảng (background execution, push notification, deep link, permission...)
- Kinh nghiệm làm việc với các dòng máy OEM tùy biến sâu (Xiaomi, Oppo, Vivo...) và biết cách xử lý các vấn đề tương thích
• Bảo mật ứng dụng (đặc biệt quan trọng với Mobile Banking)
- Nắm vững các nguyên tắc bảo mật ứng dụng tài chính: mã hóa dữ liệu, secure storage, chống reverse engineering (obfuscation), chống root/jailbreak
- Kinh nghiệm tích hợp các giải pháp xác thực: eKYC, Biometric, Smart OTP, SmartOTP, PKI
- Hiểu các chuẩn bảo mật ngành ngân hàng (PCI DSS, quy định của NHNN/SBV nếu có)
- Kinh nghiệm chống chụp màn hình, ẩn nội dung nhạy cảm khi chuyển app nền, bảo vệ màn hình nhập PIN/OTP
• DevOps, Testing & Chất lượng phần mềm
- Thành thạo CI/CD cho Mobile (Fastlane, Codemagic, Bitrise, GitHub Actions/GitLab CI...)
- Kinh nghiệm xây dựng chiến lược testing toàn diện: Unit test, Widget test, Integration test, đảm bảo test coverage
- Có kinh nghiệm quản lý release process: versioning, feature flag, A/B testing, phát hành theo giai đoạn (staged rollout)
- Kinh nghiệm giám sát ứng dụng production: crash reporting (Firebase Crashlytics, Sentry), performance monitoring
• Tích hợp hệ sinh thái & SDK bên thứ ba
- Kinh nghiệm tích hợp các SDK phổ biến: Firebase (Push Notification, Analytics, Remote Config), các SDK đối tác (eKYC, thanh toán...)
- Hiểu về Payment Gateway, tích hợp cổng thanh toán, chuẩn giao tiếp QR/NFC
• Năng lực lãnh đạo kỹ thuật (Technical Leadership)
- Khả năng định hướng công nghệ, xây dựng coding convention, quy trình code review cho đội ngũ
- Kinh nghiệm đào tạo, mentor các lập trình viên cấp dưới
- Khả năng làm việc với các bên liên quan (Product, Architect, Security) để đưa ra quyết định kỹ thuật phù hợp với chiến lược sản phẩm
- Kinh nghiệm đánh giá, lựa chọn công nghệ (technology radar), đưa ra đề xuất cải tiến kiến trúc
Kỹ năng yêu cầu
• Làm việc độc lập/theo nhóm. Có kĩ năng giao tiếp làm việc trong nhóm, các bộ phận liên quan.
• Lập kế hoạch, thực thi, quản lý công việc được giao
• Có khả năng review thiết kế, review source code và đưa ra các khuyến nghị cải tiến về kiến trúc, chất lượng code, hiệu năng và bảo mật.
• Có khả năng làm việc độc lập và phối hợp hiệu quả với PO, BA, QA, DevOps, Architect, Security, Infrastructure và các đơn vị nghiệp vụ.
• Có tinh thần ownership, chủ động theo dõi vấn đề đến khi hoàn tất, không chỉ giới hạn trong phạm vi coding.
• Vạch định kế hoạch cho các thành viên trong team theo từng sprint, tổng hợp và báo cáo tiến độ công việc.
• Có khả năng, tìm tòi các công nghệ, tool mới để tranning cho các bạn trong team.
• Có khả năng tổng hợp phân tích đánh giá vấn đề/yêu cầu.
• Chịu được áp lực công việc.
• Tính chủ động và thái độ tiếp nhận công việc qua tinh thần “can-do”!
Kinh nghiệm liên quan khác
• Tối thiểu 7-10 năm kinh nghiệm phát triển Mobile, trong đó có ít nhất 6-7 năm chuyên sâu Flutter.
• Đã từng đảm nhận vai trò Tech Lead/Solution Architect cho các dự án Mobile quy mô lớn.
• Có kinh nghiệm dẫn dắt đội ngũ từ 5 nhân sự trở lên
• Có ít nhất 5 năm phát triển ứng dụng có liên quan đến tài chính ngân hàng.
Liên hệ: Lynd3@vpbank.com.vn