Summary

The Wikimedia Foundation is looking for a Staff Software Engineer to join our Platform Engineering Team, reporting to The Engineering Manager. As a Staff Software Engineer on this team, you will be responsible for working closely with our product and engineering platform teams as well as technology teams across the foundation to build and deliver the Wikimedia API Platform which includes an API Gateway, an API Developer Portal, and full lifecycle management of Wikimedia API services. The staff software engineer will develop innovative solutions that create value, support our mission, and position our technical stack to sustainably grow and scale, while also mentoring and growing Junior Engineers. 

This role will directly support our application platform serving the world’s favorite encyclopædia. Wikipedia is one of the largest internet properties in the world, visited by 1 billion people a month across 280 different languages. Our foundational technology supports all of our properties, products, and offerings that empower the global free-knowledge community to produce and consume knowledge. Wikipedia and its sister projects are powered strictly by Free and Open Source software, with MediaWiki at its core, surrounded by an ecosystem of microservices in PHP, NodeJS, Python, and Go.

Due to our scale, commitment to opensource, and our desire to support the infrastructure of free knowledge, it is no easy task to build and maintain foundational technology. To deliver key capabilities that are needed, Staff Software Engineers must develop strong understandings of internal and external clients, partner closely with Product Managers and partners in engineering to identify, design, and build technical capabilities that support products and services that unlock value. 

We are a distributed and diverse team of engineers with a drive to explore, experiment, and embrace new technologies. During the past few years we have been transitioning our platform from a monolith to a hybrid microservices architecture, and started migrating our microservices onto Kubernetes running on bare metal. This work underpins our goals of modernizing our platform to help build and support the future work of the WMF, its sister projects and the global community.

If you find what we do interesting, if you are up to the challenge of improving how APIs function for one of the Internet’s top 10 websites, and you enjoy the idea of working with a globally distributed team, you might be just the person we need. Come as you are! 

You are responsible for:

  • Collaborating with Product Owners, Engineers and Stakeholders on product discovery and improvements of our existing systems
  • Participating in the development and  integration of the Wikimedia API Gateway, including:
    • Feature identification and implementation (ex: rate limiting, throttling, authentication, etc.)
    • API Protocols and Architecture Style support guidelines (ex: REST, RPC, Kafka, etc.) 
    • Migration of existing APIs to the API Gateway
    • Integration of the API Gateway into our security strategy
  • Developing easy-to-use self service pathways for API consumers via our web API portal
  • Assessing and addressing technical risks
  • Helping maintain, scale, and extend our API Platform
  • Helping shape the technological direction of our systems working with the Tech Lead and Product Manager to identify solutions for given requirements
  • Monitoring system performance and identifying, defining, and implementing internal process improvements and SLOs
  • Gathering and documenting technical requirements
  • Mentoring Junior Engineers
  • Directing your own work and are proactive in asking for input.
  • Working and communicating clearly and effectively within a team that spans multiple time zones across the world
  • Changing the world for more than half a billion people every month ;)

Skills and Experience:

  • 8+ years of experience designing and building APIs for internal and external stakeholders
  • You have a good working knowledge of software design principles and the API lifecycle
  • Expertise in REST web services
  • Experience building or managing an API Gateway (ideally with Envoy experience)
  • Experience designing API guidelines and interfaces
  • Deep understanding of how to integrate API Gateways into a legacy technology stack and the ability to execute this.
  • Demonstrated experience building out API Gateway features including, rate limiting, authentication, throttling, etc.
  • You have a good understanding of how to scale applications, in terms of load, complexity, and performance.
  • You enjoy writing unit tests, reviewing code, responding to code reviews and discussing architectural approaches.
  • You have experience with multiple programming languages are are willing to use the right tool for the job. We currently use PHP, Nodejs, Python, and Go where it makes sense.
  • You have worked in a Linux server environment.
  • You are willing to travel occasionally - sometimes internationally - for team and organizational meetings.
  • You are a proficient English speaker and writer.

Qualities that are important to us:

  • Commitment to the mission of the organization and our values
  • Commitment to our guiding principles
  • Ability to disagree in a respectful manner and yet work towards a solution even when you disagree
  • Good at asynchronous communication
  • Solutions-focused. The Wikimedia ecosystem is complex, resources are limited, and our guiding principles are ambitious. We want you to work to find solutions embracing these factors.
  • Self motivated with an ability to navigate through ambiguity and bring a project to completion with limited directions
  • Problem-solver with a passion and willingness to learn and dive-deep into technical details
  • Possess a growth mindset with ability to identify additional skills, knowledge, and/or expertise required and the drive to develop themselves where needed

Additionally, we’d love it if you have, but these are pluses not requirements:

  • Experience working on open source, collaborative development projects
  • Familiarity with Envoy API Gateways
  • Experience working with on-premise technology stacks
  • Experience working with microservice architectures
  • Experience working remotely
  • Experience with NoSQL and traditional databases
  • Experience working with tools like but not limited to Kafka, Hadoop, Storm, Flink and Spark
  • Experience with an internet software environment operating at scale; for example, messaging platforms that process hundreds of thousands of events per second
  • Big thumbs ups if you are a contributor to Wikipedia

Show us your stuff! If you have any existing open-source software that you've developed (this could be your own software or patches to other packages), please share the URLs for the source. Links to GitHub, etc. are especially useful.

About the Wikimedia Foundation

The Wikimedia Foundation is the nonprofit organization that operates Wikipedia and the other Wikimedia free knowledge projects. Our vision is a world in which every single human can freely share in the sum of all knowledge. We believe that everyone has the potential to contribute something to our shared knowledge, and that everyone should be able to access that knowledge freely. We host Wikipedia and the Wikimedia projects, build software experiences for reading, contributing, and sharing Wikimedia content, support the volunteer communities and partners who make Wikimedia possible, and advocate for policies that enable Wikimedia and free knowledge to thrive. 

The Wikimedia Foundation is a charitable, not-for-profit organization that relies on donations. We receive donations from millions of individuals around the world, with an average donation of about $15. We also receive donations through institutional grants and gifts. The Wikimedia Foundation is a United States 501(c)(3) tax-exempt organization with offices in San Francisco, California, USA.

As an equal opportunity employer, the Wikimedia Foundation values having a diverse workforce and continuously strives to maintain an inclusive and equitable workplace. We encourage people with a diverse range of backgrounds to apply. We do not discriminate against any person based upon their race, traits historically associated with race, religion, color, national origin, sex, pregnancy or related medical conditions, parental status, sexual orientation, gender identity, gender expression, age, status as a protected veteran, status as an individual with a disability, genetic information, or any other legally protected characteristics.

If you are a qualified applicant requiring assistance or an accommodation to complete any step of the application process due to a disability, you may contact us at recruiting@wikimedia.org or +1 (415) 839-6885.

More information

U.S. Benefits & Perks
Wikimedia Foundation
Applicant Privacy Policy
News from across the Wikimedia movement
Blog
Wikimedia 2030
Our Commitment to Equity
This is Wikimedia Foundation 
Facts Matter
Our Projects
Our Tech Stack

Apply for this Job

* Required
resume chosen  
(File types: pdf, doc, docx, txt, rtf)
cover_letter chosen  
(File types: pdf, doc, docx, txt, rtf)


Voluntary Self-Identification

For government reporting purposes, we ask candidates to respond to the below self-identification survey. Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

As set forth in Wikimedia Foundation’s Equal Employment Opportunity policy, we do not discriminate on the basis of any protected group status under any applicable law.

Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to the Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.


Form CC-305

OMB Control Number 1250-0005

Expires 05/31/2023

Voluntary Self-Identification of Disability

Why are you being asked to complete this form?

We are a federal contractor or subcontractor required by law to provide equal employment opportunity to qualified people with disabilities. We are also required to measure our progress toward having at least 7% of our workforce be individuals with disabilities. To do this, we must ask applicants and employees if they have a disability or have ever had a disability. Because a person may become disabled at any time, we ask all of our employees to update their information at least every five years.

Identifying yourself as an individual with a disability is voluntary, and we hope that you will choose to do so. Your answer will be maintained confidentially and not be seen by selecting officials or anyone else involved in making personnel decisions. Completing the form will not negatively impact you in any way, regardless of whether you have self-identified in the past. For more information about this form or the equal employment obligations of federal contractors under Section 503 of the Rehabilitation Act, visit the U.S. Department of Labor’s Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

How do you know if you have a disability?

You are considered to have a disability if you have a physical or mental impairment or medical condition that substantially limits a major life activity, or if you have a history or record of such an impairment or medical condition.

Disabilities include, but are not limited to:

  • Autism
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, or HIV/AIDS
  • Blind or low vision
  • Cancer
  • Cardiovascular or heart disease
  • Celiac disease
  • Cerebral palsy
  • Deaf or hard of hearing
  • Depression or anxiety
  • Diabetes
  • Epilepsy
  • Gastrointestinal disorders, for example, Crohn's Disease, or irritable bowel syndrome
  • Intellectual disability
  • Missing limbs or partially missing limbs
  • Nervous system condition for example, migraine headaches, Parkinson’s disease, or Multiple sclerosis (MS)
  • Psychiatric condition, for example, bipolar disorder, schizophrenia, PTSD, or major depression

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.