Hiring process for developers

We aim to keep our hiring process as straightforward and transparent as possible.

Below are the various steps of the software departments hiring process for developers. Things are different for non-developer yet technical positions such as User Experience expert and for non-technical positions such as Product Manager and Community Manager.

  • Telephone Interview

    In this 30-45 minute call we’ll get to know each other and we'd love to hear about your motivation to applying for the position. Participating in the conversation will be an HR representative and a hiring manager or tech lead. It will be a two-way conversation and we want to understand whether we'll be a good fit for one another.

    You will have time to introduce yourself and we will tell you about the organisation, the software development department and the team you will be working with. You will be asked about your experience and some simple technical questions. During the whole interview feel free to ask any questions.

  • Pair Programming Session

    This session will take around two hours and will be done remotely over Google Meet. One developer will be participating. There will be two main sections: a straightforward programming session and a general discussion about your technical preferences or experiences.

    During the pair programming exercise you'll be working together with one of the developers on refactoring a small set of self contained legacy code. No knowledge of MediaWiki or other such specific technology is required. You will have the choice between doing the exercise in PHP and in JS.

    The Pair Programming allows us to see how you approach problems, how you collaborate and how you communicate. You and the developer will pretend to work, as colleagues, on a task at a company you just started working for. This collaboration is what is evaluated, so there is no need to rush and try to get as much of the exercise done as possible. If it is not completed, which is likely, you will not be penalized for this.

    The remote pairing is done using Visual Studio Code and Visual Studio Live Share, a service that allows synchronization of code between different machines and editors. If using VS Code does not work for you, it is possible to use the web based editor as an alternative. Make sure that your Google Meet is working.

    This will allow us to get a better understanding of your technical skills and how you collaborate and communicate with people in your team. We will also be assessing how you approach problems and your thought processes as you reach a solution.

  • Insight Day

    Organised online. It will take around three hours and is divide in four sections:

    • Interview with the Feature team (45 minutes): you and the team will be able to ask each other questions about the organisation of the team, the processes or any other aspects which you are interested in. This allows you to get to know your potential colleagues and for them to get to know you.
    • Team Daily's Meeting (15 minutes): you'll have the chance to participate in the daily standup meeting and see what we're working on.
    • 1:1 time with a developer (30 minutes): You will spend this time with one of the developers you would be working with by sitting next to them as they walk you through something they are working on. This will give you the opportunity of getting a glimpse of the codebase, ask questions and discuss things as you see fit.

  • Offer

    We will send you the job offer based on the details agreed upon during the Insight Day.

We try to move things along as quickly as possible, though we will likely need several days, perhaps up to a week in between the steps up to, and including, the Insight Day, to schedule sessions. You can, therefore, expect the whole process to take about 4 weeks.

We may skip the Telephone Interview steps for candidates already familiar with Wikimedia.

Useful links

You can view our current vacancies.

Our GitHub contains many of our open-source projects.