This week we welcome Patrick Loeber (@python_engineer) as our PyDev of the Week! Paticks runs a popular Python YouTube channel that covers Python basics, machine learning, and more! You can learn more about Patrick over on his website or support his work on Patreon.
Let’s spend some time getting to know Patrick better!
Can you tell us a little about yourself (hobbies, education, etc):
I’m a Software Engineer from Germany with a strong interest in Computer Vision and Machine Learning applications.
I have a master’s degree in Medical Engineering, which is a mix of Mechanical Engineering, Electrical Engineering, Computer Science, and a little bit of Medicine. I actually wrote my first line of code only very late into the degree, but I enjoyed it so much that I focused on programming and then specialized in Medical Image Processing and Machine Learning. Now I’m working full-time as a Software Engineer for a company in the healthcare industry.
In my free time I like to do all kinds of sports, especially running, bodyweight fitness, and soccer. And of course, I would never reject an invitation to go grab one of our famous German beers ;).
Why did you start using Python?
I did not learn Python at university, but I worked part-time as a working student during this time. The company used Python to develop GUIs and also for prototype applications where Python served as a wrapper around image processing algorithms written in C++. So I taught myself Python on this job with free online resources and immediately fell in love 🙂
What other programming languages do you know and which is your favorite?
I also taught myself Swift with an online course and even published a simple TODO app to the Appstore.
The first languages I learned at university were Matlab (if this can be considered as a programming language) and Java. But I don’t use them anymore.
From all of them, Python is still my favorite. But I also have a strong interest in learning Julia, Go, or Rust next.
What projects are you working on now?
I’m currently trying to learn more about audio data. I am more experienced in working with image data, but audio processing, e.g., for speech recognition and speech-to-text conversions is extremely interesting, too.
To get started I selected a fun project where I try to build a small game that can be controlled with voice commands.
I’m also working on a new series for my YouTube channel where I teach how to build a full-blown web app with FastAPI. Ever since I tried it I am a big fan of this web framework. It’s still pretty new but already very popular, and I think its popularity will increase even more in the near future.
Which Python libraries are your favorite (core or 3rd party)?
I like all the base libraries needed for Machine Learning and Data Science: numpy, pandas, scikit-learn, PyTorch, and TensorFlow. They are all amazing and in my opinion the main reason why Python is so popular in the Machine Learning world. I can’t imagine how we could get the job done without them.
My favorite core module is probably the collections module. It implements a lot of helpful container datatypes like deque, namedtuple, defaultdict, and Counter. I find myself using them quite a lot.
What made you decide to teach Python and Machine Learning on YouTube?
One big reason was to teach myself new stuff. I’ve heard many times that teaching is the best way to learn, so I wanted to give it a shot. Now I can say this is true! For example, I have never worked with PyTorch before and wanted to learn it, so I created a full video series for it. This is now the most popular video course on my channel, and I can confidently say that I’m an experienced PyTorch user.
Another reason was to help others get into Machine Learning. I’m very passionate about it and I know not all people have the ability to receive the education I had. So I wanted to share my knowledge and teach what I know.
What are the top three things you have learned creating content on YouTube?
1. How to edit videos. Believe it or not, but I edited my first 40 or so videos with a Python script. I even made a video on my channel where I explain my process. It can speed up certain workflows, but it’s also kinda boring and the features you can use are limited. So at some point I learned how to properly use a video editing software.
2. How to deal with criticism (99% of the comments I get is positive, but you know how the internet can be 😉 )
3. How to talk to a camera. My first videos were Screencasts only, but after a year I’ve started using a camera, too. Looking back at old videos, I think I improved a lot in presenting the content.
Is there anything else you’d like to say?
Thank you for having me on your blog! The Python community is awesome and I’m always happy to meet new people! If you want to connect you can find me on Twitter @python_engineer, and of course I’m also happy if you check out my channel!
Thanks for doing the interview, Patrick!