Wikimedia Discovery/Team/Onboarding/Matt

From mediawiki.org

Team page: Wikimedia Search Platform

Note that if you are seeing this in a page who's 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 more complete 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 another client that can be obtained via Office IT (they have a paid license).
    • Connect to Freenode and register your user name.
    • Join #wikimedia-discovery 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 we get bored of the tasks below and need a break.
    • If you get stuck on anything just shout in #wikimedia-discovery 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.
        • You may need to log into the VPN to access that URL. (OIT says it's sometimes necessary—it's voodoo)
        • You can log into Loomio and ZenDesk via your Google account.
      • Your Wikitech (see below) account/password (see below) is also your login for Phabricator and 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).
      • 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:
        • OIT (Office IT) 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.
  • If you need shell access to production systems, read Requesting shell access (this applies to shell access to production systems, not to lab).
  • Google Mail/Calendar
    • Follow the systems guide above and/or your On Boarding Confirmation email from OIT to get access to gmail and your calendar.
    • (Optional) In Gmail, enable Settings -> Labs -> Undo Send and press Save Changes. Go back to settings 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.
    • In Calendar go to Settings and (i) tick "Speedy Meetings" and (ii) set your work hours.
  • IRC (part two!)
  • Verify access to Office, Wikipedia, and Wikimedia Foundation with the appropriate WMF accounts.
    • These accounts will be created by OIT. 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.
  • Add yourself to the team page—twice: in the info box at the top of the page, and under the section "The team".
  • Subscribe to some mailing lists
  • 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.

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
  • 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 and #mediawiki_security <--- note the underscore. It has a history.
    • 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_Discovery/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 Ops related permissions, using https://wikitech.wikimedia.org/wiki/Ops_Onboarding as a template.
    • Create a Phabricator task for working through this worksheet. 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.
  • Loomio
    • I think you'll need to get invited into the WMF loomio group
    • And if you want to participate in the "Office Incubator", you'll need an invite for that too

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]

  • Erika Bjune, the manager of the Search Platform team. She is on US Pacific time.
    • Tell her 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 her that you found some errors in the instruction and fixed the template.
    • Just kidding.
    • Ask her 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.
    • She'll want to talk to you one on one a few times in the first week (if her agenda allows it).
  • Introduce yourself to Guillaume aka gehel aka MrG. He is your assigned mentor. He is on Central European (Summer) Time.
    • Ask him any question you want at any time.
    • Ask him about sign language.
    • Ask him to add you to the appropriate meetings.

First week or two[edit]

  • Deb aka debt, our Product Manager (among many other things). She is on US Mountain Daylight Time.
    • Speak to her about the product roadmap and goals of Search Platform and the Wikimedia Foundation
    • Ask her about how product works at the Foundation and with in the Search Platform team.
    • Wikimedia project overview - what are our projects and who uses them
  • Erik aka ebernhardson, one of our multi-talented software engineers. He is on US West Coast time.
    • Ask him about vagrant and ask him to show you how to run the browser tests.
    • Ask him what he's working on now.
  • Stas aka SMalyshev, our wikidata expert. He is on US West Coast time.
    • Ask him about what Wikidata is and what the Wikidata Query Service is.
    • Have him give you access to a public beta instance of it and walk you through running some queries.
  • David aka dcausse, our elasticsearch guru. He is on Central European (Summer) Time.
    • Ask him what he is working on now.
    • Ask him how mediawiki is integrated with elasticsearch.
  • Trey aka Trey314159, our linguist. He is on US Eastern Daylight Time.
    • Ask him to tell you a linguist joke. Laugh politely. Then admit you did not actually understand it.
    • Ask him how full text search works.
    • Ask him what crazy language he is working on at the moment.
  • Riccardo aka volans. He is on the SRE team, our Python and all over automation guru. He is on Central European (Summer) Time.
    • Ask him how is sailing adventure is going.
    • Ask him why type annotations in Python 3.7 are useless.
    • Ask him what cumin is and why it is the best automation tool ever.

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-discovery
Wikidata SMalyshev DanielK_WMDE, aude, Lydia_WMDE #wikidata
Wikidata Query SMalyshev SMalyshev #wikimedia-discovery
MediaWiki ebernhardson #wikimedia-dev
MediaWiki Job Runner AaronSchulz #mediawiki-core
git/gerrit Anyone in #wikimedia-discovery #mediawiki-releng
Jenkins ebernhardson hashar, zeljkof #mediawiki-releng
PHP ebernhardson, SMalyshev #wikimedia-discovery
Java SMalyshev / dcausse / gehel #wikimedia-discovery
Phabricator #wikimedia-releng
Discovery dashboards bearloga, chelsyx #wikimedia-discovery
Graphite / Grafana ebernhardson, dcausse, gehel
Cindy ebernhardson, dcausse, SMalyshev ebernhardson #wikimedia-discovery