Mô Tả Công Việc
Vị trí này đang tìm kiếm một Kỹ sư Phần mềm có chuyên môn trong phát triển ứng dụng di động để thúc đẩy sự phát triển của một nền tảng ví thông tin nguồn mở. Trọng tâm chính sẽ là cung cấp một giải pháp di động mạnh mẽ, có khả năng mở rộng và tập trung vào người dùng trên cả hệ sinh thái Android và iOS. Kỹ sư sẽ chịu trách nhiệm thiết kế và triển khai một kiến trúc SDK mô-đun cho phép tích hợp liền mạch các chức năng cốt lõi và quy trình làm việc UX. Điều này sẽ bao gồm việc tạo ra các thành phần có thể tái sử dụng được áp dụng trên nhiều ứng dụng, đồng thời đảm bảo sản phẩm cuối cùng hướng đến người dùng là một lớp nhẹ, được tinh chỉnh thẩm mỹ dựa trên các SDK này. Ngoài ra, vai trò này yêu cầu thiết lập và duy trì một quy trình CI/CD toàn diện cho phát triển di động, bao gồm kiểm thử tự động, triển khai lên TestFlight, App Store, Play Store Beta và Play Store, với sự tích hợp vào chuỗi cung ứng phần mềm rộng hơn. Sự hợp tác với các nhóm đa chức năng, bao gồm quản lý sản phẩm và thiết kế, sẽ rất quan trọng để chuyển đổi yêu cầu kinh doanh thành giải pháp kỹ thuật và đảm bảo phù hợp với mục tiêu trải nghiệm người dùng.
Trách Nhiệm Chính
- Tái cấu trúc, bảo trì và mở rộng ứng dụng ví thông tin nguồn mở trên cả nền tảng Android và iOS, đảm bảo giảm thiểu nợ kỹ thuật và tối ưu hóa chất lượng mã.
- Thiết kế và phát triển một kiến trúc SDK mô-đun bao gồm chức năng cốt lõi, quy trình làm việc UX và các thành phần có thể tái sử dụng, cho phép tích hợp hiệu quả vào các dự án trong tương lai.
- Triển khai quy trình CI/CD cho ứng dụng di động, bao gồm kiểm thử tự động, tự động hóa xây dựng và triển khai lên TestFlight, App Store, Play Store Beta và Play Store, đồng thời đồng bộ hóa với các quy trình CI/CD của chuỗi cung ứng phần mềm rộng hơn.
- Hợp tác với quản lý sản phẩm để ưu tiên và quản lý các câu chuyện người dùng, tính năng và bản phát hành, đảm bảo phù hợp với mục tiêu kinh doanh và tính khả thi kỹ thuật.
- Làm việc chặt chẽ với các nhà thiết kế để chuyển đổi các khái niệm UI/UX thành giao diện di động hoàn chỉnh, duy trì sự nhất quán với hướng dẫn thương hiệu và tiêu chuẩn trải nghiệm người dùng.
- Thích ứng với các ưu tiên thay đổi nhanh chóng và cung cấp phần mềm chất lượng cao trong thời hạn chặt chẽ, thể hiện khả năng linh hoạt và giải quyết vấn đề.
- Thực hiện đánh giá mã, gỡ lỗi các vấn đề phức tạp và đảm bảo ứng dụng tuân thủ các phương pháp tốt nhất trong phát triển di động, bảo mật và tối ưu hóa hiệu suất.
- Theo dõi hiệu suất ứng dụng sau triển khai, thu thập phản hồi người dùng và lặp lại các cải tiến để nâng cao sự hài lòng của người dùng và độ tin cậy của hệ thống.
Yêu Cầu Công Việc
- Kinh nghiệm đã được chứng minh với tư cách là nhà phát triển di động với nền tảng vững chắc về phát triển Android (Kotlin/Java) và iOS (Swift), hoặc thành thạo các framework đa nền tảng như React Native hoặc Flutter.
- Hiểu biết sâu sắc về các nguyên tắc kiến trúc phần mềm, tập trung vào thiết kế mô-đun, các thành phần có thể tái sử dụng và phát triển SDK để hỗ trợ các giải pháp có khả năng mở rộng.
- Chuyên môn về các phương pháp CI/CD, bao gồm các công cụ như Jenkins, GitHub Actions hoặc CircleCI, và kinh nghiệm với các framework kiểm thử tự động (ví dụ: XCTest, Espresso, Appium).
- Kỹ năng hợp tác mạnh mẽ để làm việc hiệu quả với quản lý sản phẩm, nhà thiết kế và các nhóm đa chức năng, đảm bảo giao tiếp liền mạch và thống nhất về mục tiêu dự án.
- Khả năng phân tích các thách thức kỹ thuật phức tạp và đưa ra các giải pháp sáng tạo, với thành tích đã được chứng minh trong việc cung cấp các ứng dụng di động chất lượng cao đúng hạn.
- Thành thạo các hệ thống kiểm soát phiên bản (ví dụ: Git) và quen thuộc với các phương pháp phát triển linh hoạt (ví dụ: Scrum, Kanban) để quản lý dự án lặp đi lặp lại.
- Khả năng giải quyết vấn đề xuất sắc và chú ý đến chi tiết, với cam kết viết mã sạch, dễ bảo trì và hiệu quả.
- Kiến thức về các phương pháp bảo mật di động tốt nhất, bao gồm mã hóa dữ liệu, tích hợp API an toàn và tuân thủ quyền riêng tư (ví dụ: GDPR, CCPA).
- Kinh nghiệm với các dịch vụ đám mây (ví dụ: Firebase, AWS) và tích hợp backend để đảm bảo chức năng liền mạch trên toàn bộ ngăn xếp ứng dụng.
- Kỹ năng giao tiếp mạnh mẽ để ghi chép các quy trình kỹ thuật, trình bày cập nhật cho các bên liên quan và cung cấp giải thích rõ ràng về các khái niệm phức tạp.