Feb 10, 2025

Behind the Scenes: How PyCon DE's Program Committee Crafts the Conference Experience

Ever wondered how the PyCon DE program is created? How talks are selected? Who gets the biggest room in the conference hall? Today we asked Florian Wilhelm, chair of the PyCon DE Program Committee, to answer these questions.

Can you explain what a program committee does for a Python conference and how the process works?

FW: Our main responsibility is creating an interesting and even inspiring conference program for PyCon DE. The process begins at the end of each year when we form the committee. It consists of three chairs, two prospective chairs (five chairs in total), and approximately 7-8 committee members.

Our first major milestone is creating and publishing a call for proposals. We discuss which themes and topics we want to emphasize at the upcoming conference. For example, this year we decided to include more Rust-related content since it's becoming an increasingly important sister language to Python.

After publishing the call for proposals, we begin recruiting external reviewers. This year we expected to receive 500 submissions, and wanted three reviews per submission, so we needed to recruit about 50 external reviewers in addition to our committee members, who also preview submissions.

How do you select which proposals to accept after receiving all the reviews?

FW: The goal is to create a diverse program, both in terms of speakers and content. We have a comprehensive process that combines several factors. First, we look at average review scores, but we make some adjustments. For instance, if we notice a reviewer consistently gives very positive scores, we try to correct a bias in their ratings.

We have diversity considerations too - submitters can identify if they're from an underrepresented group, which we factor into our decisions.

And of course, there's community voting - in early January, everyone who attended previous conferences receives an invitation to vote on submissions.

This gives us both expert reviews and community interest scores. We then have committee discussions to balance everything. It's not purely algorithmic - we look at factors like topic distribution. For example, last year we had five excellent submissions about Polars, but we only accepted two because we didn't want to oversaturate the conference with one topic.

Do you ever encounter situations where reviewers rate a talk highly but it gets few community votes, or vice versa? Or do the ratings usually align?

FW: No, they don't always align. A good example is security talks. When we recruit external reviewers, they can choose which tracks and topics they want to review. Someone interested in security might give high scores to excellent security-focused submissions. However, these same talks might get few community votes because there's less general interest in the topics. This year, we're actually trying to accommodate more niche topics because we have more space in the venue in Darmstadt.

The reverse situation can be challenging too. For instance, if a talk has "AI" in the title, it often gets lots of community votes because people just read the title and think it "sounds interesting." But as reviewers, we see more - we evaluate both the abstract and the detailed description. If we notice that a description lacks substance, we might reject a highly-voted talk because we don't believe it will deliver on its promise.

What actually makes a good talk? What are the key components the reviewers are looking for in the proposal?

FW: You need a clear message - when reading an abstract, you should understand what you'll learn and what message the speaker wants to convey. It should be original, not something that's been talked about many times. For example, we don't want someone just explaining how to set up the most basic FastAPI service. We want a story, and experiences from your job or project.

Let's demystify one of the most common questions: I've heard different theories about which day or time slot the most interesting talks are scheduled for. Do you schedule talks randomly or is there a system?

FW: We schedule talks in a way that makes visiting the conference a nice experience. We try to group similar topics together, assuming if you're interested in, for example, data manipulation, you'd rather hear all three related talks consecutively without running around the venue.

Another thing we do is use the popularity voting to assign rooms - if a lot of people voted for a talk, we assume there will be high interest, so it's more likely to get a bigger room. We have several optimizations for this using mixed integer programming with a Python tool. I actually gave a talk about this last year at EuroPython explaining how the scheduling works. You can check it out here: link.

How can someone contribute to the PyCon program? Are you looking for volunteers?

FW: Always a shout-out - if people are interested in working with us next year, it's really easy. Just let us know if you want to become a reviewer by writing to program25@pycon.de, and we'll put you on the list for next year. You can also join the program committee - it's really cool because we meet every week, have interesting discussions, and you can help shape the conference. It's a creative process. We always welcome new volunteers.