Mô tả công việc
1. Thiết kế & Phát triển Tính năng (Feature Development):
Phân tích yêu cầu: Làm việc với Product Manager và BA để phân tích, làm rõ các yêu cầu nghiệp vụ (business requirements) và yêu cầu kỹ thuật (technical requirements).
Thiết kế giải pháp: Đề xuất và thiết kế
kiến trúc cho các tính năng mới, đảm bảo tính nhất quán, bảo mật và khảNăng mở rộng.
Lập trình: Viết mã nguồn (code) sạch, hiệu quả, dễ bảo trì và tuân thủ các nguyên tắc thiết kế (ví dụ: SOLID).
Tích hợp Native: Phát triển và tích hợp các module native (sử dụng Swift/Kotlin) khi các tính năng phức tạp yêu cầu (ví dụ: xử lý nền, widget, hoặc các API đặc thù của hệ điều hành).
2. Đảm bảo Chất lượng & Hiệu năng (Quality & Performance):
Code Review: Chủ động tham gia vào các buổi đánh giá mã nguồn (code review) để đảm bảo chất lượng code của toàn đội, đưa ra các góp ý mang tính xây dựng.
Testing: Viết và duy trì Unit Tests, Widget Tests và Integration Tests để đảm bảo độ ổn định của ứng dụng.
Tối ưu hóa (Optimization):
Phân tích và tối ưu hóa hiệu năng render của ứng dụng (ví dụ: giảm thiểu jank, đảm bảo FPS mượt mà).
Quản lý và tối ưu hóa việc sử dụng bộ nhớ (memory usage), pin và dung lượng lưu trữ của ứng dụng.
Tối ưu hóa thời gian khởi động ứng dụng (app startup time).
Debug & Sửa lỗi: Nhanh chóng xác định, phân tích và sửa các lỗi phức tạp, bao gồm cả các lỗi crash (crashlytics) và các vấn đề về hiệu năng.
Yêu cầu
1. Kinh nghiệm cốt lõi:
Có ít nhất 3 năm kinh nghiệm phát triển ứng dụng di động.
Có kinh nghiệm làm việc thực tế và thành thạo với ít nhất một trong các framework cross-platform sau:
Flutter: Nắm vững ngôn ngữ Dart, hiểu sâu về Widgets, State Management (Bloc, Provider, GetX), kiến trúc ứng dụng.
React Native: Thành thạo JavaScript/TypeScript, hiểu rõ về components, hooks, state management (Redux, MobX), và vòng đời của React.
Kinh nghiệm làm việc với RESTful APIs và các định dạng dữ liệu phổ biến như JSON, XML.
Có kinh nghiệm tích hợp các dịch vụ của bên thứ ba: Push Notifications (Firebase Cloud Messaging), Google Maps, thanh toán online (MoMo, ZaloPay, Stripe), và các mạng xã hội.
2. Stack công nghệ & Công cụ cần biết:
Ngôn ngữ lập trình:
Bắt buộc: Dart (cho Flutter) HOẶC JavaScript/TypeScript (cho React Native).
Là lợi thế: Có kiến thức về Swift/Objective-C (cho iOS) hoặc Kotlin/Java (cho Android) để xử lý các module native khi cần.
Quản lý phiên bản: Thành thạo Git (Git Flow, GitHub, GitLab).
State Management:
Flutter: Bloc, Provider, GetX, Riverpod.
React Native: Redux (Redux Toolkit), MobX.
Cơ sở dữ liệu: Có kinh nghiệm làm việc với cơ sở dữ liệu trên di động như SQLite, Realm, hoặc các giải pháp NoSQL như Firebase Firestore.
Testing: Có kinh nghiệm viết Unit Test, Integration Test.
CI/CD: Có hiểu biết hoặc kinh nghiệm thiết lập quy trình CI/CD cho ứng dụng di động (ví dụ: Codemagic, Bitrise, Jenkins, GitHub Actions) là một điểm cộng lớn.
Công cụ khác: Nắm vững các công cụ như Jira, Trello để quản lý công việc và Figma, Zeplin để làm việc với đội ngũ thiết kế.
3. Kỹ năng mềm:
Tư duy lập trình hướng đối tượng (OOP), hiểu biết về các nguyên lý thiết kế (SOLID) và Design Patterns.
Có kiến thức tốt về UI/UX, có khả năng xây dựng giao diện người dùng mượt mà, thân thiện
Kỹ năng giải quyết vấn đề và tư duy logic tốt.
Tinh thần trách nhiệm cao, chủ động trong công việc và có khả năng làm việc độc lập cũng như làm việc nhóm.
Đam mê học hỏi, cập nhật công nghệ mới.
Quyền lợi
Mức lương: 20 triệu - 30 triệu
Môi trường làm việc chuyên nghiệp, năng động
Được hưởng các chế độ Phúc lợi đặc biệt dành cho cán bộ
công nhân viên của Cen Group
Du lịch nghỉ mát hàng năm cũng Tập đoàn
Được thưởng lương tháng 13.
Được trang bị bảo hiểm sức khỏe PTI
Được tham gia các khóa đào tạo nhằm nâng cao nghiệp vụ.
Bảo hiểm xã hội, Bảo hiểm sức khỏe, Du lịch hàng năm
Thông tin khác
Thời gian làm việc
Thứ 2 - Thứ 6 (từ 08:00 đến 17:30)
Thứ 7 (từ 08:00 đến 12:00)
Thông tin chung
Nơi làm việc
- - Hà Nội: Tầng 4, tòa A Sky City, 88 Láng Hạ, Đống Đa, Đống Đa