Our top picks from PyCon IT 2023

Marco Santoni
flowe.ita
8 min readJun 12, 2023

--

The banner of the conference

PyCon IT is the main conference held annually in Italy around the Python ecosystem. It lasts four days and lets you dive in topics like coding, web app development, data science, AI, and much more. It featured 120+ sessions with more than 800 participants coming from more than 40 countries.

Our Data Platform and Banking Engineering teams just came back from the last edition of the conference that took place in Florence. In this article, I asked each member of those teams the following question:

If you have to choose one talk, which one you would recommend?

Our Flowe team at the PyCon!

TL;DR these are our top picks:

  • Trace functions: Building a tiny debugger
  • Learning the Other “Full Stack”: An epistle from business to the technical people
  • Beyond Grid Search: XGBoost and Optuna as the ultimate ML Optimization Combo
  • Remote teams are autistic
  • HoloViz: Visualization and Interactive Dashboards in Python
  • Coding to interfaces: Structural Subtyping in Python
  • Site Reliability engineering when your team is too small for a full time SRE
  • Don’t just test, my friend, test better

You’ll find below a paragraph dedicated to each of the talks above written by the team member that chose it and her/his comments. Enjoy reading it, and let’s have a look together at which talks were most successful!

“Trace functions: Building a tiny debugger” by Jonathan Oberländer, chosen by Salvatore Giammanco, software engineer

Live coding talks are unusual at PyConIT due to the brief amount of time given to speakers, but Jonathan managed to create a debugger in less than 20 minutes! Using Python built-in trace functions, he perfectly explained us how a debugger (in Python) works, and at the same time he wrote one from scratch and tested it. His talk was incredibly clear and engaging even though the topic might not be trivial for everyone. Let me add that the presentation was the best one I’ve ever seen: thanks to representty and vim he never left the terminal for the whole talk.

“Learning the Other “Full Stack”: An epistle from business to the technical people” by Donatella Taurasi, chosen by Igor Saggese, data software engineer

This talk is centered on the relationship between business and technical people within a company. Given different backgrounds of their people, these two groups seem to be naturally inclined to speak different languages, work with different priorities and to easily start counterproductive conflicts.
What they tend to forget is that they are part of the same team, whose main goal is the success of the company and each group cannot live without the other. Some success/failure cases were considered, also providing valuable suggestions about how to bring people on the same side.
I found this talk to be very interesting, since I experienced this issue myself many times during my working experience and was the main reason of serious project issues, bad decisions, waste of resources and frictions that affect working environment. From now on I’ll always keep these suggestions in mind on my daily work, determined to see if this challenge can be won.

A slide from the talk by Arias on Optuna

“Beyond Grid Search: XGBoost and Optuna as the ultimate ML Optimization Combo” by William Arias, chosen by Luigi Brancati, cloud data engineer

When training an ML model, one of the more time consuming tasks is tuning the model, i.e. looking for the best hyperparameters in the hyperparameter space. Grid Search is usually the only option for many Data Scientists, but depending on the problem at hand it may take ages. Furthermore, since grid search checks every combination among those provided, most data scientists will explore the hyperparameter space only sparsely and end up with a biased model. Here comes Optuna, an open-source hyperparameter optimization framework which offers many tools to speed up this task! First of all, Optuna will perform a smart search instead of a grid search, using state-of-the-art algorithms for sampling hyperparameters and efficiently pruning unpromising trials. This means Optuna won’t look into unpromising combinations of hyperparameters and decide on its own which combinations are best trying, which could save a lot of time. If you want to know more about the algorithms used, here is a paper from Optuna authors that explains more and benchmarks Optuna vs other similar frameworks. Second, each combination of hyperparameters is independent from the others so why not run them in parallel? If you’re running your tuning task on a cluster, Optuna will be able to parallelize the tuning task across multiple nodes. If you want to know more, check the talk from William Arias and Optuna docs.

“Remote teams are autistic” by Miriam Perrone, chosen by Gabriele Lamperti, data analyst

In this talk, Miriam talks about the similarities between people with autism and remote teams and ways to improve communication in the latter. The challenges for people with autism in communication are many: it is impossible for these people to read a face, understand the meaning of body language and comprehend tone of voice within a conversation. In affinity with people with autism, remote teams also have to struggle with these issues since, being written communication most of the time, there are not the benefits of normal conversation. This is why it’s good to be very specific in our communication, answering these questions: what, who, how, when, where, why. As a final step there is the communication pyramid that goes from a less intimate stage to a more intimate stage through email, chat, phone, video conference, face to face. For remote teams, depending on the message you want to carry, it is good to move upward in this pyramid and thus try to have as intimate contact as possible.

“HoloViz: Visualization and Interactive Dashboards in Python” by Jean-Luc Stevens, chosen by Elisa Aliverti, data engineer

I’ve been looking into interactive data visualization tools recently: some Python libraries like Streamlit and Voila, as well as other software like Power BI and Grafana. This talk was the chance for me to learn about HoloViz for the first time.

It is an ecosystem of Python packages and seems to have it all: handling of large, multidimensional datasets, rich customization and interactivity. It builds upon many well-known Python libraries both for data formats and visualization, and during the talk we also saw how to integrate it with PyScript to easily deploy your dashboard in the browser.

The talk was pretty clear and well-structured and got me eager to try out HoloViz. I would especially recommend it for scientific research and geospatial data, as they did in this World glaciers explorer.

“Coding to interfaces: Structural Subtyping in Python” chosen by Giovanni Elias, software engineer

This talk was held by Francesco Panico and Carlo Bertini, who, in my opinion, have done a very good job of simplifying quite a daunting topic, condensing into half an hour a discussion that took python developer many years to come to terms with: how to separate the interface from the implementation in dynamically typed language.

The talk started with the introduction of the problem of coding to interfaces, and in general of typing, in dynamically typed language such as python. Then it went on, presenting two variants: Nominal Subtyping and Structural Subtyping.

Nominal Subtyping, as a concept, is very close to inheritance.
Structural Subtyping refers to the methodology of implying inheritance: without explicitly inheriting from a class B, objects of class A, can be accepted where objects of type B are expected, as long as all of the attributes and methods of class B are implemented in class A. Basically, the type can be inferred at runtime.

The latter can be implemented in Python using ABC and prototypes. This can lead the code base to suffer less coupling while maintaining a clean logic structure.

The talk was clear, to the point, and most of all useful, to those who struggle with this kind of problems in their day to day job, and perhaps even to those developers who don’t directly need this tools, but are seeking to widen their purview of the language as a whole.

SRE talk by Darla Magdalene Shockley

“Site Reliability engineering when your team is too small for a full time SRE” by Darla Magdalene Shockley, chosen by Andrea Romeo, cloud data engineer

One of the most important question that each team asked itself is the following: how big does the team need to be to have a full time SRE? The answer to this question is, it depends on many things.

Anyway there are some best practices that the team has to have in order to reduce the need of an SRE: infrastructure as a code (IaaC), delivery and release automation, monitoring and alerting, incident response. The first two elements have the same principle, we need to automate at the maximum level everything, if you have automated a lot of processes then the probability to make some errors is less than before. The third element is fundamental to prevent application errors and incidents. The fourth is the final activity, the speed of the resolution of all the unexpected problems. Doing these things is fundamental, and the talk was very useful to understand how the actions done by this role are important, with some tips suggested: keep documentation, measure all the automations, budgets and keep in mind that the final goal must be the more possible fast resolution of a very very small set of problems.

Test better talk

“Don’t just test, my friend, test better” by Cheuk Ting Ho, chosen by Marco Santoni, head of data

Testing your code makes it more reliable, but writing tests can be tedious or even complex. In this talk, Cheuk gave an overview of few nice features of pytest that can be applied on a daily basis. These features (eg parametrize, fixtures, etc.) can make both the writing of new tests and the maintenance of existing ones more maintainable.

--

--

Marco Santoni
flowe.ita

I am passionate about data science and software engineering, and I am lucky to have turned them into my daily work.