Template:Readers/Software Engineer onboarding

Hire

 * Copy this page somewhere and strike through items as you work through them.
 * Write up an introduction email for yourself written in the third person, and send it to your manager for review, so your manager can share on the staff mailing list.
 * Read the guide for new hires, including the tech orientation
 * (Optional) In Gmail, enable Settings > General (tab) > Undo Send and change the timeout to 30 seconds and press Save Changes
 * Schedule staff photo
 * Setup IRC . Join #wikimedia-staff (requires invitation), #wikimedia-office, #wikimedia-mobile, #wikimedia-operations IRC channels. Review other channels for your interests. Attach an IRC cloak.
 * Review our guide to the various Wikimedia wikis.
 * Verify WMF access to Gmail, Wikitech (LDAP), Office (standalone), Wikipedia / MediaWiki.org (SUL), and Wikimedia Foundation (standalone)
 * https://lists.wikimedia.org/
 * Subscribe to mobile-l with Wikimedia email. Default list for discussions for mobile-related or Readers audience vertical topics.
 * Subscribe to wikitech-l with Wikimedia email. Default list for tech discussions on Wikimedia and MediaWiki software.
 * Subscribe to mediawiki-api and mediawiki-api-announce with Wikimedia email. Lists about internet facing APIs.
 * Subscribe to analytics with Wikimedia email. Lists about analytics.
 * Verify access to engineering list with Wikimedia email. Public facing list for all software engineers. Contact Rachel F if you still need access.
 * Use internal Google Groups to subscribe to the newreaders list.
 * 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 and operational logs. Request access to "request logs, including Hive, and event logging", as referenced in the data access guidelines.
 * If you will be doing deployment related work (typically, for web engineering and content services), request "deployment access and operational logs access" when following the steps for shell access.
 * Apply for beta cluster 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, values , and roles and responsibilities
 * Read about Readers
 * Read the latest Readers strategy, quarterly goals , WMF annual plan , and New Readers progress
 * Read The Wikipedia Revolution and Debugging Teams: Better Productivity through Collaboration (Brian W. Fitzpatrick and Ben Collins-Sussman)
 * Watch this video of Joel Spolsky at Wikimedia
 * Review the most recent Readers quarterly check-in (as of 25-Apr-2017, Wikimedia_Foundation_Annual_Plan/Quarterly_check-ins/TPG_Reading_Comm-Tech_April_2017)
 * Set meetings with product managers and program managers to learn about products and programs: Web (Olga V), iOS (Josh M), Android (Josh M w/ tech lead Dmitry B), Multimedia (Ramsey I w/ acting product owner while Ramsey ramps up, Adam B), New Readers program (Anne G), Structured Data on Commons program (Amanda B)
 * Set one time meetings with all Readers engineers to say hi
 * Scan the English Wikipedia Village Pumps, Commons Village Pump + related Commons pages
 * Starting on making 50 edits - MediaWiki.org and Office Wiki are simplest for your work account. Remember, your personal edits on project wikis are your personal edits. Some help: Help:Wiki markup, Help:Wikitext examples

Admin

 * Assign to the following calendars: "WMF Staff Calendar", "WMF Engineering", "WMF Sick/Vacation Tracking Calendar", and if in San Francisco "WMF Fun & Learning"

= Team =
 * Scrummaster
 * With admin, add to relevant calendar invites: Standup, Weekly meetings, etc. (e.g., Reading Web)
 * Add to relevant team page on mediawiki.org
 * Explain team development cycle (e.g., Reading Web), project management tools, Phabricator workflow and meeting scheduling (checking individual calendars and room availability, etc)
 * Check-in meeting/agile orientation
 * Product Manager
 * Introduce to team members who haven't met new software engineer
 * Product overview
 * Testing overview - in house and Specialists Guild
 * Wikimedia project overview - what are our projects and who uses them
 * Director
 * Subscribe to reading-wmf. Use for administrivia (vacation, missed meetings, standup status)
 * Ask Engineering Admin to add to product-all
 * Setup on team internal mailing list
 * 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, Design Research
 * UX / Design overview
 * Design research overview
 * Tech Lead
 * Explore Gerrit workflow. Review Gerrit tutorial . Install git-review.
 * Suggest appropriate Gerrit review group(s).
 * Explore GitHub workflow.
 * Review internet facing APIs
 * Guide through setup of Vagrant
 * Explain MobileFrontend (Reading Web tech lead should explain)
 * Explain Mobile Content Service (Mobile Content Service engineering point of contact)
 * Community Liaison, Technical Collaboration
 * Facilitating communications from and to the WMF's Product and Engineering departments
 * Assisting with testing, bug filing, documentation writing
 * Delivering announcements, news, and feedback
 * Engaging translators for the user interface and for documentation
 * Everyone
 * Take a pause and let them explore

= Welcome Email =

Greetings,

If you're reading this then you're likely a new member of the Readers audience vertical at the Wikimedia Foundation. Welcome! We're really excited to have you join us and want to make your first days/weeks/months both productive and fun. Here are some quick links to get you started.

Our team: https://wikimediafoundation.org/wiki/Staff_and_contractors#Readers

Team portal: http://www.mediawiki.org/wiki/Readers

Chat: IRC #wikimedia-mobile (freenode)

Code: MobileFrontend Extension: https://www.mediawiki.org/wiki/Extension:MobileFrontend Android App: https://gerrit.wikimedia.org/r/#/admin/projects/apps/android/wikipedia iOS App: https://github.com/wikimedia/wikipedia-ios And there's more!

Email: mobile-l@lists.wikimedia.org (Public default discussion list) wikitech-l@lists.wikimedia.org (Public technical discussion list) mediawiki-api@lists.wikimedia.org (Public technical discussion list) mediawiki-api-announce@lists.wikimedia.org (Public API announcements list) analytics@lists.wikimedia.org (Public analytics list) reading-wmf (Internal administrivia)

Other useful links: How to become a MediaWiki hacker: https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker

Guide to using Git and Gerrit for MediaWiki development: https://www.mediawiki.org/wiki/Gerrit/Getting_started

Coding conventions: https://www.mediawiki.org/wiki/Manual:Coding_conventions

Security for developers: https://www.mediawiki.org/wiki/Security_for_developers

How to localize MediaWiki software: https://www.mediawiki.org/wiki/Localisation

Wikimedia Bugs: https://https://phabricator.wikimedia.org/

MediaWiki.org (MediaWiki documentation): https://www.mediawiki.org/wiki/MediaWiki

Wikitech (Wikimedia internal documentation): https://wikitech.wikimedia.org/wiki/Main_Page

Office Wiki: https://office.wikimedia.org/wiki/Main_Page

If you get lost or are confused about what you should be doing then grab one of your new teammates and chat over coffee, tea, milk, water, beer, etc.

We're happy to have you with us!