PyDev of the Week: Bob Belderbos

This week we welcome Bob Belderbos (@bbelderbos) as our PyDev of the Week! Bob is a co-founder of PyBites. Bob has also contributed to Real Python and he’s a Talk Python trainer. You can learn more about Bob by checking out his website or visiting his Github profile. Let’s spend some quality time getting to know Bob better!

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

I am a software developer currently working at Oracle in the Global Construction Engineering group. But I am probably better known as co-founder of PyBites, a community that masters Python through code challenges.

I have a business economics background. After finishing my studies in 2004 though, I migrated from Holland to Spain and started working in the IT industry. I got fired up about programming. I taught myself web design and coding and started living my biggest passion: automate the boring stuff making other people’s lives easier.

When not coding I love spending time with my family (dad of 2), working out, reading books and (if time allows one day) would love to pick up painting and Italian again 🙂

Why did you start using Python?

Back at Sun Microsystems I built a suite of support tools to diagnose server faults. I went from shell scripting to Perl but it quickly became a maintenance nightmare. Enter Python. After getting used to the required indenting, I fell in love with Python. I was amazed how much happier it made me as a developer (Eric Raymond’s Why Python? really resonated with me).

Since then I never looked back. Even if I’d like to, now with PyBites it’s even harder to seriously invest in other languages (more on this later).

 

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

I started my software journey building websites using PHP and MySQL. I taught myself a good foundation of HTML and CSS which serves me to this day.

As a web developer, it’s important to know JavaScript, it powers most of the web! It definitely is not Python but the more I use it the more I come to appreciate the language. Lastly I learned some Java years ago but did not find a use case except writing an Android game. I am fortunate to be able to use Python for almost all my work these days and it’s by far my favorite programming language.

 

What projects are you working on now?

Almost all my free time goes towards PyBites and in particular our CodeChalleng.es platform. We rolled out a lot of exciting features lately: learning paths, Newbie Bites (our exercises are called Bites) and flake8/black.

The platform is built using Django and it uses AWS Lambda for code execution. You can listen to me talking about the stack here.

Apart from platform dev, there are the actual Bite exercises (currently 229). I enjoy adding new ones (myself or working with our Bite authors), and helping people with their code.

Altogether we now have a great ecosystem which allows us to teach (and learn) more Python every day. This is enormously satisfying!

 

What’s the origin story for PyBites? 

Julian and myself, after years of friendship and brainstorming, literally said one day: if we want to make an impact, we need to start a project of some kind, get ourselves out there.

The subject turned out to be Python: I wanted to improve my skills and Julian wanted to learn Python programming from scratch. This difference in (initial) skill level added a nice dynamic to it.

We started our pybit.es blog where we shared what we learned every single week. As we learned from The Compound Effect: To up your chances of success, get a success buddy, someone who’ll keep you accountable as you cement your new habit while you return the favor – this really worked in our favor!

One thing stood out for us: to learn to code you need to write a lot of code. Around the same time we heard about a fun experiment Noah Kagan was doing: the coffee challenge. This led to our blog code challenges which ultimately led to our #100DaysOfCode journey (and course) and our CodeChalleng.es platform.

 

What kinds of challenges did you face with the project?

We had to learn how to balance work and family life. Doing this alongside a full-time job meant a great personal time investment. You have to organize, think about scale and delegate things to not get overwhelmed / burned out.

Which leads to the second challenge we had: learning about the marketing/ business side. Build it and they will come… well not exactly! A great challenge is to build mechanisms to get feedback and iterate quickly (kaizen) to make a product people actually want/need.

 

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

In the standard library there are a lot of gems which I get to use at work or on our platform. Some favorites: collections (namedtuple/ defaultdict/ Counter), itertools, re and datetime/ calendar.

External modules: with 200K packages on pypi, I barely used the tip of the iceberg. However there are some goto libraries: requests, feedparser, BeautifulSoup, dateutil, pandas and Django of course.

When we learn something cool we try to wrap it in one or more Bites and/or post a tip to Twitter, check out our collection and add your own here.

 

Is there anything else you’d like to say?

Thanks for having me on. I enjoy reading these interviews, what moves other developers, it’s really inspiring. Keep up the good work!

And we would not be PyBites without a call to action: as Jake VanderPlas said: Don’t set out to learn Python. Choose a problem you’re interested in and learn to solve it with Python. – visit us at CodeChalleng.es and get coding!

Thanks for doing the interview, Bob!