What I learned from PyCon 2018 ProgCom

Attending PyCon has been in my wishlist for a while now. This year I convinced myself to do everything possible to attend PyCon 2018. I decided I had to earn it. I know, this sounds intense, it’s not. First of all there are no requirements to attend PyCon (other than buying a ticket). Second, by “earn it” I meant to, at least, submit a talk. And I already had a few ideas. Third, PyCon has a lot of opportunities to get involved, help  out and meet some awesome people. Coincidentally my criteria of “earn it” was to either submit a talk (as mentioned before), become a reviewer and/or volunteer for something. I’ll expand on the first two on this article.

PyCon 2018 logo
That snake is even more impressive in real life

Volunteering at PyCon was quickly out of the question because of work related reasons which I won’t mention in this article. Mainly because these reasons are boring and not particularly aligned to the context of this article. Since we are on the topic of Things I Won’t Be Talking About Here, I should mention I won’t be describing, in too much detail, PyCon’s reviewing process. If you would like to know more about the actual reviewing process Ned Jackson Lovely (the author of the ProgCom platform) wrote about it back in 2015 and Eric J. Ma wrote a wonderful article about it, too. Eric was also a part of PyCon’s ProgCom this year (2018).

This is how, back in Dec 2017, I started writing down a few talk ideas. – I have never put together a tutorial. Naturally I’m hesitant about submitting a tutorial idea, maybe next year.– I had three ideas in mind. These were really raw. These ideas consisted of: a first draft title and, at least, two  main topics. I decided to use metaprogramming as my submission topic. Two main reasons were involved in this decision:

  1. I find metaprogramming, and its uses, very interesting.
  2. I have used metaprogramming in  different projects and  I’ve seen some widely used libraries/frameworks use it successfully.

I should say I am fully aware of what Tim Peters said about metaclasses (to this day, I have not found where this quote was first introduced). To me metaprogramming is really interesting and useful. I agree more with Dmitry Vakhrushev’s article. Also, times have changed and I believe there are more uses for metaprogramming/metaclasses than only 1% of the cases. The talk was not accepted. This might start to look like a rant. Trust me, it is not. This is meant to be helpful to anybody who wants to submit a talk to PyCon or any other conference for that matter. More on this later.

Thoughts image
Chalkboard clouds can't contain ideas. Let your ideas run free!

Becoming Part of The Program Committee (ProgCom).

There was I, trying to put together a talk submission. Using all the tricks I knew to search on the vast sea of information that is the internet. Trying to get a sense of how I should write the talk outline, introduction, etc… I was lucky enough to stumble upon an article from 2012 written by Jacob Kaplan-Moss. I am not entirely sure [yet] what Mr. Kaplan’s role was on PyCon 2012, but I am very much grateful for that article. In this article Mr. Kaplan invites volunteers to subscribe to the PyCon Program Committee mailing list. I subscribed and in a few weeks I received a call for action. The review process had begun. The ProgCom mailing list is open to any member of the community. To some of you, this might look a bit strange. To the contrary, most conferences’ review committee is integrated of members from the community. This is great, because it means that PyCon (as many other conferences) is built by your own peers.

PyCon’s review process consist of two main stages. First Stage is, what we could call, a light filter. There is a predefined checklist which all talks must adhere to. The Second Stage consist of creating multiple groups based on topics drawn from the submitted talks. Out of each group there is only one talk selected. This is done by a collective vote. If a reviewer also submitted a talk, they will not be able to neither review their own talk nor vote on the group said talk is placed. All of this is possible thanks to all the people who have contributed to PyCon’s ProgCom platform.

The Art of Peer-review

There were many reviewers working together to build the best possible PyCon for everyone to enjoy. ProgCom members came from different technical and social backgrounds from all over the world. There was a constant communication between us all. This is very helpful because one has the opportunity to have conversations about topics that one might not fully understand with people who have more expertise. We did not only benefit from a technical point of view. There was also the opportunity to analyze the potential of a talk’s clearness, completeness, relevancy and pretty much any other aspect you can think of.

Peer Review Image
In practice, people don't talk in "star grades"

Having this peer-review also does wonders for diminishing bias, since the conversation always involve people from different backgrounds. This is one of the most important aspects of having diversity in a review panel. We all are human beings and we all have biases. There is really not much to do about that, it is part of what makes us human. But, by analyzing talks with people with different biases it becomes easier to not give into these biases.

For me, these conversations is from where I draw the most benefits. I was able to learn a great deal about new topics and also topics with which I was already very acquainted. Security, machine learning and CPython are some topics I was able to learn about in the few weeks I was part of the ProgCom. I would like to believe I also helped other committee members to learn a few new curiosities.

Advice For Future Submissions

As I mentioned in the beginning, my talk was not accepted. There is nothing wrong on having a talk rejected from a conference. Specially a conference as big as PyCon. I saw very good, well written, talks being rejected because, simply, there wasn’t enough slots to place them. There were others talks which had to be grouped in highly competitive groups and decisions had to be made.

If you submitted a talk this year and it was not accepted, do not, I repeat, do not feel discouraged about it. If you really believe in the topic, work on it a bit more and submit it again next year. Maybe submit it to your local python meetup. You can even try to submit more than one – I know I will be submitting multiple talks next year –.

I also encourage more community members to volunteer for next year’s program committee, or any other volunteer opportunities for that matter. This will give you a better perspective on some aspects of the conference. And not only on PyCon but also try to get involved in other conferences. Reading other people’s talk submissions can give you new ideas for your own submissions. Even volunteering for anything on-site can give you a better perspective of the needs of other attendees which you might not be familiar with. And last, but not least you will most definitely will meet amazing people.

By The Community, For The Community

I wrote this article to show, from my perspective, how PyCon is build by the community, for the community and to, hopefully, encourage others to participate in future conferences (not only PyCon). Forming part of the program committee is only one way a community member could help. There are many more volunteering opportunities. And there is a great deal to learn from a lot of very smart, interesting and thoughtful people.

I would also like to thank everyone that made, and keep making, PyCon possible. It is hard work and it is worth it. Special thanks to Jason Myers who wore the hat of leader this year and did a great job at keeping us in line.

Her work will have been finished by tonight