RFP/Development and Operations Engineer

Statement of Purpose
The Technical Operations team in Wikimedia Foundation is embarking on a new project to build a flexible and scalable lab infrastructure for our community and volunteers, to support their effort to prototype, develop, test and deploy their tools and extensions. Some of the uses of the infrastructure are for:
 * Prototyping and staging of WMF-developed MediaWiki code
 * Prototyping and staging of volunteer or chapter-developed MediaWiki code
 * Deployment of volunteer-created tools which are independent of MediaWiki, e.g. edit counters, mentoring database, geographic information about articles etc. (essentially the kind of things currently running on the toolserver)
 * Development and deployment of new site architecture by staff and volunteers in a code-reviewed, devops oriented environment
 * Access for researchers (WMF or external) to live database replication or large datasets, as well as computing resources, for the purpose of running analyses
 * Serve as an execution and hosting space for bots, so that bots can be more systematically developed and tracked

Wikimedia is looking for a contractor who will support the Technical Operations team in developing, maintaining and administering the Wikimedia Lab virtualization project and its infrastructure. The position is based in the San Francisco area, preferably.

As a Development & Operations Engineer (Contractor), your job is to assist in the design and enhancement of the Labs Virtualization Project using OpenStack technology. You will also be integrating with our backend infrastructure such as LDAP, Puppet and MediaWiki.

Background Information
The Wikimedia Foundation, Inc. is a nonprofit charitable organization dedicated to the growth, development and distribution of free, multilingual content, and to providing the full content of these wiki-based projects to the public free of charge. The Wikimedia Foundation operates some of the largest collaboratively edited reference projects in the world, including Wikipedia, a top-ten internet property.

Scope of Work
Duties include developing, integrating and deploying tools to provision and manage large networks of virtual machines, creating a redundant and scalable cloud computing platform. It includes the following:
 * Develop, integrate, test and deploy using OpenStack Compute stack and KVM as the platform
 * Integrate with current production infrastructure e.g., LDAP, MediaWiki
 * Integrate & deploy OpenStack Object Storage to provide file storage for images and multimedia content

Outcome and Performance Standards
You are expected to work about 40 hours a week on average. During these (flexible) hours you are required to be available online for collaboration with the (international) Foundation team.

Outside these hours, you may incidentally be contacted for emergencies (e.g. during system outages).

Besides maintaining regular communication with your point of contact, you may need to participate in bi-weekly online Operations meetings with the rest of the team. There will be milestone check-ins with the Foundation to discuss progress and activities. You must be willing to travel occasionally for international meetings, as well as to perform your duties.

Term of Contract
Your initial contract will be for a duration of 6 months, and will commence as soon as possible. Renegotiation at the termination of the contract is optional. This position has the potential of being converted to a full-time position.

Payments, Incentives, and Penalties
Rate will be determined by level of experience and expertise.

Contractual Terms and Conditions
Required qualifications

Respondent parties are expected to: Furthermore:
 * Have strong knowledge of and 2+ years of hands-on experience with LAMP-stack system administration
 * Have strong knowledge of programming and scripting languages like python & C
 * Be able to work independently where needed, and can work remotely as part of a globally distributed team
 * Has worked on integrating different types of services together e.g., LDAP, Puppet and MediaWik
 * Be able to learn quickly
 * Have relevant hands-on experience and eagerness to learn and try new concepts
 * Be comfortable in a highly collaborative, consensus-oriented environment
 * Be a proficient speaker in the English language
 * Have prior work experience in creating system administration and provisioning tools
 * Extensive experience with Python is a plus
 * Experience with virtualization technologies such as OpenStack or Ganeti is a plus
 * Experience with clustered filesystems such as GlusterFS or Swift is a plus
 * Experience with high traffic web site operations is a plus
 * Experience with MySQL database administration is a plus
 * Understanding of the free culture movement is a plus

The ideal candidate will be creative, highly motivated, and able to operate effectively in multiple cultural contexts.

Points of contact for future correspondence
CT Woo, Director of Technical Operations rfp@undefinedwikimedia.org