Submissions/Who's doing what at WMF Engineering?

From Wikimania 2013 • Hong Kong
Jump to navigation Jump to search
Symbol wait.svg

This submission is on the wait list for Wikimania 2013.

Submission no. 
5074
Subject no. 
T5
Title of the submission
Who's doing what at WMF Engineering?
Type of submission
Presentation
Author of the submission
Sumana Harihareswara
Country of origin
USA
Affiliation
Wikimedia Foundation
E-mail address
sumanah@wikimedia.org
Username
Sharihareswara (WMF)
Personal homepage or blog
harihareswara.net
Abstract
Do you wonder what the groups in the Wikimedia Foundation's engineering department do? I will explain what each team does, including Platform, Operations, Mobile, Features, Product, Analytics, and Language.
Detailed proposal

We're such a huge software project and institution with so many nooks and crannies that I cannot possibly hope to COVER everything, but I can at least give an overview of what it takes to make this software & deliver it to the users. This way you'll also learn about what different skills are necessary, including like release management, systems administration, bug triage, community management, user experience design & product management, testing & QA automation & process work.

Our main goal is to keep our websites up and serving our readers & contributors. So we have a strong systems administration team (Operations), which is unusual in open source. They automate, monitor, troubleshoot, profile, increase capacity, upgrade, and more.

There are a few ways and reasons that our developers add code to our repositories. First, there are multi-person projects where designers, product managers, developers, testers, and system administrators work together, often including some volunteers or interns as well as WMF staffers and contractors. But we also have single-person or small-team projects, often with a mix of paid and volunteer developers. I'll give examples, and discuss security as well.

In internationalisation/localisation/language engineering, we need to make the software translatable. We also help people do that translation and ensure those translations get deployed quickly, and also need to help people actually use the software in multiple languages & input entry methods.

Our mobile team works to make sure our sites work well on mobile devices (via Wikipedia Zero, dedicated iOS and Android apps, and the mobile-optimized version of MediaWiki).

Quality assurance is a big topic; we maintain a test environment and some automated tests that try to find problems before users would see them. We also need to make sure that our bug database is useful to us -- that every bug report is reproducible, properly prioritized, and actually specifies a bit of work a developer could do. So we have a fulltime bug wrangler who works with volunteers to manage bug reports & feature requests.

What about deciding when a new version of the software should go up on the website? Well, right now we have a multistage "deployment" process -- our Roadmap demonstrates how we upgrade smaller and less visible sites first, then check for bugs, then to English Wikipedia & other Wikipedias. Our release manager looks for bad bugs that need solving before the next upgrade of the code on Wikimedia sites, and is trying to make it so that it's not just "let's run the upgrade script every few days" -- instead we'll be doing "continuous integration" where the sites get updated every time a new commit gets merged into master.

I'll cover all that and ask for questions.

Track
Technology and Infrastructure
Length of presentation/talk
25 minutes
Language of presentation/talk
English
Will you attend Wikimania if your submission is not accepted?
Yes
Slides or further information (optional)
Special requests


Interested attendees

If you are interested in attending this session, please sign with your username below. This will help reviewers to decide which sessions are of high interest. Sign with four tildes. (~~~~).

  1. MarkTraceur (talk) 19:09, 2 May 2013 (UTC)
  2. Waldir (talk) 01:10, 3 August 2013 (UTC)
  3. Add your username here.