Discovery and Connection Setup for Wi-Fi Direct functionality on Android, using the Agile Scrum methodology.
The framework exists today, but it needs to be optimized and fine-tuned. It will serve as a good starting point. Known issues and bugs will have to be resolved.
The Connection Manager 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.