Wikimedia Discovery/Team/Onboarding

From mediawiki.org

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[edit]

The Guide for New Hires is a guide that complements this page.

First day[edit]

  • 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 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 #wikimedia-search connect
    • 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 you get bored of the tasks below and need a break.
    • If you get stuck on anything just shout in #wikimedia-search connect.
  • 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 its 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 mw:Phabricator/Help#Creating your account.
      • 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 default guest permissions to Modify event. (iii) Under the Working hours and location section, 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 Triage/Sprint Planning on Monday, The Wednesday Meeting™ on Wednesday, Talk to the Search Platform Team (once a month on Wednesday), Unmeeting on Wednesday, and Unmeeting (Friday Edition) & Gaming Unmeeting on alternating Fridays, and the Retrospective (every week on Thursday).
      • Department meetings: Monthly Tech Department Updates
  • IRC (part two!)
    • 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.

First few days[edit]

  • 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 vagrant up 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 cirrussearch role, run vagrant provision 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 git review 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.
    • 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[edit]

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[edit]

  • 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[edit]

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 Gulf 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 / Dubai.
    • Brian aka inflatador, Search Platform SRE. US Central Time
      • Ask him about Ansible or the Hashistack.
      • Ask him about his favorite pinball tables.
      • Ask him about rebooting an entire public cloud.

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[edit]

Search Team Contact Owner IRC Channel
MediaWiki-Vagrant ebernhardson bd808 #wikimedia-releng
CirrusSearch and Elasticsearch ebernhardson / dcausse ebernhardson / dcausse #wikimedia-search
Wikidata dcausse / gehel DanielK_WMDE, aude, Lydia_WMDE #wikidata
Wikidata Query dcausse / gehel dcausse #wikimedia-search
MediaWiki ebernhardson #wikimedia-dev
MediaWiki Job Runner #mediawiki-core
git/gerrit Anyone in #wikimedia-search #mediawiki-releng
Jenkins ebernhardson, gehel hashar, zeljkof #mediawiki-releng
PHP ebernhardson #wikimedia-search
Java dcausse, gehel #wikimedia-search
Phabricator mpham mw:Talk:Phabricator/Help for general public questions.
User:AKlapper (WMF) for general non-public questions.
#wikimedia-releng
Graphite / Grafana ebernhardson, dcausse, gehel #wikimedia-operations
Cindy ebernhardson, dcausse ebernhardson #wikimedia-search
Asana mpham, cbogen #wikimedia-search