This week we welcome Mario Corchero (@mariocj89) as our PyDev of the Week! He is the chair of PyLondinium18, PyConES and PyCon Charlas, the Spanish track at this year’s PyCon US. Let’s spend some time learning more about Mario!
Can you tell us a little about yourself (hobbies, education, etc.):
I work at Bloomberg as a Senior Software Developer on the Python Infrastructure team, I’ve previously worked in other teams within Bloomberg’s Engineering department, like News Automation and News Search, where I used Python to automate the generation of content that we deliver to our clients in the form of news. This was quite an exciting project to be a part of. Before joining Bloomberg in London, I worked for Amadeus (Nice, France) and as an assistant researcher at my university in Spain, where I studied Computer Science and Software Development.
My hobbies are travelling and tapas. For me, one of the greatest pleasures in life is to enjoy some drinks with small plates of food, while chatting with my friends. I cannot get used to “just drinking” as they do here in the UK ☺. When travelling, I hate taking photos, but I have a really bad memory, so I love to record videos, edit them and watch them later.
In keeping with my enjoyment of travel, I also love going to Python conferences and meeting new people. It is a different experience from travelling for leisure, but I always come back happier after meeting someone new at a conference. I love when people approach me to talk, even if we haven’t met before!
Also, I should also mention that my partner and I have guinea pig which you will always see included in the slides for all of my presentations. He is part of my family!
Why did you start using Python?
I started using Python in my first year at Amadeus, six years ago. Even if the company was mainly using C++ at the time, they had a tool for integration testing that used Python under the hood, so I learned it and started to develop extensions for it that automated much of the manual work that was needed. I got totally hooked and started to use it at home to write some simple scripts.
After a year of using the language, I decided to move my website (http://chooserandom.com) to Django and got much deeper into Python. It also helped me get a contract to develop a call system for medical urgency in Colombia, quite a meaningful project due to the topic. I totally felt I was flying using Django after mainly using PHP and Java to develop web interfaces. It was quite a great experience.
What other programming languages do you know and which is your favorite?
But that is not the whole allure of Python. The language comes with almost 150,000 projects in PyPI (https://pypi.org) that are ready to use. Some that stand out are the SciPy kit, web frameworks, CLI, scraping packages, etc. These make Python not just a great language within a domain, but a real multipurpose environment. We probably shouldn’t, but Python can be used to replace almost any other language.
All this, combined with the outstanding community that Python has, makes it my language of choice by far. We don’t realize it as much as we should, but the Python community is totally different from others. We all acknowledge how important it is to be inclusive, helpful to newcomers and the value of open source. This peaks in the form of the different PyCon events. Everyone agrees that PyCons feel totally different from any other conference. I’d recommend all programmers with a minimal knowledge of Python try to attend one at least once; it will totally captivate you!
As Naomi Ceder once said, “I came for the language, but stay for the community.”
I’m looking forward to see what other surprises Python has for us in the future. The language is getting into education, microcontrollers, etc. I was quite surprised when my partner, Melania, a building engineer, showed me that she was using Python to design buildings! Let’s see where the limit is and if Python finally squeezes itself into Excel.
What projects are you working on now?
At Bloomberg, I work on helping make developers as efficient as possible when using Python. This includes a lot of work with Python, the development of internal tools, packaging, support and training, among other responsibilities. Our goal is to make Python the primary language at Bloomberg and we are getting closer and closer. I worked on organizing PyLondinium 2018, the first general Python conference in London and one where all the money collected from tickets is being given to the PSF. I feel quite lucky that my company supports this kind of work.
I am also the vice president of the Python Spain Board, where we coordinate the organization of PyConES and try to promote the use of Python in Spain and bring the community together.
Last but not least, I am rewriting my website (http://chooserandom). At the moment, its stack uses MongoDB plus Django and I am working with some friends to move it fully to PostgreSQL, flask and react.js. The page has more than a hundred thousand visits a month and we thought it deserved some “serious” work. We use it mainly as a way to try out new technologies as they come up. I spoke about it in a lighting talk if you are interested in the number of surprises related to the development of this website.
Which Python libraries are your favorite (core or 3rd party)?
That’s an interesting question that I’ve never really thought about. I’d probably say unittest and logging from the standard library. They prove how important the concept of “batteries included” is in Python. First, unittest helps reinforce how important tests are. Plus, with the mock library, we can create all kind of fakes to test our code in isolation. Even if I mainly use pytest, I think having unittest is key for the language.
I also picked logging as I really like the design behind it. The module uses composition beautifully to address most use cases a developer can face when needing to audit their application with logs. This, combined with the collaborative approach where the usage of logging is totally detached from its configuration, makes it a killer module IMHO. Being able to instrument a library with logs — without having to worry about how it is going to be configured — is simply beautiful. While this was borrowed from log4j in Java, it still deserves praise.
How did you get into organizing Python / programming conferences?
I’m not sure I remember exactly. I had organized some smaller events before, but I think it all started with a PyConES or EuroPython, when the president of the Python Spain association, Juan Luis Cano and a person I met, Victor Terron, convinced me and another good friend, David Naranjo, to organize an event in the city were we were studying (Caceres, Extremadura). We proposed it informally and, after some months of hard work, it started to take shape.
The conference proved to be a success, even though we were quite worried due to the region being difficult to get to from the rest of Spain. But the city is a must see if you’re visiting Spain! It is a UNESCO World Heritage site (plus, “Game of Thrones” recorded some of its episodes there ☺). If you ever fancy travelling around my region, Extremadura, drop me an email. I’m happy to recommend some unforgettable routes.
The conference totally burned us out, though. It required a lot of time throughout the year to organize . Plus, it was incredibly stressful, For example, on the day of the workshops, I was literally lying on the floor with Pedro Alvarez, another organizer and good friend, after we couldn’t find the lanyards (these magically appeared three hours after the conference started). Despite all this stress from PyConES and a promise to myself to never commit to such an effort again, I got involved in organizing some sprints, a Spanish track at PyCon 2018 in Cleveland and PyLondinium. Yeah, I know…
What advice would you give to other organizers?
Each organizer probably has their own style, but the things I find key for new organizers are:
- Manage to find a “big” group of volunteers to help out with the work related to the event.
- Organize the work in a TODO list system like Trello where any volunteer can pick up open tasks.
- Make sure to have a strong “small group” of core organizers or Chairs to coordinate the work among the volunteers.
- Delegate responsibility, not tasks. Rather than having someone publish an email, have a person in charge of communication to handle everything related to it. Working groups are a great way to handle this.
- Diversity and inclusion doesn’t “just happen.” Make sure you put effort into your event to ensure that it is diverse and inclusive. This will ensure everyone has a much better time.
- Don’t panic! Things will not always go as you expected ☺.
- Start as early as possible… you will always underestimate the amount of work needed for any event.
Thanks for doing the interview!