This week we welcome Miguel Grinberg (@miguelgrinberg) as our PyDev of the Week! Miguel is the author of Flask Web Development and the very popular Flask Mega-Tutorial. You can find out more about Miguel by checking out his blog or his Github profile. Let’s spend some time getting to know Miguel better!
Can you tell us a little about yourself (hobbies, education, etc):
I was born in Buenos Aires, Argentina. Shortly after graduating from college with a Masters degree in Computer Science I was lucky to be offered a job in the United States, so I relocated to Portland, Oregon with my wife. We raised a family there and lived happily for several years. In 2018 we relocated once again, this time to Ireland. We plan to spend a few years on this side of the pond to be closer to my wife’s family and to be able to travel through Europe, but Portland is still our home and I’m pretty sure we will eventually return to America.
In terms of hobbies I have to say that by all standards I’m a fairly boring person. Outside of coding (which I do professionally and also as a hobby), what I enjoy the most is playing the Ukulele. I have a small collection of them, and I have recently expanded it with a Mandolin, which seemed appropriate now that I’m in Ireland. Everyone here seems to be in a band of some sort, so maybe one day I’ll join one as well, who knows!
Why did you start using Python?
This was around 2008 or 2009, I think. I was working at a company in which my team maintained a large library written in C++ that was used by several products, both internal and from partners. This was a big company, with a proper Quality Assurance department, but the QA engineers complained that they did not have an easy way to test our library, since it was C++ code. We had a homegrown unit testing suite written in a combination of bash, make, C++ and diff that was painful to maintain, and that was it in terms of testing. So I came up with the idea of creating bindings for our library in a scripting language that our QA people felt comfortable using. After a survey, the two contenders were Python and Ruby. At the time I knew very little about Python, and I had some knowledge of Ruby, so funny enough my personal choice would have been Ruby. But as it happens, one of the engineers in my team was actually very experienced in Python from a previous job, so strategically we thought it would be to our advantage to go with Python because we had an expert in the team. So I have to thank my teammate for getting me into Python!
I always approach the learning of new things through personal projects, so as soon as the decision to go with Python was made I started to play with the language at home just for fun. A few years after my initial introduction to the language I was thinking in starting a software blog and was having trouble finding a blogging platform that I liked, so I’ve got the idea of writing my own blog. By then the Python bindings we created at work were a success and Python had won me over 100%. So I naturally decided to use a Python web framework to make my blog, and looking through the available options I finally selected this minimalistic framework that at the time wasn’t that popular, called Flask. That turned out to be one of the best decisions I’ve made in my life.
Thanks for doing the interview, Miguel!