Android Development
Skills:
Java, Kotlin, Android SDK, UI/UX Design, Firebase, RESTful APIs, SQLite, Git,
Company Overview
Collabdiary is an influencer marketing company based in Mumbai and Bangalore. With a team of 2-10 employees, the company specializes in the Technology, Information, and Media industry. For more information about Collabdiary, visit our website.
Job Overview
We are looking for a Senior Android Developer with 7 to 10 years of work experience to join our dynamic team. The position is flexible and can be full-time, part-time, remote, freelance, hybrid, contract, or contract-to-hire, based out of Patna, Guwahati, Ranchi, Bhubaneswar, Asansol, Mumbai, or Kolkata.
Key Skills
• Core Android Development:
• Proficiency in Java and Kotlin for Android development.
• Deep knowledge of Android SDK, APIs, and core components like Activities, Services, Broadcast Receivers, and Content Providers.
• Hands-on experience with UI/UX design principles, Android layouts, themes, and styles.
• Experience with Material Design and creating intuitive user interfaces.
• App Architecture:
• Expertise in MVVM, MVP, Clean Architecture, and Repository Patterns.
• Deep understanding of Jetpack components: LiveData, ViewModel, Navigation, DataBinding, etc.
• Version Control:
• Extensive experience with Git for version control and collaboration.
• Testing & Debugging:
• Proficient in using JUnit, Espresso, and Robolectric for unit and integration testing.
• Expertise in Crashlytics or Firebase Analytics for monitoring app crashes and performance.
• App Performance Optimization:
• Experience in optimizing apps for memory, battery usage, and smooth performance.
• Use of Profiling tools for memory, battery, and network optimization.
• Third-Party Integration:
• Experience with integrating third-party APIs, SDKs (Google, Firebase, Retrofit, OkHttp, etc.), and external services.
• Proficiency in RESTful APIs, GraphQL, JSON parsing, and WebSockets.
• Database Management:
• Hands-on experience with SQLite, Room Database, and real-time databases like Firebase Firestore.
• Expertise in caching and local data storage.
• Cloud and Push Notifications:
• Experience with Firebase Cloud Messaging (FCM) and Push Notifications.
• Knowledge of backend integration with services like AWS, Google Cloud, and Firebase.
• Play Console Management:
• Expertise in managing apps on Google Play Console, including releases, app signing, and user reviews.
Project Handling
• End-to-End Development:
• Experienced in managing the complete lifecycle of Android projects from ideation to deployment and maintenance.
• Capable of handling Agile project management methodologies, including Scrum and Kanban.
• Strong communication skills to coordinate with cross-functional teams, including UI/UX designers, backend developers, and QA testers.
• Release Management:
• Experienced in handling app releases through Google Play Console and managing App Bundles, APK uploads, and ensuring version control.
• Expertise in managing release tracks such as alpha, beta, production stages in the Play Console.
• Handling app updates, hotfixes, and ensuring smooth rollout without breaking live features.
Google Play Console Handling
• App Release and Management:
• Upload APKs and App Bundles, ensure correct versioning, and manage signing keys.
• Control alpha, beta, and production release tracks to gradually test new features.
• Use Staged Rollout to gradually release updates to a portion of the users, monitor for issues, and increase the percentage as confidence grows.
• User Feedback & Reviews:
• Actively monitor and respond to user feedback.
• Address issues highlighted in the reviews or bug reports and release updates based on user feedback.
• App Metrics and Performance Monitoring:
• Regularly check the Play Console metrics for crash reports, ANRs (Application Not Responding), and app performance insights.
• Use this data to improve app stability and optimize performance across different devices.
Testing & Release Process
• App Testing:
• Unit Testing using JUnit for individual component testing.
• Integration Testing using frameworks like Espresso for UI testing and end-to-end testing of app components.
• Automated Testing for CI/CD pipelines to ensure code stability across different versions and environments.
• Beta Testing and Testers Management:
• Run beta tests through the Play Console's beta release track to gather feedback before releasing an app to the public.
• Use Firebase Test Lab for automated testing on a wide range of real Android devices.
• App in Developer Mode:
• Keep the app in developer mode to restrict access to only development team members during testing.
• Use debug signing keys and debug builds for internal testing and development.
• Enable developer options on test devices, such as USB debugging, mock locations, and logging.
App In Test Mode
• Setting Up Test Environments:
• Create staging environments to mimic production conditions for testing purposes.
• Set up test servers and use mock APIs for features that arent ready to go live yet.
• Managing Testers:
• Add testers to closed testing tracks via the Play Console to receive test versions of the app.
• Monitor their feedback and app behavior during this phase.
• Testing in Various Stages:
• Use alpha/beta releases in the Play Console to distribute pre-release versions to select groups of testers.
• Incorporate features like internal testing for immediate team and open beta testing for a broader user base.
Releasing The App
• Staged Rollout:
• Use staged rollout to release the app gradually to a smaller percentage of users to ensure stability.
• Monitor feedback and crashes before increasing the rollout percentage.
• Final Release:
• Once testing is successful and no major issues are identified, promote the release to the production track.
• After the final release, ensure continued monitoring using Google Play Console and Firebase Analytics to handle post-release crashes or issues.