This week we welcome Raphael Pierzina (@hackebrot) as our PyDev of the Week! Raphael is a core developer of pytest, a popular testing framework for Python. You can learn more about Raphael by visiting his blog or checking out his Github profile. Let’s take a few moments to get to know Raphael!
Can you tell us a little about yourself (hobbies, education, etc)
My background is in 3D visualization and animation. After graduating from university with a Bachelor of Arts in Design, I worked as a software developer for a visual effects company for a few years and built applications for digital artists.
Fast forward to today, after having worked at a few other software companies, I’m now at Mozilla where I work on Firefox Telemetry. I manage projects to reduce Telemetry related blind-spots in our Firefox browser products and support our Software Engineers and Data Engineers in increasing the automated test coverage for the Firefox Telemetry component and our Firefox Data Platform. I wrote about my first year at Mozilla on my blog earlier this year in February, if you’d like to find out more about my work.
Why did you start using Python?
Back when I worked in VFX, my team developed plugins for several 3D computer graphic applications in whatever scripting language these programs supported:
- MaxScript in 3ds Max
- MEL in Maya
- TCL in Nuke
- ZScript in ZBrush
- C# in Unity
We often had to develop similar features for the different programs in the respective languages, which was not only tedious but also felt really unnecessary.
When I first learned about PyPI and the many awesome frameworks, libraries, and CLI apps that the Python community created and published under open-source licenses, I immediately fell in love with Python and started to look for ways to get involved and contribute back to Python projects that seemed welcoming to newcomers, like for example cookiecutter. 🍪
What other programming languages do you know and which is your favorite?
Aside from the scripting languages that I’ve mentioned earlier, I learned C++ and Java at university, but I wouldn’t say I know those as I haven’t used them in years. I’ve done a fair bit in Go for a previous job and for personal projects, but Python is definitely what I feel most proficient in. I recently started learning Rust and really like it so far.
While I don’t always enjoy coding in Python (I’ve worked on adding Python 3 support to way too many projects at this point and still support Python 2 in the majority of the projects that I maintain), Python is still my favorite programming language!
Through my involvement in several open-source Python projects, from attending and speaking at Python conferences and meetups, and interactions on Twitter, I have made a lot of friends in the Python community. If you see me at EuroPython or PyCon DE this year, please say hi!
What projects are you working on now?
Which Python libraries are your favorite (core or 3rd party)?
What lessons have you learned as a maintainer?
Setting expectations and being able to say “No” is really important. Allow yourself to take breaks or even walk away from your projects. Take care of yourself!
I gave a talk about the challenges of maintaining a popular open-source project at EuroPython in 2018. While this talk might not have quite as many views on YouTube as some of my other talks, it was very important to me to share what I’ve learned from maintaining cookiecutter for several years and I hope it helps folks who find themselves in a similar position.
Thanks for doing the interview, Raphael!