Application on top of Wi-Fi Direct functionality on Android, using the Agile Scrum methodology.
We need to add an application on top of Wi-Fi Direct. We need to perform error handling for connections. When connection errors happen, both users in the connection should be notified. When the connection is ended on purpose, then both users should be notified. If the connection was not initiated by a user, we should try to re-establish the connection and resume from where we left off.
Any issues identified with previous functionality will have to be resolved.
The software should be modular and provide clean APIs to interface with applications.
Expertise and Skillset Requirements
Android application developer who is extremely well versed in all aspects of Android Java programming and App Testing. The application developer should be able to take a basic app framework, and adapt it for production use. The basic app framework, which is the starting point, will be provided on project initiation.
1. Knowledge of Android components, data structures, processes, threads, process lifecycle, and interprocess communication techniques is required.
2. Knowledge of Android test framework for Unit and Integration testing is required.
3. Development should be done in Android Studio preferably.
4. Anticipating and handing all error scenarios is a must.
5. Designing the app to be usable across multiple screen sizes and pixel densities is necessary.
6. The developer should deliver robust and high quality software.
7. Basic familiarity with Agile Scrum methodology (or other similar framework like Extreme or Iterative programming) is desired.
8. Excellent communication skills – written and verbal, in order to discuss design and implementation details.
Before starting software development for each Sprint, the developer should be able to describe and communicate the design (format is not important - flow charts, bubble diagrams or any other format can be used) to be implemented. Once the Sprint is complete, this design should be updated to capture the exact implementation, including how error scenarios are anticipated and handled. Unit Tests and Integration Tests should be documented and executed (using the Android Studio framework or any other suitable framework), and any issues that are found should be fixed, before delivery of software in each Sprint.