Software Engineer (Parsing)

  • Wikimedia Foundation
  • Jun 09, 2017
Full time Internet Services Non-profit-Social Services Technology Other

Job Description

Summary

Wikimedia Foundation is looking for an experienced Software Engineer to join the Parsing Team in the Contributors Department where we build collaborative, inclusive tools for creating and editing free knowledge.

On the Parsing team, we are responsible for supporting and evolving all things wikitext, the markup language behind Wikipedia. We aim to make wikitext easier to write, faster to parse, and less error-prone. We also strive to support editing and content analysis tools without their needing to parse wikitext.

We currently maintain two different parsers with different architectures, functionality and clients. Each of these parsers have to handle 200 parse requests/second. One of our current goals is to consolidate the parsing infrastructure around a single parser serving all clients and functionality without degrading performance. Low parse times are quite important, especially during breaking events when some pages are rapidly edited.

You will be part of a team tackling the challenging problem of evolving the parsing infrastructure and wikitext semantics without breaking the enormous corpus of the wikipedias or negatively impacting parse performance. In the process, you will be supporting other teams working on editing and rendering products and tools.

 

Responsibilities

  • Fixing bugs and implementing new functionality in the parser codebases - primarily Node.js, but also PHP.
  • Improve testing and QA infrastructure required to ensure we can make changes to parsing and wikitext semantics with minimal impact
  • Contribute towards consolidating MediaWiki around a single parsing infrastructure
  • Contribute to the evolution of wikitext to structured semantics, both in its specification and the parsing infrastructure implementing those semantics
  • Continue driving the parser output towards a well-documented spec that faithfully exposes wikitext semantics
  • Participate in cross-team and cross-departmental engineering projects

 

Requirements

  • Proficiency in multiple programming languages with 3+ years of experience in one of the following languages: Node.js, Javascript, PHP, Ruby and/or Python
  • 3+ years of academic or professional work in one of the following areas:
    • compilers
    • language runtimes
    • parsers
    • highly scalable web services
    • projects demonstrating design and development of novel data structures and algorithms
    • projects demonstrating expert knowledge of the HTML5 spec and parsing
  • Self-driven but proactively asks for input when needed
  • Comfortable working in a collaborative, consensus-oriented environment with substantial public code review, bug reporting, and technical discussion
  • Comfortable working with a remote, distributed team across various time zones
  • Bachelor's degree in Computer Science and 5+ years related work experience; or Master’s degree in Computer Science and 3+ years related work experience; Both can be replaced by equivalent work experience
  • Willing to travel occasionally for team and organizational meetings

 

Pluses

  • Experience with parser generators (esp. PEG), interpreters, or language runtimes would be a big plus
  • Familiarity with the HTML5 spec and DOM manipulation
  • Familiarity with PHP and Node.js
  • Experience with open source technology and free culture, and contributions to open source projects
  • Good communication, presentation and writing skills
  • Familiarity with wikitext and/or MediaWiki
  • Active editor on Wikipedia and/or sister projects like Wikisource, Wiktionary, Wikivoyage

 

About the Wikimedia Foundation

The Wikimedia Foundation is the non-profit organization that supports and hosts Wikipedia and several other Wikimedia free knowledge sites. Every month, the Wikimedia sites are accessed by more than a billion unique devices. Wikipedia consists of more than 40 million articles across hundreds of languages. Every month, more than 70,000 volunteer editors contribute to Wikipedia. Based in San Francisco, California, the Wikimedia Foundation is an audited, 501(c)(3) non-profit that is funded primarily through donations and grants. It currently employs over 240 staff members.

At the Foundation, we build technology to help people everywhere access Wikipedia, across devices and in nearly 300 languages. We engineer privacy for our readers and editors so they can safely and securely explore Wikipedia. We create programs and initiatives to make Wikipedia freely available to more people in more parts of the world. We build new tools for the community of editors so they can continue to improve and grow Wikipedia. Roughly a quarter of our budget goes to supporting the community that make the site possible, including through grantmaking programs that enable volunteers and enrich the information on the sites.

The Wikimedia Foundation is an equal opportunity employer, and we encourage people with a diverse range of backgrounds to apply.

 

Benefits & Perks *

  • Fully paid medical, dental and vision coverage for employees and their eligible families (yes, fully paid premiums!)
  • The Wellness Program provides reimbursement for mind, body and soul activities such as fitness memberships, massages, cooking classes and much more
  • The 401(k) retirement plan offers matched contributions at 4% of annual salary
  • Flexible and generous time off - vacation, sick and volunteer days, plus 19 paid holidays - including the last week of the year.
  • Family friendly! 100% paid new parent leave for seven weeks plus an additional five weeks for pregnancy, flexible options to phase back in after leave, fully equipped lactation room.
  • For those emergency moments - long and short term disability, life insurance (2x salary) and an employee assistance program
  • Pre-tax savings plans for health care, child care, elder care, public transportation and parking expenses
  • Telecommuting and flexible work schedules available
  • Appropriate fuel for thinking and coding (aka, a pantry full of treats) and monthly massages to help staff relax
  • Great colleagues - diverse staff and contractors speaking dozens of languages from around the world, fantastic intellectual discourse, mission-driven and intensely passionate people

* for benefits eligible staff, benefits may vary by location

More Information

https://wikimediafoundation.org

https://blog.wikimedia.org

YouTube video