PyDev of the Week: Benjamin Bennett Alexander

This week we welcome Benjamin Bennett Alexander (@RealBenjizo) as our PyDev of the Week! Benjamin is the author of 50 Days of Python: A Challenge a Day and Master Python Fundamentals and other books.

You can catch up with Benjamin over on Medium. Let’s spend a few moments getting to know Benjamin better!

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

My educational background is in finance. I have a master’s degree in accounting and finance. My decision to pursue a profession in finance is interesting in that it was not entirely my idea. My father is also in finance, and when I was a kid, there were times I would wake up in the middle of the night and find him on his desk still working. That made me hate accounting and finance in general. I never wanted to choose a job that required me to work all night. But as I grew older, my father sat me down and kind of convinced me that if I wanted to be financially successful, I should work in finance. Well, let’s just say I bought in on the prospect of making more money; who wouldn’t? Parents can only teach you what they know, which is why most parents who are doctors end up raising their children to be doctors, and movie stars raise their young ones to be movie stars. So I ended up majoring in finance, and I eventually worked as a financial analyst for a bank.

In terms of hobbies, lately I have taken up running and going to the gym. The transition from a sedentary lifestyle to running and lifting weights was really hard until I made it past the pain barrier. Success is always on the other side of pain. My other hobby is making music. These activities help me to unwind and recharge.

Why did you start using Python?

I started learning Python around 2016–2017. I basically wanted to build a website, but I didn’t know who to hire. At the same time, I was looking for something new to learn, so I challenged myself to learn and build a website myself. When I started learning it, it was love at first lesson. I loved it more than finance. It felt like something I should be doing. I later discovered that it takes more than learning Python to build a website. So I jumped into some JavaScript, HTML, and CSS. I ended up building a website using the Flask web framework. I bought a domain and hosted the website on PythonAnywhere. That was the beginning of my love affair with Python. Later, I ventured into machine learning and deep learning. I took a few online courses and participated in some Kaggle competitions. Learning that I could utilize Python as an analysis tool in my work as an analyst made it even more exciting.

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

I have some knowledge of R, MATLAB, and JavaScript. I also play with SQL. Going forward, I want to learn more about JavaScript. I’m very excited about R, especially for data analysis. However, Python can do everything that R can do.

What projects are you working on now?

I am currently working to finish a book on data analysis with Python that I began at the beginning of the year. The concept of this book is similar to that of my other book, 50 Days of Python. I must admit that it is taking longer than expected. I also have plans to rebuild my website, which I took down some time last year. There is also a Python and data analysis course in the pipeline, as well as an online coding school for kids and adults.

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

I now spend a lot of time working with data, so my go-to libraries include pandas, NumPy, Matplotlib, Seaborn, etc. Additionally, I relish using the pendulum module. Date and time manipulations are quite simple with this module. A built-in library that I find highly powerful and that is undoubtedly one of the most significant Python libraries is the itertools library. I urge anyone learning or using Python to take some time to play around with this gem because there is a lot to discover and learn about it. When it comes to web frameworks, Flask is definitely my favorite.

How did you decide to become an author of technical books?

When I was in school, I had a very good history teacher. Everyone who took his class fell in love with history thanks to his engaging lessons.  Whenever he said something he deemed important, he would say, “Write it down; when you write it down, you make it permanent.” I’ve always desired to teach, but not in the traditional sense. I have always wanted to make my lessons “permanent” by either writing them down or recording them. When you teach in a traditional way, your lessons end with the ring of the bell or your retirement. My favorite teacher retired, and there are no records of his work anywhere. I guess he failed to “write” it down; he did not heed his own advice. When you create a book, your lessons have a far wider audience, and their value outlasts you. Writing is also a form of learning for me. To pour into others, I must first fill myself. Writing a book involves study, intellectual pliability, curiosity, and ongoing thought development.

What are the top three things you’ve learned writing a book?

Three things I have learned from writing books:

  1.      The writing process always takes longer than initially planned. The anticipated three months of writing can easily turn into nine months.
  2.     Get a fresh set of eyes to review your work at all times. You won’t catch your typos and blunders 90% of the time.
  3.     There will be days when it feels like an uphill struggle and days when it feels like you are riding downhill.

Is there anything else you’d like to say?

Thank you, Mike, for this opportunity. I came across your account when I first started using Python Twitter frequently, and I was amazed by the amount of effort you put in to give your audience excellent content. I appreciate you using your expertise and enthusiasm to demonstrate to us how to be successful, and I am deeply honored and glad to be a part of your weekly publication. May you be blessed abundantly.