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.