PyCon CZ 23 - came for the talks, stayed for the community

Last week from 14-17 September, I had the pleasure to not only be one of more than 600 attendees of PyCon CZ 23 in Prague, but I also had the honor to give a talk about my work in open source, more specifically about tox, the Python test automation tool.

Business before pleasure

Already at the evening before the conference, the organizers invited to the speakers’ dinner at the Tradice Original Czech Restaurant - and true to their name, they served excellent Czech food!

This dinner was a great opportunity to connect with other speakers and the wonderful organizers. Also this was already a perfect preview on what will happen the next couple of days - great planning, awesome people, delicious food, a lot of fun, and the unparalleled kindness of the many, many volunteers who organized the conference over the course of 8 months!

Laysa Uchoa teaching me the language of the Generation Z.

The next two days offered fascinating talks and keynotes in four parallel tracks. The conference was hosted in the former monastery Gabriel Loci, one of the most stunning venues I have ever visited.

Gabriel Loci - a former monastery and the venue for PyCon CZ 23

Day 1

After having a delicious breakfast at the venue, the first day started with Evelina Gabašová’s keynote on “Transformational Power of Openness: Reflections on Open Science and Open Source”. In an entertaining and informative way, Evelina showcased the principles and approaches in open source and how they are applied in academic practice. And in passing we learnt that genes had to be renamed as a famous spreadsheet app kept messing with the names! tl/dr: Do not not use spreadsheets for science!

Evelina presenting her entertaining and informative keynote

I used the time in between the talks to explore the beautiful building, and to say hi to the sponsors of the conference! Thank you! Without you this wonderful conference would not have happened!

I was delighted to find a retro gaming room a bit offside. The local retro gaming club brought tons of old games consoles and computers. I was immediately drawn to this one console which sound felt so familiar. And indeed, I remembered the game and even how to play it. I certainly was shocked a bit when I had a look at the label which showed the release date! 1982!!

Vectrex - a game released 1982!

The conference venue also hosted several coffee booths, which served excellent cappuccino, one dedicated tea booth, and free child care! All in all the organizers were very eager to make the event as inclusive as possible. Thank you for that!

Onto the stage!

Next up was my talk “Behind the Scenes of tox: Rewriting a Tool with more than 10 Million Monthly Downloads”, which - according to the organizers - held several records, one of them was that it had the longest title of the conference.

I had the honor of speaking in the packed __main__ hall in front of a lovely and interactive audience. I am flattened about how well my talk was received and how many people approached me afterwards.

Me on stage - minutes before the talk started!

After I savored a fantastic Czech lunch, I thoroughly enjoyed Filip Sedlák’s presentation about “API Stability: Don’t Break Your Users!”, which resulted in many questions and a vivid discussion afterwards. There is always the trade-off between more work for the maintainers and ease of use and stability for the users. Filip is certainly a proponent for die-hard API stability, which I sympathize with a lot, but probably cannot offer all the time as maintainer myself.

Filip on API stability

One of the highlights of the day was certainly Manivannan Selvaraj’s talk about “Code Complete, Leader Incomplete: The Imposter Staff Engineer’s Journey to Leadership”. I truly think we need more talks about soft skills and personal development at Python conferences, and Mani certainly delivered. Mani is a Staff engineer at Slack and gave us a very personal view on his career development, about his anxiety during his career, and how he overcame all self-doubts and finally made it!

Mani explains how he overcame the imposter syndrome

The last talk of the day was about “Taming the Serverless Beast: Hexagonal Architecture with Python” by Anton Caceres.

Anton is the host of PyMunich and PyConWeb Munich, and certainly also a great speaker. He showed the problems which came with the rise of serverless architecture - long functions with many responsibilities, which then are very hard to test. But Anton also showed us a way out - hexagonal architecture!

Anton getting prepared for his talk about hexagonal architecture

Next were the lightning talks. A series of short talks with a hard limit of 5 minutes. These are always fun and you learn a lot of new things in only a couple of minutes. There were talks about version numbers, programming katas, why pinning dependencies is a good idea, a fun story about parenting and the lessons learned and many more.

Lightning talks are short, 5 minute talks, presented by whoever adds themselves to the list

While the official part of the conference was finished, the organizers invited everybody to a board game night. After another packed day, I decided to skip that event, and to have dinner with two new friends in a fantastic restaurant nearby and exchange stories and tips about personal development.

Day 2

Well rested, and after having a delicious breakfast at the venue, the second day of the conference started with Karel Minařík’s keynote about “The Library and the Maze” - an intriguing introduction to machine learning concepts in the context of semantic search - a field where I do not have a profound knowledge, so thanks Karel for getting me and the packed audience up to speed!

Next up was a certainly not uncontroversial talk about using classes for pytest by Mikuláš Poul. Mikuláš mentioned a lot of advantages when using classes, but also pointed out the possible drawbacks. I am an advocate of simple tests, and the suggested usage of classes in combination with inheritance and abstractions might interfere with that goal, but this talk was certainly a welcome brain teaser.

Is it really a good idea to use classes with pytest?

To my delight there was another non-technical talk announced. David Majda looked back to his many years of experience and how that helped “Making Remote Teams Work”. As here at Canonical, with the exception of very few people, all work remote 100%, I was highly interested in David’s experience and how we could make things even better. Turned out we already apply most of the best practices.

Taking care of people is always a good idea - independent whether they work from home or in an office.

After another delicious local lunch, I took the time and sat down with a couple of people who were both interested in Canonical in general, but also specifically in joining us. I had some wonderful chats and I hope I can welcome a couple of new colleagues soon enough!

In the afternoon Domitil Katemo delivered a whirlwind talk about “Python in the Namibian desert”. She kindly explained the audience first where Namibia is at all, and then went into challenges about funding, infrastructure and organizing events, but also highlighted the fantastic local community. Throughout the talk it was made crystal clear how much of an influence Canonical’s own Daniele Procida has had and still has on the development of the Namibia’s Python community. This is highly inspiring!

Domitil introduces us to the history of Python in Namibia

Benjamin Alan Jamie was announced last minute to tell us more about “From a freetime Python project to standard in localization – Weblate”. Weblate is a modern web-based translation system for software projects. I was equally impressed by the features, the fact that the project is well funded, which is not very common for open source projects, and most about how enthusiastic Benjamin spoke about weblate, even years after joining the project. I think it is telling a story, that even after the end of the presentation, almost all attendees sticked around for another hour of chatting with Benjamin and asking questions.

Benjamin is about to start with an introduction to the weblate translation system - do you see the green shirt? It is mine now :slight_smile:

The official program of the second day ended again with lightning talks. Once again, within only a couple of minutes we learned about new technolgies, best practices, exciting new conferences and more. I think the highlight was quite likely Yulia Barabash’s demonstration on how to instruct Amazon’s Alexa to keep you up-to-date about upcoming Python conferences. Fun fact: Yulia somehow connected to the conference’s sound system and Alexa’s voice was heard all over the building announcing the next Python conference in Asia!

Lightning talks of day 2

“How many people know the black formatter?” - technical difficulties led to a black screen with Macs, but nobody could stop Petr, who moderated the lightning talks, from entertaining the audience.

After the lightning talks all the organizers and volunteers entered the stage for the goodbye ceremony. This is usually a very emotional moment anyway, but when they pulled out their instruments and started playing “Always look on the bright side of life” from Monty Python, and the whole audience chimed in, you could see happy faces everywhere!

Most, if not all organizers/volunteers on stage, performing the famous Monty Python song.

Day two finally concluded with the afterparty with sandwiches, quesedillas, wraps and paninis, and certainly with drinks. Speaking of drinks, there was an issue with drafting the beer. The queue got longer and longer, but this did not spoil the fantastic mood. On the contrary, the queue offered a perfect opportunity to connect with more participants and especially with the many volunteers.

All good things come to an end, and this applies also to one of the most fascinating conferences I had ever the chance to attend! I am deeply grateful to the volunteers and everybody involved!

This is the end - but I will be back! Thanks to Adina for giving me permission to use this photo.