Miraheze Volunteering Opportunities

This page lists the current volunteer positions that are needed at Miraheze. The absence of a position/role does not at all mean that volunteers are not needed for that role or area. This list is set up in terms of priority, with the most important roles for a specific section listed at the top of said section.

Engineering Manager (Infrastructure/MediaWiki)
Miraheze is looking for Engineering Managers to join its Infrastructure and MediaWiki Teams to manage their respective teams.

What will I be responsible for? You will be responsible for...
 * Managing either the Infrastructure or MediaWiki teams, as well as fulfilling the responsibilities of a Site Reliability Engineer for each team.

What experience are you looking for? We are looking in particular for anyone who has experience in the sections of Site Reliability Engineer (Infrastructure) and Site Reliability Engineer (MediaWiki). The experience and qualification requests are the same.

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.

Site Reliability Engineers (Infrastructure/MediaWiki)
Miraheze is looking for Site Reliability Engineers to join its Infrastructure and MediaWiki Teams to support the delivery and maintenance of our virtualized and physical environment. As a Site Reliability Engineer, you will be expected to monitor and maintain a wide range of software and services, ensure the uptime of the wider cluster and provide support to the MediaWiki Team in deploying to the infrastructure stack.

What will I be responsible for? You will be responsible for...
 * maintaining the virtualized environment, physical hardware and services deployed to ensure routine security fixes are deployed and uptime is maintained.
 * performing day-to-day work as briefed by the relevant Engineering Manager.
 * triage and resolve incoming Phabricator tasks.
 * maintaining configuration deployment systems (Puppet).
 * taking control during incidents and working as a team to mitigate, resolve and prevent future outages.

What experience are you looking for? We are looking in particular for anyone who has experience in any of:
 * Graylog
 * MariaDB
 * Varnish
 * Grafana/Prometheus
 * NGINX
 * Proxmox

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.

Security Engineers (Infrastructure/MediaWiki)
Miraheze is looking for a Security Engineer to join our Infrastructure and MediaWiki Teams to develop and implement effective security practices to be engrained within our work.

What will I be responsible for? You will be responsible for...
 * build, design, implement and monitor highly effective security processes and protocols that will affect how we work.
 * analyse and prioritise incoming security alerts including CVEs and user reports.
 * work with Trust and Safety ensure a collaborative and unique approach on security/privacy.
 * manage with Security Reviews for MediaWiki extensions and Content Security Policy requests
 * leading on security incidents, including post-mortem follow-up and liaising with Trust and Safety to establish impact and cause.

What experience are you looking for? We are looking for volunteers with a background in security. This can be in software development in any language (PHP and Python are preferred) or working in an industry in a security capacity.

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.

Data Engineer (Infrastructure)
Miraheze is looking for Data Engineers to join our Infrastructure Team to build and maintain infrastructure to allow teams to investigate, analyse and utilise data to drive decision-making. We are also looking for Data Engineers to support in creating tools to allow both technical and community volunteers to utilise data to support their own projects.

What will I be responsible for? You will be responsible for...
 * building and maintaining data infrastructure, having complete control over the direction and software used.
 * collaborate with other teams and design pipelines that deliver effective statistics and metrics to inform product/service delivery.
 * build and maintain publicly accessible metrics wherever possible.
 * monitor the quality and accuracy of data, alerting relevant teams where possible of discrepancies.

What experience are you looking for? As the role is building infrastructure from scratch, we are looking for volunteer with relevant experience in managing or building big data infrastructure or working with big data in any capacity.

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.

Software Engineer (Developer) (MediaWiki)
Miraheze is looking for Software Engineers to join our MediaWiki Team to develop code to improve the user experience of Miraheze users, build tools that allow communities to grow, and tools that support our valuable volunteers in managing a dynamic and active global community.

The role would initially involve a trial period without shell access (since developer tasks can be done on GitHub) but the role and access may be granted at a later time depending on how things evolve.

What will I be responsible for? You will be responsible for...
 * building tools to support volunteers, allow communities to grow, and improve the user experience on the platform.
 * maintain existing software we deploy, and support upstream in maintaining software that our users find important to them.
 * build quality assurance and continuous integration pipelines to support high-quality software being deployed to our servers.
 * write performant code which utilises modern caching techniques.

What experience are you looking for? We are looking in particular for anyone who has experience in, and can demonstrate working extensively with: Knowledge of how CreateWiki, ManageWiki, WikiDiscover, Acme-SSL work would also be helpful for some of the tasks, but can be learned as you go.
 * PHP
 * MediaWiki
 * JavaScript
 * CSS

What are some important tasks that I'd work on during the initial phase?
 * https://phabricator.miraheze.org/T9153 - Allow users to pre-select some basic settings for their wiki from the wiki request form
 * https://phabricator.miraheze.org/T10844 - Add fields to Special:RequestWiki in order to have more details
 * https://phabricator.miraheze.org/T9154 - Warn wiki requesters if their request is likely to be declined due to issues
 * https://phabricator.miraheze.org/T10304 - Fully automate ImportDump after ensuring security
 * https://phabricator.miraheze.org/T7582 - Create an automated system for managing SSL requests
 * https://phabricator.miraheze.org/T9541 - Allow content to be reported from wiki pages
 * https://phabricator.miraheze.org/T8791 - Create tags in ManageWiki/WikiDiscover
 * https://phabricator.miraheze.org/T10527 - T10527 Create comprehensive flagging and investigation system for wikis

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.

MediaWiki Engineer (MediaWiki)
Miraheze is looking for MediaWiki Engineers to join our MediaWiki Team to support day to day maintenance of the MediaWiki software stack, triage and resolving incoming requests for support and assist software engineers and site reliability engineers in their work.

What will I be responsible for? You will be responsible for...
 * triaging and resolving incoming support requests from the community, internal teams, stakeholders, and third-party providers to ensure they are resolved in a timely manner.
 * maintaining the MediaWiki application stack, working with other teams where necessary to ensure the stack remains operational and performant.
 * keeping all software deployed up to date, arranging maintenance windows with and for other teams to maximise uptime.
 * supporting general operations of the service where possible and requested.

What experience are you looking for? We are looking for people who have experience working with MediaWiki, ideally in a multi-server setup and running wikis in the quantity of thousands. Any experience in multi data centre setups is also welcomed.

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.

Community Engagement Specialist (MediaWiki)
Miraheze is looking for Community Engagement Specialists to join our MediaWiki Team to bridge the gap between Site Reliability Engineering and the global community of volunteers we support in our work. In the role, you will focus on trying to improve engagement in the development cycle, deployment cycle and goal planning processes - as well as proactively seeking feedback on how we can improve and communicating this to the relevant teams.

What will I be responsible for? You will be responsible for...
 * improve engagement of the community in the technical life cycle of software development.
 * support Site Reliability Engineering in developing processes that put the community first.
 * take ownership of community feedback received, ensuring its follow up with.
 * improve community-facing technical documentation

What experience are you looking for? We are looking for anyone who has demonstrated the ability to connect with the community and is able to understand a basic understanding of our technical infrastructure, particularly the MediaWiki application stack. Knowledge of languages other than English is always a plus.

How can I apply? Please list your name below by adding a '#' symbol (which will input a number), and a brief description about why you think you could help Miraheze in this role. Please make sure to sign your username with four tildes ( ~ ) so we can tell who it is.