Tech:Organisation
This page documents a technical policy. This policy follows consensus and/or guidelines set by members of Site Reliability Engineering. All SRE members, or, where applicable in technical matters, users, should follow this policy. Suggestions should be made on the talk page. |
Behind the scenes, there are various volunteers helping to develop MediaWiki extensions, resolve support tasks and manage Miraheze's services and infrastructure. Together, they make a group of system administrators. Volunteers are divided among various teams and can have different roles. This page documents the roles of all groups and their responsibilities.
Nominated Director
One of the members of Miraheze Limited's Board of Directors is a person nominated by the Technical Team to be their representative. The nominated director is a point of contact within the Technical Team for all kinds of questions and represents the interests of the Technical Team. They also work with the SRE Management Team to ensure there is sufficient budget to keep the infrastructure running.
Department: Site Reliability Engineering
This is the department that cover the pre-existing technical team members within. The department is responsible for the innovation, security, privacy and administration of IT services, infrastructure and data of Miraheze. Site Reliability Engineering maintains all Miraheze servers and services, develops new extensions for the community, resolves the requests of the community and advises the Board on information security and privacy matters.
Team: Infrastructure, Site Reliability Engineering
The Infrastructure team ensures Miraheze's services and servers are fast, reliable and secure. MediaWiki being the key product of Miraheze, Infrastructure is responsible for providing all miscellaneous, yet critical services that make MediaWiki reliable, useful, secure and scalable. Infrastructure develops and maintains the virtual servers, relational databases, media storage, automation tooling, configuration management systems, network, continuous integration and continuous delivery, cache stores and observability platforms.
Position: Engineering Manager, Infrastructure
The Infrastructure Engineering Manager leads the infrastructure team and ensures:
- appropriate task management for Infrastructure Team tasks,
- goals are met and kept on track for Infrastructure,
- the wellbeing and growth of the Infrastructure team.
The Engineering Manager forms part of the SRE Management Team - the team which maintains ultimate responsibility for the running of Miraheze's technical infrastructure.
Position: Site Reliability Engineer, Infrastructure
Site Reliability Engineers support the delivery and maintenance of our virtualised and physical environment. A Site Reliability Engineer is responsible for:
- maintaining the virtualised environment, physical hardware and services deployed to ensure routine security fixes are deployed and uptime is maintained.
- performing day to day work as brief by the Infrastructure Engineering Manager.
- triage and resolve incoming Phabricator tasks for the Infrastructure Team.
- maintaining configuration deployment systems (Puppet).
- taking control during incidents and working as a team to mitigate, resolve and prevent future outages.
Position: Data Engineer, Infrastructure
Data Engineers build and maintain infrastructure to allow teams to investigate, analyse and utilise data to drive decision making. In addition to support in creating tools to allow both technical and community volunteers to utilise data to support their own projects. A Data Engineer is 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.
Position: Security Engineer, Infrastructure
Security Engineers develop and implement effective security practices to be engrained within the Infrastructure Team's work. A Security Engineer is responsible for:
- building, designing, implementing and monitoring highly effective security processes and protocols that will affect how the Infrastructure team work.
- analysing and prioritising incoming security alerts including CVEs and user reports.
- working with Trust and Safety and the MediaWiki Team to ensure a collaborative and unique approach on security/privacy.
- assisting 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.
Team: MediaWiki, Site Reliability Engineering
The MediaWiki team is responsible for offering the MediaWiki core platform and MediaWiki extensions. They develop in-house extensions, maintain the latest stable version of MediaWiki core and extensions, handle the configuration and feature requests from the community and work with Wikimedia (upstream) and other third-parties.
Position: Engineering Manager, MediaWiki
The MediaWiki Engineering Manager leads the MediaWiki team and ensures:
- appropriate task management for MediaWiki Team tasks,
- goals are met and kept on track for MediaWiki,
- the wellbeing and growth of the MediaWiki team.
The Engineering Manager forms part of the SRE Management Team - the team which maintains ultimate responsibility for the running of Miraheze's technical infrastructure.
Position: Site Reliability Engineer, MediaWiki
Site Reliability Engineers support the delivery and maintenance of our virtualised and physical MediaWiki environment. As a Site Reliability Engineer, they are 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. Additionally they are responsible for:
- maintaining the virtualised MediaWiki environment, physical hardware and services deployed to ensure routine security fixes are deployed and uptime is maintained.
- performing day to day work as brief by the MediaWiki Engineering Manager.
- triage and resolve incoming Phabricator tasks for the MediaWiki Team.
- maintaining configuration deployment systems (Puppet).
- taking control during incidents and working as a team to mitigate, resolve and prevent future outages.
- assisting the Infrastructure Team as required.
Position: MediaWiki Engineer, MediaWiki
MediaWiki Engineers 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. A MediaWiki Engineer is also 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.
Position: Software Engineer, MediaWiki
Software Engineers 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. A Software Engineer is responsible for:
- building tools to support volunteers, allow communities to grow, and improve the user experience on the platform.
- maintaining existing software we deploy, and support upstream in maintaining software that our users find important to them.
- building quality assurance and continuous integration pipelines to support high quality software being deployed to our servers.
- writing performant code which utilises modern caching techniques.
Position: Security Engineer, MediaWiki
Security Engineers develop and implement effective security practices to be engrained within the MediaWiki Team's work. A Security Engineer is responsible for:
- building, designing, implementing and monitoring highly effective security processes and protocols that will affect how the MediaWiki Team work.
- analysing and prioritising incoming security alerts including CVEs and user reports.
- working with Trust and Safety and the Infrastructure Team to ensure a collaborative and unique approach on security/privacy.
- managing 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.
Position: Community Engagement Specialist, MediaWiki
Community Engagement Specialists bridge the gap between Site Reliability Engineering and the global community of volunteers we support in our work. They 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. Community Engagement Specialists are responsible for:
- improving engagement of the community in the technical life cycle of software development.
- supporting Site Reliability Engineering is developing processes that put the community first.
- taking ownership of community feedback received, ensuring its follow up with.
- improving community-facing technical documentation
See also
- SRE Volunteers - a page listing volunteers, their roles and rights.