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.
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 GitLab repositories - in most cases, this means that each team has a single GitLab 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.
If you're a member of a team and are just looking to get started, please see our guide to using GitLab.
Each participant must...
Have their own GitLab 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..
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
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
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