Responsibilities:
High-Quality Code Delivery
- Write clean, modular, and maintainable Kotlin code to ensure high readability and scalability.
- Utilize Jetpack Compose for UI development, ensuring a modern architecture and improved development efficiency.
- Follow MVVM / Clean Architecture best practices to maintain a well-structured and modularized codebase.
- Implement necessary tests (Unit / E2E) to ensure application stability and minimize regression risks.
- Integrate CI/CD pipelines for automated testing and deployment, enhancing development efficiency and system stability.
System Analysis and Refactoring
- Analyze existing codebases, identify technical debt, performance bottlenecks, and architectural issues, and implement improvements.
- Stay up to date with Android technologies (Jetpack, Coroutine, etc.) and evaluate their feasibility for the project.
- Optimize application startup time and memory management to ensure a smooth user experience.
- Systematically refactor legacy code to improve maintainability and reduce technical debt accumulation.
Code Review and Team Growth
- Actively participate in code reviews to ensure code quality, consistency, and architectural soundness.
- Provide constructive feedback on pull requests to support the continuous improvement of the team.
Requirement Analysis and Application Architecture Design
- Collaborate closely with product managers and designers to analyze requirements and ensure technical solutions align with business goals.
- Design scalable Android application architectures that adhere to UX/UI best practices.
- Develop efficient local data storage mechanisms to ensure offline availability.
- Optimize network communication mechanisms (Retrofit, OkHttp) for data synchronization and performance.
Hardware Integration and Communication (POS-related)
- Integrate and communicate with printers, scanners, NFC, Bluetooth devices, and other peripherals.
- Utilize Bluetooth and Wi-Fi communication protocols to ensure stable device interaction.
- Work with SDKs or command-based communication to ensure POS system stability and reliability.
Detailed Logging, Monitoring
- Design and implement a logging mechanism to track system operations, device communications, and transaction data.
- Store logs locally using SQLite or Room, ensuring offline availability.
- Implement log transmission mechanisms to securely send logs to backend servers when online.
- Integrate remote logging and monitoring tools (Firebase Crashlytics, Sentry, ELK Stack) for real-time error tracking and analysis.
- Add, monitor, and parse telemetry data to proactively detect and resolve issues before they impact users.
- Contribute as designer and developer to building Android based infotainment solutions for IOT devices.
- Responsible for the entire life cycle of the assigned domain, including requirements, development and maintenance of the infotainment software.
- Work on new feature development, as well as maintenance of existing features and bug fixes.
- Follow our software development process where quality comes first and ensure that the designed solutions conform to architectural requirements such as scalability, maintainability, reliability, extensibility, usability and security.
- Engage in all regular software development activities such as feature requirements, design, code, and test case reviews to ensure that the team delivers high quality code on time.
- Collaborate with team members in software development activities using the Scrum/Agile development process.
- Provide clear and complete documentation based on the definition of the software development process
Responsibilities:
• Develop, maintain, and optimize POS applications for Android devices (mobile and tablet).
• Collaborate with Product, UI/UX, and QA teams to deliver features from concept to release.
• Implement MVVM architecture and leverage modern Android frameworks such as Jetpack, Compose, and Coroutines to build scalable, maintainable applications.
• Integrate with payment systems, external peripherals, and third-party SDKs.
• Implement secure and reliable API integrations (RESTful services).
• Conduct code reviews, enforce coding standards, and follow best practices.
• Continuously evaluate and adopt emerging Android technologies to improve performance, security, and reliability.
Requirements:
• 3+ years of professional Android development experience.
• Proficient in Kotlin; familiarity with Java is a plus.
• Strong understanding of Material Design guidelines and experience building responsive UI for tablets.
• Experience integrating payment SDKs, POS hardware, or NFC-based payments.
• Comfortable working within a Scrum development environment.
• Excellent problem-solving skills and attention to detail.
Nice-to-Have:
• Experience with embedded Android development or Android-based payment terminals (e.g., Sunmi, PAX, Verifone).
• Expertise in offline-first architecture and data synchronization.
• Database experience with Room and LiveData.
• Experience working with WebSocket for real-time communication.
• Published apps on Google Play Store.
1. Mobile development
2. 應用資訊系統之規劃、設計、程式撰寫及維護。
3. 熟悉Visual Studio Code 使用經驗
4. 職務一:
A. 熟悉Codova 平台使用,或是具備 jQuery、HTML(HTML5)、CSS(CSS)、
jQuery Mobile經驗
B. 對程式架構、程式設計與 Codjng Style/Clean Code 等 Web 技術創建跨平臺移動
應用程式經驗,五年以上經驗。
C. 熟串接後端 Service/API、. 具良好協作與溝通能力
D. Git 版控經驗、 Jira使用經驗
E. 具 iOS or Android App 開發能力
5. 職務二:
A. 熟悉Flutter Dart 開發語言、Flutter套件或 widgets使用 (Material Design or
Cupertino Design),五年以上經驗。
B. 有後端Java 開發二年經驗。
C. 熟串接後端 Service/API、. 具良好協作與溝通能力
D. Git 版控經驗、 Jira使用經驗
E. 具 iOS or Android App 開發能力
Key Responsibilities
- Develop and optimize Android systems, including Android framework customizations, new services, and system applications.
- Deliver high-quality code, including automated unit tests.
- Create clear and comprehensive design documents and guidelines.
- Work closely with cross-functional teams (development, operations, product management) to ensure quality and security are integrated into all phases of the product lifecycle.
- Communicate technical risks and solutions effectively to stakeholders.
- Stay updated with the latest software technologies and integrate them into the system.
Qualifications
- Bachelor’s degree or above in Computer Science or a related field.
- 5+ years of experience in Android system software development.
- Proficiency in programming languages such as Java, C++, Kotlin, and Python.
- Strong communication skills and fluency in English and Mandarin.
- Ability to work independently in a global organization with tight deadlines.
- Excellent interpersonal skills, with the ability to collaborate effectively with diverse teams.
- Security knowledge and experience are a big plus. For example, integrating security functions from SoC (system on chip), security protocols, cryptography, secure boot, secure storage, firmware encryption, etc.
Must Have:
• Familiarity with developing sample apps for both Android and HTML5 + JS
• Ability to take sample apps and add customer-used APIs (Customization) to reproduce customer issues and collect logs for engr to debug.
• Able to host sample app sender and receiver in the cloud environment and reproduce.
• Good debugging skills
• Desirable (not mandatory requirements)
• Coding experience in JavaScript and Python.
• Familiarity with GitHub repos and adding/modifying content
• Familiarity with streaming media playback would be good, but not necessary
• Familiarity with Linux platform development
• Knowledge of media players, protocols, codecs, etc, will help a lot. It is not mandatory to have this skill, but it will be a big +Plus.
1. Responsible for testing and validating AI functionality on Android devices, including stability, compatibility, and functional correctness.
2. Maintain and optimize AI test code (primarily in C++), making platform-specific adjustments and performing debugging as needed.
3. Maintain and improve automated testing workflows (e.g., CI/CD pipelines, C++ test scripts, result dashboards) to enhance testing efficiency and reliability.
4. Perform manual or interactive command-line testing to reproduce edge scenarios, analyze anomalies, and collaborate with developers to resolve issues.
5. Write and modify SQL queries to support test data analysis and help produce reports and visual indicators.
6. Monitor test executions, analyze debugging info such as logcat/tombstone, assist in triage, and ensure smooth testing operations.
7. Collaborate with PMs and cross-functional teams to propose improvements in tools or processes, enhancing overall test quality and efficiency.
1. Android/Linux Platform BSP porting & debug
2. Android/Linux device driver porting & debug
3. Design and maintain manufacture test tool & debug
1.Work closely with cross-functional stakeholders in systems, controls, embedded platform, hardware, and test validation teams to define architecture, identify dependencies, and remove bottlenecks.
2.Manage task assignments and schedules for team members across multiple vehicle programs.
3. Design and improve concurrency system to improve performance.
4. Driver/framework programming, developing and debugging.
5. Design, create, implement infrastructure for testing and reviewing
6. Understand and examine the performance of each specific modules
7. Tracking and troubleshooting SW issues in developing stage and market feedback.
8. Intensive git submodule managing in the integrated project
9. Communicate with RD/Sales team for new product and existing product maintenance