PyConIT 2022: the story of the 20tab team

March 30, 2023, by Anna Lisa Di Vincenzo

Community

Community

PyConIT-2022-20tab

For the 20tab team, attending conferences and industry meetings is one of the most important moments. And if on these occasions we also talk about Python, then they become indispensable.

Here is our experience at PyCon Italia 2022. 

20tab and the continuous learning

One of the principles behind the 20tab way is precisely that of continuous learning, which involves the study and research of new technologies and opportunities, to be applied directly tothe products we are building. But also and above all by some selected events, in which all the strength of the so-called Continuous Disclosure is unleashed: a virtuous circle through which we bring our knowledge and skills to the communities and absorb as many from professionals and experts, to whom we also have the pleasure of shake hands.

One of the most important annual conferences for us is PyCon, both because we are passionate about the Python programming language and because we have always been active members of the community.

The PyCon Italia 2022 was even more special than usual: finally live again and with great choral participation of the team.

From 20tab to PyCon

The talks held by our team at the 2022 conference touched on technical and less technical aspects, returning a complete picture perfectly in line with our 20tab way.

We asked the speakers to tell us something about their talks but above all to explain what they wanted to leave to the participants of the event. 

  • Maurizio, The journey of a User Story (lightning talk)

I wanted to make it clear that in addition to the "classic" user stories template, the important thing is how these are used by the team to align with customers on how we create value for users.

  • Virginia, Python Developers vs UX/UI Designer, meetings and clashe

I talked about my experience as a UX/UI Designer who has been collaborating for 4 years with a team of Python developers, two similar worlds that can feel distant and speak different languages. Through my story and with the two characters Pallino (little dot) the designer and Quadratino (little square) the developer, I wanted to tell how we actually aim towards the same goals: to build quality products that are useful for users.

  • Paolo, Make the most of Django

After many technical talks presented online in the last two years, for this new live edition of PyCon Italia, I wanted to talk about the Django community but also more generally about Python and the Free Software movement. I've tried to get the message across that the way to take full advantage and improve as developers and community members is to get involved and actively contribute to its development.

  • Matteo, How to exploit the potential of Django session auth in a multi-tenant project

I talked about the adoption of a technical and implementing choice that went beyond the technical "literature" and documentation on the subject. In particular, I have described, through some examples, the method adopted for managing a backend app in Django, with multiple tenants management and interfaced, behind authentication, through RESTful API calls. All in the perspective of sharing experiences and knowledge.

  • Gabriele, Discovery phase emergency training for frustrated developers

As programmers, we have all experienced the frustration of working with maximum effort on software that then, at best, did not produce the desired results, and at worst never even went into production. Considering us as gears in a functionality factory, rather than as team specialists aiming to solve problems and make a real impact on the real world, is an unprecedented waste. For several years now, methodologies and tools have been created to help solve this problem, from Design Thinking to Lean Startup, Impact Mapping or the Opportunity Solution Tree. It's not just Designer or Product Manager stuff, developers must be the protagonists of this Discovery process, even if they often keep away from it. The goal of this kind of "training" is to give you the tools and some inspiration to start this small revolution, both on a personal and team level.

  • Valentino, Leaflet on steroids with Django

Based on a real case, in this talk, I provided ideas and tools to address backend and frontend side optimizations on Leaflet and Django, very useful in the case of large amounts of geospatial data. The goal was to amaze the audience by telling what we have developed with Leaflet and Django. I think I succeeded!

  • Raffaele:
  • Continuous Delivery is a state of mind

In this talk I described how, together with my colleagues, we arrived at the construction of an automated process to make releases from the first commit using Kubernetes, Docker, Python and Terraform for the creation of web applications based on Django and React. The goal was to sensitize programmers to take an interest in Product Management issues through the story of my experience, using Continuous Delivery as an excuse. Making a quality product is done through good practices and good methodologies. DevOps and Continuous Delivery help us release valuable software, but it is important to know why we are making that software. Also in the story I add our experience of continuous delivery through the use of Talos.

  • Continuous Disclosure: the new learning dissemination is continuous 

The goal here has been to raise awareness in the community to share their experiences. Everything serves to improve the ecosystem and therefore also our work. You enter a virtuous circle in which you can learn, apply and disseminate it in an iterative way, for a constant Continuous Improvement to occur.

  • Panel: Continuously releasing valuable software. You can!

I moderated a panel where Fabio Mora, Serena Sensini and Filippo Morelli (20tab) discussed two fundamental questions: is it really necessary to use approaches such as Continuous Integration and Continuous Delivery? Can you implement a solid release process without being a DevOps expert? The goal was once again to bring the experiences of panelists in order to spread the DevOps culture. Even in 2022 it is necessary to bring this information, which has been known for 20 years, also to the attention of experienced programmers. All this pushes in the direction of making technicians understand that they should be interested also in methodological aspects in order to produce valuable software.

  • Filippo, Automate web projects creation, development, test and deployment using Python, Terraform and GitLab

An overview of how, in 20tab, a group of fearless web developers, acting as experienced DevOps, have realized the decade-long dream of automating the creation, testing and distribution of projects, integrating the latest CI/CD solutions and technologies into Talos . The goal was to introduce this business tool (also showing a demo) and as many useful features as possible that we have included in it over the years, up to the most recent additions.

  • Daniele, Simple understandings. How we decouple development through contract testing

When I joined 20tab, the company was already following the Lean and Agile methodologies and was composed mainly of Python/Django developers. When we decided to decouple the services (back-end in Django and front-end in React JS) we faced difficulties due to different development times or technical limitations. I talked about the solutions we found, the experiments, the errors and the awareness that came out of this process, with a particular focus on contract testing.

From PyCon to 20tab

And like in any exchange, we shared and left much of knowledge and mindset of 20tab at PyCon but we also came back enriched by this experience, as professionals and as people.

For any team member, speaker or just conference attendee, returning from PyCon meant a lot. Here's what they told us.

Maurizio: It was great to see colleagues in person, and very nice to be back to return to attending a live conference, with all the networking and meetings that can and have been done. I've met tons of old friends, and I've met some new ones! Tiring, but very profitable experience.

Virginia: I only stayed in Florence for one day, a short but interesting experience. In my talk I talked about the relationship with developers, so what better occasion than a day surrounded by squares. :)

Paolo: From the conference I brought home a lot of new technical knowledge, new awareness deriving from excellent talks, but also simple chats and above all many new connections with members of the community, while certainly strengthening old friendships.

Matteo: A wonderful experience that confirmed the solidity and openness of the Italian and international community of Python developers, a truly well-organized conference in a harmonious and serene atmosphere. It was an opportunity to hold my first talk in public, I was excited, public speaking always puts me in awe, but I’m really happy with how it went.

Gabriele: The Python community is large and of the highest level, it is nice to have been part of it for many years and it is always a confirmation that we made the right choice to push it and help it grow as 20tab. Even in a not strictly technical topic like the one I presented, there was a lot of interest (the classroom was full and someone even had to remain outside), to demonstrate the general open-mindedness of the participants. Finally, we’re proud as 20tab to have presented 12 talks this year, it seems to me the right gift to celebrate the 10th anniversary since the birth of the company.

Giulio: I learned a lot about how to write cleaner code, about the quirks of Python, and most of all the event made me discover how lively the Python community is. Fantastic experience where I got to know my colleagues better too.

Juliana: For me it meant the opportunity to meet people who shares the same passion as me and who are great professionals. Also a confirmation of the fact that I am part of an innovative company, focused on discovering the latest trends in our industry.

Daniele: It was a good experience and I put myself to the test, leaving my comfort zone. I realized that if I want to introduce myself as a speaker at a conference, I need a lot of time and focus.

Raffaele: I saw that there is a lot of interest among the technicians on the subject of Continuous Disclosure and I realized that it is never enough to talk about contamination and disclosure. But most of all, the conference was a beautiful confirmation that the 20tab team is at the forefront and presents itself as a single entity, in unison. I've learned that relationships are important, especially when they happen in live contexts.

Niccolò: For me, on the human side, it was a great team experience, on the professional side, I found great ideas on how to improve and expand our current use of automatic testing.

Valentino: PyCon is the conference that has always given me the most pleasant sensations: being among members of the same community, reuniting with old and new friends every year is always a fantastic experience. From PyCon 2022 I take home many interesting technical ideas, including Hypothesis for Python, and many new ideas from this wonderful programming language, which greatly influences my way of writing JavaScript code.

Filippo: What came out of the experience is that we are a beautiful, united and motivated team, that I should not reduce myself to doing everything at the last minute and that I am not able to make estimates (what I thought of doing in one night took me, then, two weeks of hard work with Daniele to really complete it). I was under the impression that Python for web is now an established standard and we are at the top of the curve, since I haven’t seen presented who knows what incredible new things. This means that we use solid tools with a good community behind us, but also that we have to start looking around for any new kids on the block.

Participation in conferences and events has always been a priority for 20tab: when it becomes a real team experience it becomes a pleasure and a moment of great sharing.

Thanks to PyCon Italia for welcoming us and for letting us breathe and experience the Python world to the fullest. See you next year!