Wikimedia Apps/Team/Onboarding

( Based on: https://www.mediawiki.org/wiki/Mobile_web/Team/Onboarding )

Apps team: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team

= Hire =
 * Read the guide for new hires, including the tech orientation
 * (Optional) In Gmail, enable Settings -> Labs -> Undo Send and press Save Changes. Go back to settings and change the timeout to 30 seconds
 * Schedule staff photo
 * Join the #wikimedia-office and #wikimedia-staff (requires invitation) IRC channels
 * Verify WMF access to Gmail, Wikitech (LDAP), Office (SUL), Wikipedia (SUL), and Wikimedia Foundation (SUL)
 * https://lists.wikimedia.org/
 * Subscribe to mobile-l with Wikimedia email. Default list for discussions for mobile-related or Reading audience vertical topics.
 * Subscribe to wikitech-l with Wikimedia email. Default list for all tech discussions about MediaWiki in general.
 * Subscribe to mediawiki-api and mediawiki-api-announce with Wikimedia email. Lists for hosted APIs, which the apps use.

= Admin =
 * Assign to the following calendars: "WMF Staff Calendar", "WMF Sick/Vacation Tracking Calendar", and "WMF Fun & Learning"

= Apps Software Developer Onboarding (Tech) =
 * Hire
 * Review HR's onboarding page
 * Setup your account for Wikitech and Gerrit following How to become a MediaWiki hacker instructions. Commonly, the username you use is your internet handle (i.e., not a (WMF) username), but you will want to use your @wikimedia.org email address for the email address to receive Gerrit email notifications.
 * Apply for access to stat servers (currently stat1002 and stat1003)
 * Apply for event logging access
 * Fix a small bug. Plenty abound, we can pick one as time gets nearer. Get the patch through Gerrit / GitHub and get it merged.
 * Fix a couple more small bugs to get a clearer idea of how things are
 * Take up a card for a full feature and implement it
 * Review team norms and values (Team, first retrospective after start date)
 * Scrummaster
 * With admin, add to relevant calendar invites: Standup, Weekly meetings, etc
 * Add to relevant team page on mediawiki.org
 * Explain team development cycle, project management tools , Phabricator workflow and meeting scheduling (checking individual calendars and room availability, etc)
 * Check-in meeting/agile orientation


 * Product Manager
 * Introduce to mobile apps team members who haven't met new developer
 * Product overview
 * Testing overview - in house and Specialists Guild
 * Wikimedia project overview - what are our projects and who uses them


 * Manager
 * Subscribe to reading-wmf. Use for administrivia (vacation, missed meetings, standup status)
 * Organisational overview - who the teams at the WMF are, and what they do
 * Values / Lessons learned (Analytics and data privacy as example of our values changing the way we have to approach certain problems, also flood-of-emails issue)


 * Designer
 * UX / Design overview
 * Design Research / Prototypes
 * Design research and prototyping labs overview


 * Tech Lead
 * Setup on team internal mailing list
 * Setup IRC . Setup on common wiki channels . Attach an IRC cloak.
 * Explore Gerrit workflow. Review Gerrit tutorial . Install "Git review".
 * Explore GitHub workflow.
 * Review api.php and RESTbase
 * Subscribe to the appropriate Gerrit review group(s).
 * Everyone
 * Take a pause and let them explore

= Onboarding (iOS specific) =
 * Architecture overview - AutoLayout, Storyboards, careful use of promises etc.
 * Data objects overview
 * Networking objects overview
 * Must-haves overview - version compatibility, autosizing text labels, landscape / portrait compatibility, tablet scaling, careful text truncation, etc

= Onboarding (Android specific) =
 * Architecture overview (Dmitry/Bernd)
 * Libraries used (okhttp, picasso, acra, photoview, etc.)
 * JavaScript bridge
 * Grunt, JavaScript bundle generation
 * Overview of scripts (Dmitry/Bernd)
 * Fetching CSS assets from betalabs and/or vagrant
 * Generating PNG assets from SVGs
 * Building release APKs (beta/production/custom channels)
 * Request access to caesium (to deploy to releases.wikimedia.org)
 * Grant access to Play Store dev console (Adam)
 * (Optional) Subscribe to Play Store dev console alerts: Settings > Email preferences (hire)
 * Overview of TranslateWiki and our TWN sync process (Bernd)
 * (Optional) Add the Android SDK Search Chromium / Chrome extension.

= References =