Python is my favorite programming language. It is simple yet powerful, crisp yet comprehensive, flexible yet structured – “Pythonic“. I once heard at a conference, “Python is a magical tool that easily lets you solve the world’s toughest problems.” I believe Python is one of the best languages for test automation, and I also develop websites using the Django framework. I’m definitely a Pythonista and a Pythoneer. I was even featured as the PyDev of the Week on DZone!


These days, it is best to use Python 3. Packages can easily be installed and managed using pipenv, which is porcelain on top of pip, Pipfile, and virtualenv. I recommend using JetBrains PyCharm for developing Python code. The free Community Edition will likely meet most of your needs (even for Django projects). Udacity, Codecademy, and all offer great online courses in Python for free. Arcade Academy teaches beginners how to program with Python by making games. Python Programming on Wikibooks is another excellent free resource for learning Python. If you’re interested in ethical hacking, read this guide from Comparitech. Check out Speaking Pythonese to learn key terms used by the community.

Python Testing 101

Python Testing 101 is my series on Python test automation. See Why Python is Great for Test Automation.


Django is a well-designed, batteries-included Python web framework. Anyone who knows Python can learn it easily (even those with little to no web dev experience), and its documentation and tutorials are great. Django also automatically provides a powerful admin interface for easy site maintenance. As a framework, its power is primarily on the backend, but it can easily integrate with frontend frameworks like Angular. The Django REST Framework makes it easy to create REST API endpoints, too. Django projects can be seamlessly deployed to Heroku.

Conferences and Meet-Ups

I love being part of the Python community. Check out my Speaking page to see my talks and reflections.

PyCon Andy 1
Andy at PyCon 2018!