Template:Readers/Software Engineer onboarding

This template is to be used to track onboarding of new hires in the Readers department at the Wikimedia Foundation.

Instructions
Go to a unique page in your userspace, e.g. Special:MyPage/Onboarding, and substitute this template onto that page with the relevant template arguments.

If you are a manager of a new hire, it's suggested to create the hire's tracking page for them - go to their userspace and do the substitution for them, to avoid potential confusion related to Too Much Wikitext, Too Soon. You may also want to create pages for the various other team members listed below to reduce distribution of work - but make sure you tell them to check the page(s) so they can get to the work!

Usage
This template is meant for substitution, not transclusion.

The first (non-named) argument is the role of the person tracking their own tasks. Accepted values:
 * hire
 * scrummaster
 * director
 * manager
 * design (use for designer or design research roles)
 * techlead
 * productmanager

The second (non-named) argument is the name of the person being onboarded.

The third (non-named) argument is the name of the person using this tracking page. Can be omitted if this is the hire's page.

The named argument 'team' can be used for team-specific instructions. Currently, these teams have team-specific instructions, and can be passed as arguments:
 * web

Examples
As a new hire tracking your own onboarding tasks:

hire

As a manager tracking a new hire's onboarding:

manager

As a manager tracking onboarding for a new member of the web team:

manager

This is the tracking page for onboarding process.

{{#switch:{{{1}}}
 * hire = == Required ==


 * Read the guide for new hires, including the guide for new engineering staff.
 * Review our guide to the various Wikimedia wikis.
 * Verify access to Gmail (@wikimedia.org), Office (standalone), and Wikipedia / MediaWiki.org (same account via single user login).
 * Create a Wikitech LDAP account. 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.
 * Verify that you can log into Phabricator with your Wikitech LDAP account. If you run into any issues, refer to this help document. See generally Phabricator for more documentation and tips.
 * Request access to the group ldap/wmf, adding your manager to the access request task for approval. This group gives you more code review approval rights in the system as well as access to myriad different tools and services
 * Become a MediaWiki hacker and verify access to Gerrit using your Wikitech LDAP account.
 * Set up IRC. Join the #wikimedia-staff (requires invitation), #wikimedia-mobile, and #wikimedia-operations channels (#wikimedia-office is also helpful for some public events). Review other channels for your interests. Attach an IRC cloak. If you don't already have an IRC client, consider using IRCCloud, a web-based client popular among Foundation staff.
 * View the data training modules. Ask your manager for the links.
 * Subscribe to the following lists on https://lists.wikimedia.org/ with your Wikimedia email address.
 * mobile-l - Default list for discussions for mobile-related or Readers audience vertical topics.
 * wikitech-l - Default list for tech discussions on Wikimedia and MediaWiki software.
 * mediawiki-api and mediawiki-api-announce - Lists about internet facing APIs.
 * engineering - Public facing list for all software engineers. You should already be subscribed to this list. Contact OIT if you still need access.
 * Write up an introduction email for yourself written in the first or third person, and send it to your manager for review, so your manager can share on the internal product wide mailing list and forward to the Foundation wide optional mailing list.
 * Read about the Movement Strategy.
 * Read the Medium Term Plan.
 * Read the WMF annual plan for FY 2018-2019 (June 2018 - July 2019)
 * Read Debugging Teams: Better Productivity through Collaboration (Brian W. Fitzpatrick and Ben Collins-Sussman)
 * Start on making 50 edits on a broad range of user agents, form factors, network conditions, etc. - 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

Required for some
Verify with your manager which of these apply to you:


 * Request access to one of the data access groups. Consult your manager to figure out the appropriate group(s) and add them to the access request task for approval. This will allow you to access analytics data. Ensure that you have also read the data access guidelines.
 * Apply for beta cluster event logging access for debugging analytics data submission.
 * Request access to OTRS, our system for customer support requests, by emailing [mailto:otrs-admins@lists.wikimedia.org otrs-admins@lists.wikimedia.org].
 * 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.
 * Set up Slack, and join any team channel(s) that may be applicable (and some general-interest ones if you like)

== Strongly recommended ==


 * Set meetings with product managers and program managers to learn about products and programs: Web (Olga V), iOS (Josh M), Android (Charlotte G), Multimedia (Ramsey I), New Readers program (Anne G), Structured Data on Commons program (Amanda B), Platform Evolution program (Corey F)
 * Set one time meetings with all Readers engineering engineers and managers to say hi - one every other day is a good tempo
 * Scan the English Wikipedia Village Pumps and Commons Village Pump
 * Read The Wikipedia Revolution

If you like

 * Arrange for a staff photo. It's not required,
 * In Gmail, enable Settings > General (tab) > Undo Send and change the timeout to 30 seconds and press Save Change
 * Watch this video of Joel Spolsky at Wikimedia
 * Subscribe to the following lists on https://lists.wikimedia.org/ with your Wikimedia email address.
 * analytics - List about analytics.
 * newreaders - Public discussion about New Readers.
 * Read some blog posts, like Why it took a long time to build that tiny link preview on Wikipedia.
 * Review recent quarterly check-in decks for Audiences
 * Read about Readers

Out of office

 * 1) Verify the dates you'll be out with your team and your manager.
 * 2) Request time off in Namely.
 * 3) Make an out of office event on your personal calendar that spans the time you'll be out. Ensure "Automatically decline new and existing meetings" is checked.
 * 4) Make an event on your team calendar indicating you’ll be out. Ensure "All-day" is checked and have it span all days you'll be out.
 * 5) Set your Gmail vacation responder with a message that indicates that you're out of office, when you'll return, and contact information of your delegate(s) for urgent issues regarding your work. Ensure that "Only send a response to people in Wikimedia Foundation" is checked.

{{#ifeq:{{{1}}}|manager|
 * 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
 * productmanager = * 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)
 * Discuss career development and open lines of communication, first six months, privacy/security principles and techniques, email/chat clients/calendar productivity tips
 * manager = * Create pages for all members of the onboarding team
 * Ask Engineering Admin to add to product-all, plus the following calendars:"WMF Engineering", and if in San Francisco "WMF Fun & Learning".
 * Ask HR to add "WMF Staff Calendar"
 * Setup on team internal mailing list
 * design = * UX / Design overview
 * Design research overview
 * techlead = * 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)}}

Welcome Email
Send the below, possibly modified, to the new hire sometime (3-7 business days) before they arrive.

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://github.com/wikimedia/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, yerba maté, milk, water, beer, etc.

We're happy to have you with us! }}