Submissions/Who's doing what at WMF Engineering?
This submission is on the wait list for Wikimania 2013.
- Submission no.
- Subject no.
- Title of the submission
- Who's doing what at WMF Engineering?
- Type of submission
- Author of the submission
- Sumana Harihareswara
- Country of origin
- Wikimedia Foundation
- E-mail address
- Sharihareswara (WMF)
- Personal homepage or blog
- 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.
- Technology and Infrastructure
- Length of presentation/talk
- 25 minutes
- Language of presentation/talk
- Will you attend Wikimania if your submission is not accepted?
- Slides or further information (optional)
- Special requests
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. (~~~~).