PyDev of the Week: Cristián Maureira-Fredes

This week we welcome Cristián Maureira-Fredes (@cmaureir) as our PyDev of the Week! Cristián is a core developer on the Qt for Python project (AKA PySide6). You can catch up with Cristián on GitHub or on Cristián’s website.

Let’s spend some time getting to know Cristián better!

Can you tell us a little about yourself (hobbies, education, etc):

My name is Cristián Maureira-Fredes, I’m originally from San Antonio, Chile, but I have been living in Berlin, Germany since 2013.

After studying Computer Science, I arrived in Germany to finish my Master’s and start a PhD in Astrophysics. After finishing my studies I decided to move to the industry, and have been working at The Qt Company since 2018.

At work, I currently have the title of ‘R&D Senior Manager’, which means I’m the team lead of a couple of teams, one focused on the Core aspects of the Qt Framework, and the other is the official set of Python bindings for the Qt framework, the Qt for Python project.

Most of my spare time is invested in the Python community, and I help with the organization of activities in Python Chile, Python Spain, and a new global community called Python en Español’, which includes every Spanish-speaking country.

Why did you start using Python?

I was lucky to get a student job at my university in a computer laboratory (LabComp) where I was introduced to many sysadmin-related tasks, among them, task automation. I started coding in Bash, then moved to Perl, and at some point, someone mentioned Python, back then it was Python 2.5 (I think), but I didn’t like it at first, I was comfortable with Bash, Perl, Awk, and other command line languages and tools.

In 2009 (Python 2.6…maybe?), I gave it a second try and started to use it more often since then I have been a happy Pythonista.

What other programming languages do you know and which is your favorite?

On my daily job, and from my studies, I have been always using C++, which I really like. After learning to code in C, C++ was really a jump forward, and made me fall in love with programming. During my studies I used both C++ and Python, and since then my heart is split between them, so I cannot decide. However, if you ask me about ‘programming language communities’ I will pick Python without blinking.

What projects are you working on now?

I’m one of the Maintainers of Qt for Python project, so that’s my main responsibility, which is cool because it’s an Open Source project, but I get payed to develop and lead.

Besides that, I was really lucky to be part of the group translating the official Python Documentation into Spanish, now we are just waiting for 3.11 to be out, to continue with the new minor Python version.

Other things I do, but not sure if I should call them projects are bots for the many platforms I interact with the community like integrations with Github, notifications, discord task automation, etc, little static websites for conferences or initiatives, data dashboard, etc.

On a community aspect, I’m currently working with the previously mentioned communities organizing events, conferences, and more, which to be honest, is sometimes more work than writing code for a software project! but I really enjoy doing it.

Which Python libraries are your favorite (core or 3rd party)?

PySide6 because I have been working really hard on it, and use it from time to time to create talks, workshops, webinars and more 🙂

Besides that, since the first time I discovered NumPy, it has been a module that is amazing, it solved a real problem I had back during my studies and most of the modules that have been ‘inheriting’ from NumPy are cool as well, like Pandas.

From the core…not sure if I have a favorite module, but I do love the implementation of different built-in objects. I have spend the last couple of years giving talks about the CPython implementation, but with a lot of humor, so people don’t feel too intimidated to jump into the core of the language. For example My 2021 EuroPython talk or the lightning talk I gave at PyConUS 2022 to make English speakers feel a bit how it’s for non-natives to learn Python

How did you end up on the Qt for Python team?

As mentioned before, I joined The Qt Company just after finishing my PhD, and it was a surprise to even find a job ad that require Python and C++, because I knew Qt was purely C++.

Knowing Qt since my university times, it was really a dream come true. After one year, I even wrote about my experience, because it was something I never expected.

What do you think are the best 3 features of Qt for Python?

I’d try to not to be bias here, but most people out there mention that PySide (Qt for Python) is kind of equivalent to PyQt, but a shift we decided to do was not to “only be Qt bindings” for Python users, so we decided to add more things for the Python ecosystem, like:

1. The option to enable snake_case Qt API instead of camelCase, and removing setters and getters and access the Qt properties directly. More info

2. Enabling other interpreters like PyPy. More info

3. Break Qt-API in a good way to provide API for NumPy arrays, Opaque containers to directly access C++ objects without copying

I think those aspects of PySide really make a difference, and we can offer Python users much more to get started with Qt.

Is there anything else you’d like to say?

I’d like to thank you for this opportunity, I really hope that sharing some of my life experiences in the Python community can motivate more people to join their local communities, contribute to projects they like, or even apply to companies they always dreamed of working.

Thanks for doing the interview, Cristián!