Wikimedia Discovery/Team/Onboarding

Team page: Wikimedia Search Platform (FYI: Lots of stuff here is named "Discovery", which was the team that was the precursor to the current Search Platform Team. Renaming stuff is hard.)

Note that if you are seeing this in a page whose URL ends in /YourName then you should feel free to strike through the steps as you finish them. If you find an error in the instructions then go fix them on the template.

= Things to do on your own = The Guide for New Hires is a more complete guide that complements this page.

First day

 * IRC
 * Get an IRC client. Some people like Quassel. weechat and irssi are good if you like text interfaces (or textual on Mac). IRCCloud is a browser-based client that can be obtained via [mailto:techsupport@wikimedia.org IT Services] (they have a paid license).
 * If you aren't familiar with IRC, IRCCloud is easy plus it keeps messages while you are disconnected.
 * Connect to the IRC server and register your username.
 * Join
 * The rest of the team will be in there and we'll use this room to keep up with you.
 * Skim the "People to meet/First day" section below and keep some of the irc names in mind. Chat with them when we get bored of the tasks below and need a break.
 * If you get stuck on anything just shout in.
 * Have a quick glance at the section of this page title "Who to ask if stuff doesn't work". You should refer to it if stuff doesn't work.
 * Also, remember to update the template with any better information or useful tips you discover.


 * Password Management
 * You are about to get approximately one billion new passwords. You might want to set up a Password Management tool.
 * Wikimedia Password Notes
 * Your Google Apps / Gmail / Calendar password can be reset here.
 * Your first login to Google Apps / Gmail / Calendar might require a 2-step authentication. Contact the person who sent you the onboarding email, they should be able to help you.
 * Your Wikitech (see below) account/password (see below) is also your login for Gerrit
 * office.wikimedia.org has it's own password
 * mediawiki.org, en.wikipedia.org, etc, share a password (see "View global account info" under your Wikipedia prefs).
 * For Phabricator login you can use both your mediawiki.org account (preferred) or your Wikitech account. See Phabricator/Help.
 * When you start signing up for mailing lists (see below), request a password reset for one of them, then choose a password you like for that one, but check the "change globally" checkbox and they'll all get that password. For reasons we won't get into here, the mailing list passwords are stored in plain text and emailed to you monthly. Please use a *unique* password for mailing lists.
 * Note that "LDAP" is not unique:
 * ITS (IT Services) uses LDAP to refer to your Google Apps password.
 * Your Wikitech password is called LDAP in some places.
 * These are not the same LDAP systems and so not necessarily the same password—oh, the confusion!


 * NOTE: Some of these tasks can be found by reading the new hire information but we've made an effort to grab the important bits.
 * Read the Systems Guide for New Hires.
 * Read Remoties and Communication Best Practices.
 * If you need shell access to production systems, read Requesting shell access (this applies to shell access to production systems, not to Wikimedia Could Services).
 * Google Mail/Calendar
 * Follow the systems guide above and/or your On Boarding Confirmation email from ITS to get access to gmail and your calendar.
 * (Optional) In Gmail, go to Settings → General → Undo Send and change the timeout to 30 seconds.
 * Add these calendars to your calendar calendars: "WMF Staff Calendar" and "WMF Fun & Learning".
 * The WMF Fun & Learning calendar isn't super useful for remote employees, FYI.
 * You can also add calendars for other people on the team, especially people you will work with closely, so you can easily toggle their schedule on/off in your calendar.
 * In Calendar go to Settings and (i) tick "Speedy Meetings" and (ii) set your work hours.
 * Also read our Google Calendar doc, apply at least the minimum configuration
 * Make sure you've been invited to our meetings:
 * Team meetings: Search Platform Triaging and Sprint Planning on Monday, Elastic Search Stuff on Wednesday ("the Wednesday meeting"), Office Hours (once a month on Wednesday), Unmeeting / Gaming Unmeeting on Wednesday and Friday, and the Retrospective (every 2 weeks on Thursday).
 * Department meetings: Monthly Tech Department Updates
 * IRC (part two!)
 * Join, , , , , ,
 * Learn about cloaks and request one (this is important to get!).
 * It can take a few days for the cloak stuff to be resolved.
 * Be sure to get your "diff" on a public wiki (not the office wiki).
 * Verify access to Office, Wikipedia, and Wikimedia Foundation with the appropriate WMF accounts.
 * These accounts will be created by ITS. Email techsupport@wikimedia.org if you don't get email with login info.
 * Create a Wikitech account
 * Beware: it seems to want to uppercase the first letter of your username whether you like it or not.
 * Schedule staff photo (just list your name here)
 * Or you can list yourself as not wanting to have your photo up by adding your name under the cloak of invisibility list.
 * Create your user page on Meta so people can know who they interact with. The magic of Extension:GlobalUserPage should make it available to other wikis.
 * Here's how you create a user page. Go ahead and make your office wiki page while you're at it.
 * Add yourself to the team page—twice: in the info box at the top of the page, and under the section "The team" and link to your page that you just created.
 * Subscribe to some mailing lists
 * The public search list
 * The private search list
 * The alert list (if that seems applicable to you)
 * Wikitech-l the Newspaper of record for changes to MediaWiki.
 * Make sure you sign up for the "foundation-optional" list; it isn't really optional, it should have been named "foundation-discussion", but naming things is hard.
 * Slack
 * Ask someone to add you to the #technology-department channel (you'll automatically be added to the #general channel once you join with your WMF account).

First few days

 * git
 * Read the tutorial on our git/gerrit workflow.
 * Install git.
 * Install git-review.
 * Add yourself to some Gerrit review group(s).
 * Skip down to the section on MediaWiki-Vagrant and start on that. When you run  for the first time it'll take a long, long while. So come back and continue from here while you wait for that.
 * Read How to become a MediaWiki hacker.
 * Install MediaWiki-Vagrant
 * After you verify that you can create pages and such add the  role, run   and try searching
 * Install Java 8 and Java 11
 * Work on something small!
 * You can ask anyone for an issue to work on but officially your point of contact for this is Guillaume.
 * Submit the patch using  and add anyone on the team as a reviewer.
 * Try to pick something that seems small so that you get used to the code review process quickly but don't worry if you can't finish it in a day or a week.
 * It's likely that you won't get a response immediately when you push a patch for review. That's normal. You can continue other things in this document or grab another bug, whatever feels right to you.
 * Ask for help if you need it!
 * IRC (part three!)
 * Once you have a cloak you can join/get invited to #wikimedia-staff.
 * If you know what an IRC bouncer is, get one of those and set it up so you are "always on"
 * If not, talk to someone about getting a WMF account on IRCCloud.
 * We have a saying: "If it didn't happen on the mailing list, it didn't happen"—so important stuff should be on the public or private mailing list—but it's polite to check back on IRC when you've been away (hence the need for a bouncer or IRCCloud).
 * See also https://www.mediawiki.org/wiki/Wikimedia_Search_Platform/Process#Communication
 * Phabricator
 * Set up your Phabricator account. Follow these instructions to set up your account.
 * Now you need to get yourself added to the WMF-NDA project. This will allow you to view certain tasks which are hidden to people who haven't signed a WMF NDA. Employees had to sign an NDA, so assuming you are an employee, this should go smoothly.
 * In your phabricator profile, make sure your phabricator account is associated with your MediaWiki user account.
 * Create a task titled "Add (your phab username) to #wmf-nda", and add the WMF-NDA-Requests project. Mention in the description that you are an employee. It's OK to leave the "Assigned To" field empty since project members will see the request.
 * Add yourself as a member of the Discovery Phabricator Project.
 * Create a Phabricator task for working through this worksheet and add it to the Epic for your onboarding. Assign it to yourself and attach it to a semi-relevant sprint, then move it to the "In Progress" column of that sprint's workboard. Read more about our development process.
 * If you're not a Wikipedia editor yet, ask someone on the team to give you an introduction.
 * Get access to Cloud VPS instances: https://wikitech.wikimedia.org/wiki/Help:Accessing_Cloud_VPS_instances
 * Horizon
 * Set up your horizon account, see instructions here

= People to meet and things to do with them = You'll want to meet these people soon, some on the first day! You should probably introduce yourself over IRC and ask to schedule a Google hangout with them.

The goal of this section is to meet some of your team mates and learn how the team fits together. Hopefully you'll talk to everyone on the team one on one for about thirty minutes over the first week or two and a few key people on your first day.

First day

 * Guillaume Lederrey—aka gehel aka MrG—the manager of the Search Platform team. He is on Central European Time.
 * Tell him everything is going great and that the instructions are easy to follow but you are still overwhelmed by the reading you have to do.
 * Tell him that you found some errors in the instruction and fixed the template.
 * Just kidding.
 * Ask him to give you an overview of how the Foundation is organized, teams and such.
 * Also ask about how the Search Platform team is organized internally.
 * Ask him about sign language.
 * Ask him about how much fun rolling restarts are.
 * He'll want to talk to you one on one a few times in the first week (if his agenda allows it).

First week or two
Ask everyone about their experience working on a fully remote team. Also ask them about their favorite browser extensions that you should install!


 * Carly aka cbogen, our Program Manager for Structured Data. She is on US Eastern Time.
 * Ask her about the Structured Data Across Wikimedia (SDAW) program.
 * Ask her about how the Search team and Structured Data team work together.
 * Optional: Ask her about roller derby.
 * David aka dcausse, our elasticsearch guru. He is on Central European Time.
 * Ask him what he is working on now.
 * Ask him how mediawiki is integrated with elasticsearch.
 * Optional: Ask him about rock climbing.
 * Deb aka debt, our former Product Manager and now Program Manager for the Technology Department. She is on US Mountain Time.
 * Ask her about how the Search Platform team interacts with the overall Technology Department.
 * Ask her any questions on navigating the Technology Department and / or the Wikimedia Foundation.
 * Ask her for tips on building strong community relations.
 * Optional: Ask her about biking.
 * Erik aka ebernhardson, our staff software engineer. He is on US Pacific Time.
 * Ask him about our data pipelines.
 * Ask him about operating elasticsearch clusters.
 * Ask him about how machine learned ranking works.
 * Optional: Ask him what video games he's playing these days.
 * Ryan aka ryankemper, our site reliability engineer. He is on US Pacific Time.
 * Ask him what he's working on.
 * Ask him about what makes Elasticsearch beautiful.
 * Ask him what kind of music he likes
 * Optional: Ask him about his self-described "weird research interests".
 * Trey aka Trey314159, our computational linguist. He is on US Eastern Time.
 * Ask him how full text search works.
 * Ask him what interesting language he is working on at the moment.
 * Optional: Ask him about geocaching.
 * Mike (he/him) aka mpham aka mttp, our product manager. He is on different US timezones.
 * Ask him about team objectives.
 * Ask him about how users use search or are unable to.
 * Optional: Ask him about fun verbs in languages he's learned or worked on.
 * Emmanuel aka ejoseph, one of our software engineers. He is on West Africa Standard Time.
 * Ask him about navigating the Foundation as a new employee.
 * Ask him what tips he might have regarding onboarding.
 * Ask him about life in Nigeria
 * Brian aka inflatador

You can see everyone's time zones at once here. Make sure Trey adds you to the list.

= Who to ask if stuff doesn't work =