# Mobile App Development Technical Support Team
## Role Description
This guide describes the technical support team for our Mobile App Development course. This is a paid role for being our first line of defense as student questions come in, a crucial component of our remote course.
CodePath's Mobile App Development serves as an introductory course for students to gain a better understanding of mobile development. As such, the workload is on the lighter side. The course spans 8 weeks, with 4 of those weeks focused on coding labs. There is no assigned homework for each week, but students are required to complete the 4 coding labs at the end of the instruction week.
For the duration of the course, our students will be counting on you to...
1. **Check for incoming student questions frequently** (as a team, checking for questions every 4 hours or better)
- Slack channel for the course
- [Q&A discussions system](https://discussions.codepath.com) frequently
2. **Engage students asking questions**
- If you know the solution or the answer is straightforward, respond back via the discussion system by replying to their question or in the Slack channel (by starting a thread on Slack).
- If the question is unclear or you aren't sure how to solve, reach out to student directly via personal message in Slack
- If needed, jump into a screenshare with the student to help them solve their problem via a Slack call
3. **Investigate their issue**
- As needed, ask them to push their code to Github and direct message you the link
- Investigate their code by opening their repo in Android Studio or by reviewing code snippets they provide
4. **Working with them towards a solution**
- If you think you can help guide them to the solution themselves, start with that approach.
- If that fails for too long, then simply more directly help them to the answer and confirm they are unblocked.
- If needed, jump into a screenshare with the student to help them solve their problem via a Slack call
### Responsive Support
Our goal is for support to be as responsive as possible to make sure students aren't stuck for long periods of time. Try to check into Slack and the discussion system as frequently as you can. However, here are some general responsiveness guidelines:
* As a team, make sure to check in and help students **every 4 hours or more**. Don't let a student be blocked for longer than that.
### Payment
As part of the technical support team, you will be playing a critical role in making sure students get the help they need to succeed in the course, and develop each of the projects.
We will generally try to staff multiple people to help with this role so they can share the load of incoming questions. Each team member will be paid a base of $1000 for participating as long as they are able to provide accurate and responsive support to students.
-----------
## Guide to Providing Technical Support
You should be checking the various sources frequently for incoming questions to provide prompt responses. Be sure to check both possible sources (1) [discussion system](https://discussions.codepath.com) (2) questions posted on the class Slack channel.
If the question asked in support is generally applicable and relevant, consider adding the answer as a hint to the helpful hints guides for the code labs or adding to the guides.
Incoming questions/comments from students tend to take a few different forms:
- Questions regarding troubleshooting the Android Studio environment or emulator issues
- Questions regarding assistance on the project assignment when they’ve gotten stuck
- General technical questions unrelated to environment or homework, trying to better understand the concepts
- Tips people have uncovered that they want to share with others, or check that they did something correctly
### Android
#### The Art of Debugging
Usually students that are running into issues may not understand proper debugging techniques and as a result cannot "unstuck" themselves when basic issues come up in their apps. Be sure to check these guides yourself and recommend them to students:
* [Getting started debugging video](https://courses.codepath.com/course_videos/android_university_fast_track/youtube/HFkkLYuX2Do&list=PLrT2tZ9JRrf56sJBCbOq67hYLOB-2eUOB&index=3?title=Intro+to+Debugging+with+Android+Studio) - Walks user through debugging with Android
* [Solving problems in your Android app](https://tinyurl.com/codepathandroidproblemguide) - How to solve problems when they go wrong
* [How to ask questions and take screenshots](https://tinyurl.com/howtotakescreens) - How to ask effective technical questions
* [How to clean and rebuild your project](https://hackmd.io/s/rkTSyWCa7) - How to clean/rebuild in Android Studio
* [Debugging exceptions within your app](https://guides.codepath.com/android/Debugging-Exceptions-within-your-App) - Case study and guide on debugging.
When possible, help participants understand the process of debugging efficiently or asking for help clearly.
#### Troubleshooting Environment
When people are asking troubleshooting questions, these are typically issues with the emulator, Eclipse, compilation issues or errors in their projects. If applicable, be sure to refer them to the [Troubleshooting Guide](https://hackmd.io/s/r1KlxitOX). If their question is legitimate, confusing and generally applicable, consider adding the solution to the aforementioned guide for future access to other students.
#### Helpful Tutorial Content
Here are links to other helpful content to direct students to:
* [Unit 0](https://courses.codepath.org/courses/android_university/unit/0#!overview) - Has lots of links and content
* [Adding an Image to the Project README](https://tinyurl.com/codepathaddimagetoreadme)
* [Using Git from Android Studio - Main Guide](https://courses.codepath.com/courses/mobile_app_design/pages/android/github_how_to)
* [How to Connect an Android Studio Project to existing Github Repo](https://hackmd.io/s/ByHvrr9Am)