Code Jams

Every three months, we host a code jam for the members of our community. These code jams are suitable for users with varying levels of experience - from beginners to experts - and are a great way to gain some practical experience with project work in a collaborative environment.


Our code jams do not take place on GitLab anymore. Please be aware that some of the documentation below may not be relevant for future jams.


Participants are asked to fill out a profile and an application form before the code jam starts. When signups have closed, our staff members manually review each application and put together teams of three participants, using criteria such as skill level and timezone. Participants are expected to coordinate amongst themselves - we recommend that each team creates a private DM group on Discord. Teams may choose to elect a leader, but this isn't necessary.

Code jams are timed events. When the code jam starts, we announce the task and the teams set about working on it. Work is done using GitHub repositories - in most cases, this means that each team has a single GitHub repository that is accessible to all of its members, and progress is kept track of via a merge request. For more information on how this works, see the links section below.

Throughout the jam, staff will provide feedback via comments on the merge requests. We do this in order to better help less-experienced users improve their coding styles and practices. We feel that feedback is a very important part of the programming process, and that this helps to create a more realistic environment.

Once the jam is over, our staff team will test and review every submission as if it was a real contribution. Following this, we will judge each submission privately and announce a winner. The winning team will be awarded a full license for PyCharm pro, for the duration of one year - sponsored by JetBrains - for every team member.

Please note that we may decide to make use of concepts or contributions provided as part of a submission. If we do this, team members will be given the Contributor role on Discord. We require that code jam submissions be licensed under MIT.


Each participant must...

  • Have their own GitHub account, and the ability to log into it

  • Have a working Python environment installed

  • Have Git installed and set up - see the links below for more information on that

  • Make sure they're available for a reasonable portion of the code jam period

  • Let a staff member know immediately if their situation changes and they are no longer able to participate

  • Be ready and willing to work with teammates from all walks of life


We expect our participants to..

  • Work in cooperation with their teammates, and take the task seriously
    • Help each other out as much as possible - you need to work together to succeed

    • Teams may find it beneficial to split tasks between their members for the sake of efficiency - if your team decides to do this, take care when merging files that multiple people have been working on at once

  • Be available to work on their project as much as is reasonably possible
    • If you're on Discord and spend a large amount of time gaming during the code jam, you may be approached by a staff member

  • Be receptive to feedback and the requests of staff
    • We provide feedback to all of our participants where appropriate - we do this to help you improve your programming skills, so please don't be offended if we provide some suggestions

For more information, see the code jam rules page