Job openings/Software Engineer - Community R&D

 YOU ARE ...

.. excited about using your coding skills to protect and improve the health of the largest and most incredible volunteer collaboration project ever.

You enjoy working in an agile environment, seek to understand business needs even better than the non-developers on your project team, and drive the process of changing project requirements frequently yourself to better suit project needs. You want to release working software every week, not every month.

You understand the importance of building scalable software according using best practices in collaboration with Wikimedia staff and the MediaWiki developer community. You are passionate about Wikimedia's mission to bring free knowledge to every person on the planet. You will thrive in a team of smart engineers and Wikimedians, and you're looking forward to making an impact.

If much or all of this applies to you — please send us a thoughtful application letter and tell us why you're the right person for the job! :-)

JOB TITLE

Software Developer - Community R&D [CLOSED]

REPORTS TO

Engineering Program Manager for Features

EMBEDDED IN

Community Department

JOB PURPOSE

Develop features to support community research and community change experiments. Some of the experiments you enable will become permanent features to be incorporated into MediaWiki. Some will go to the dustbin of online collaboration history. Some will become legendary as they reveal and help solve major problems in the biggest, most interesting online collaboration ever.

You’ll work mainly with PHP, Python, JavaScript, JQuery, MySQL, MongoDB, Hadoop (or other NoSQL), Open Web Analytics and other technologies. We are less concerned with your experience in any particular technology than with your skill as an agile software engineer capable of quickly becoming comfortable on any stack.

JOB SUMMARY

Duties include, but are not limited to the following:


 * Develop features and tools to enable research and community change experiments. Think: debugging humanity.
 * Develop new features and enhance existing features for Wikimedia sites.
 * Design and develop back-end components to support MediaWiki extensions.
 * Help researchers wrestle with some big data sets to answer important questions about Wikimedia community trends, and to build tools to make such wrestling easier.

CANDIDATE SKILLS/CHARACTERISTICS
 * Smart, friendly, gets stuff done.
 * Intensely driven, proactive, and hard working.
 * Thrives on chaos, risk, and uncertainty.
 * Open and transparent: Comfortable working in a highly transparent fashion, open to input and feedback, proactive candid communicator who wants people to know what she/he is doing and isn't afraid to bring others in when things are off-track or when you need help
 * Strong cultural competency: Ability to bridge cultures and geographic differences; able to navigate in a truly global movement, and understands the values in diverse communities and worldviews

REQUIRED QUALIFICATIONS
 * Extremely competent coder; comfortable in multiple languages, frameworks, and environments.
 * Experience with object oriented analysis/design
 * Knowledge of design patterns, refactoring and unit testing
 * Knowledge of Agile Methodologies such as Extreme Programming (XP) & Scrum
 * Understanding of code manipulation and optimization issues
 * Excellent knowledge of MySQL and other relational databases.
 * Experience with operating system internals, filesystems, programming language design, compilers, distributed systems, or server architectures.
 * Experience contributing to an Open Source project.
 * Creativity, high degree of motivation, and ability to work effectively in multiple cultural contexts.
 * Understanding of free culture / free software /open source.

ADDITIONAL QUALIFICATIONS


 * Some experience with MediaWiki will help you hit the ground running, but is not required.
 * Experience in the Wikipedia community will also shorten your learning curve, but is not required.
 * Experience working with online volunteers.
 * Experience with wikis and participatory production environments.
 * Good sense of humor always a major plus.
 * You must be comfortable working in a highly collaborative, consensus-oriented environment.

Please provide URLs to any existing free software work you may have done (own software or patches to other packages) if possible – we'd love to see what you can do! Let us know why this position interests you.