This week we welcome Daniel Gaspar as our PyDev of the Week! Daniel is the co-author of Mastering Flask Web Development. If you would like to see what else Daniel has been up to, you should check out his GitHub profile.
Let’s spend some time getting to know Daniel better!
Can you tell us a little about yourself (hobbies, education, etc):
I’m from Portugal and live near Lisbon, Husband, and father of two beautiful, smart kids.
Love playing guitar and making music. Just like playing and singing songs on my acoustic or making original ones with my old Fender and a DAW.
I also love gardening and Scuba diving.
I started coding out of curiosity at a very young age (~10 year old) making my own games on a ZX Spectrum using ASM or BASIC.
I have a college degree in computer science. Creator of Flask-AppBuilder, co-author of Mastering Flask Web Development, and an Apache Superset PMC member.
I’ve been an open-source enthusiast and contributor since 2013.
Why did you start using Python?
I was using Perl for lots of automation procedures, and honestly, I hated it, python was an obvious new language to learn.
Python impressed me for its readability, flexibility, and reflection capabilities.
Obviously, the huge amount of available packages made it very attractive and extremely productive in a very short time period.
Then began to use it for web development also first with Django later with Flask. I really like the way the language has evolved with python 3, mainly with type annotations.
What other programming languages do you know and which is your favorite?
In my teens self taught BASIC, Assembler and Pascal. Learned lots of interesting languages in college like C, C++, Smalltalk, Caml, PROLOG.
Professionally worked with VS BASIC, PL/SQL, Java, Perl, Javascript, TypeScript, PHP, Ruby, Python, and even PROLOG for writing alert rules for an IBM system.
Most interesting PROLOG loved the automatic backtracking, but I really enjoy Java, Python and TypeScript.
What projects are you working on now?
Currently working at Preset, a cloud SaaS for Apache Superset with the creator itself Max Beauchemin as the CEO.
Recently I’ve been involved in extending Superset to support a multi-tenant configuration, so we are supporting multiple deploys that will serve multiple client contexts in a single-tenant database architecture.
I’m actively working on Apache Superset, maintaining Flask-AppBuilder and a python elasticsearch SQLAlchemy dialect for Elasticsearch named elasticsearch-dbapi.
Which Python libraries are your favorite (core or 3rd party)?
Core, collections, itertools and functools are awesome. 3rd Party obviously Flask (great API), pytest (great fixtures), requests
(really useful) and SQLAlchemy.
How did you end up writing a book on Flask?
Flask-AppBuilder got a lot of interest, and probably because of it I got the invite.
Do you have any tips for people who want to get into book or blog writing?
Writing a book is a lot of work, and a technical book demands lots of detail. I found that having a detailed index with categories, subcategories as well as having side notes for each one of them helped a lot in organizing and collecting ideas.
Focus is very important, I found it easy to get sidetracked into details or de-railing into other subjects.
I also found it useful to set a general tone, writing is not the same as talking obviously, and a book is much longer than a technical paper or Spike. At the very least it will take several months to finish.
You should also take into consideration the technical level the book targets, beginners, intermediate, advanced or a mix.
Is there anything else you’d like to say?
Thank you for inviting me, and the great work you have done with the community.
Also would like to say that, It’s a blessing to be able to work on something you love to do. It certainly demands continuous learning and you may have to reinvent yourself from time to time. That can be stressful, so, I feel that it’s very important to be confident, patient, and embrace change.
Passion and curiosity can drive you to new ideas, the huge and impossible can be split to little chunks. Side projects are great to test out-of-the-box ideas (or just new tech) open-source them please!
Thanks for doing the interview, Daniel!