PyDev of the Week: Bruno Rocha

This week we welcome Bruno Rocha (@rochacbruno) as our PyDev of the Week! Bruno works for Red Hat and participates in the Python, Flask and Rust communities. You can see some of his projects over on Github or check out some of his writings on Medium. Let’s take a few moments to get to know Bruno better!

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

I’m Bruno Rocha, Software Engineer from São Paulo, Brazil.

I started playing with computers at a very young age when I was 12 when my mother gave me an old IBM XT 5160. After a few days playing DOOM and studying LOTUS 123 worksheets, I naturally became the computer boy in the family. I did a course of MS.DOS 6.22 (the novelty of that time) and learned to program some things with BASIC and dBase, a few years later the web appeared in Brazil and I started to make HTML sites with CGI in Perl and also to create programs with macros in MS Access 95.

I worked for some years as an instructor in basic computer courses, some jobs as a web designer, I also worked with network installation, PC building, and in 1998 I met Linux through Conectiva (A Brazilian Red Hat based distro). I got involved with Open Source and Linux and then I became sysadmin in hybrid networks with Linux and Windows NT.

Years later I joined the University of Information Systems and I graduated, during graduation I fell in love with programming and since then I have been working with software development, started some small business (in the days when we did not call it “startup”), I worked for Palm Inc. developed drivers and sales force systems for Palm OS with C, developed portals and CMS for several large companies in Brazil, taught online Python courses, worked in the Data Science team of the largest Job board in Brazil and since 2016 I have been dedicated to Quality Engineering and Test Automation at Red Hat.

Besides software and computers, I am vegetarian since I was born, and vegan for more than 15 years. I have been very active in animal rights activism movements and also in the rescue of abandoned animals (currently taking care of 32 rescued animals).

In my free time I love cooking vegan food but my favorite hobby is road cycling, I have participated in some vintage bike races with my Bianchi 1973 and my Caloi-10 1980, recently I became father of a boy, Erik is 3 months old and life has changed a little and since then my favorite hobby has been to sleep when I can.

Why did you start using Python?

In the early 2000s I was focused on bringing Linux to the desktops of the companies for which I provided SysAdmin services, Knoppix (Linux from Live CD) came out, and in Brazil I got involved with the community around the Linux distribution called Kurumin Linux. The innovation in this Linux was the so-called “Magic Icons” many written in Python and one of these icons led to an interactive tutorial on Python, that’s when I had my first contact and then I started contributing to this community.

The idea of bringing Linux to Desktops failed, but in compensation I learned Python that very soon became useful in other areas with the emergence of web frameworks like Pylons, Turbogears and Django.

Despite working with different technologies like .NET, PHP to pay the bills every day I got more involved with Python and adopted it as my preferred language for projects, around 2008 I became a core committer and one of Web2py’s most active contributors. I started organizing meetups, talking at many community events and large conferences, in 2012 I co-authored a book on web development with Python and in same year I was nominated a Fellow member of the Python Software Foundation where I still work in 2 workgroups.

Since 2008 I have worked exclusively with Python in different areas, teaching, maintaining some open-source libraries, more heavily involved in web with Django and Flask and more recently focused on automation of tests and Quality Engineering.

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

I am fluent in C, C#, Javascript, Bash, PHP, Perl, Lua, Python and currently learning Rust.

In addition to Python (of course) because it is the technology and community that has supported me for almost 15 years, if I had to choose just one language I would choose Rust because it is an innovative language, it gives me the feeling that I am doing things in the right way, it’s very challenging and everything indicates that it will have a bright future! (or rather, rusty future)

What projects are you working on now?

I created some open-source projects mostly around Flask, one of them is Flasgger (horrible name) which is an extension to create Swagger APIs. I have also created a CMS with Flask and NoSQL called Quokka CMS, and some other extensions for Flask that are currently being maintained by the community since I am not having much time available to devote myself to these projects.

The only project I actively maintain is a library called Dynaconf, it is a Python configuration manager, with extensions for Django and Flask, which aims to facilitate the management of settings dynamically with support for various file formats, environments and databases.

Professionally I work on Pulp Project, which is part of Red Hat Satellite and Ansible Galaxy. Pulp is a Django application that controls the distribution of software packages. My role is on development of Pulp-Smash a functional testing framework for exercising Pulp.

In addition I have been teaching Python and Quality Engineering, I share some stuff on CursoDePython YouTube channel (in Portuguese) and co-host the Castálio podcast.

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

Inside the standard library I greatly admire Functools and Contextlib, I really like meta programming and I have used these 2 libraries in almost all of my projects.

3rd party I would like to mention Poetry, I believe that Poetry is the “package manager” that every Pythonist has always dreamed of, and this tool needs more attention because currently it is the one that best solve the problems of dependencies and distribution.

Is there anything else you’d like to say?

I want to use this space to thank immensely all the “social developers,” people who devote their time and wisdom to creating social impact projects that are already changing the world, technology is a good source of income but the most important thing is “transformation of the world” and what still gives me energy for open-source is knowing that the little I do with open-source can somehow help social impact projects.

And last but not the least; Go Vegan!.

Thanks for doing the interview, Bruno!