For the past three years, I’ve had the privilege of attending the Python Conference (PyCon) in the United States. PyCon US is a yearly event where Pythonistas get together to talk and learn about Python. It’s a great place to learn, meet new fellow Python devs, and get some seriously cool swag.
The first time I attended, I quickly realized that it was more a community event than a typical conference. There were people from all over the world, from all walks of life. There were no prejudicial biases—apart from everyone knowing that Python is the best programming language out there!
Learn More: Click here to join 45,000+ Python developers on the Real Python Newsletter and get new Python tutorials and news that will make you a more effective Pythonista.
At PyCon, there are so many things you can do. The United States conference is broken up into 3 major parts:
Tutorials: A collection of classroom-like learning sessions where experts teach in depth on a particular topic
A selection of talks, ranging from 30 to 45 minutes in length, all throughout the day, submitted by members of the Python community
Keynote speakers invited by the conference organizers
A collection of 5-minute lightning talks given by any attendee who wants the spotlight (Sidenote: Docker was announced in a PyCon 2014 lightning talk.)
Sprints: A week-long event where members get to work on projects proposed by their peers
If you ever get the chance to attend a PyCon event, either in the United States or closer to where you live, I highly recommend it. Not only will you learn more about the Python language, but you’ll be able to meet with other amazing Python developers. Check out Python.org’s list of conferences to see if there are any near you.
When selecting the videos for this list, I limited myself to talks that were given at PyCon US in 2009 or later. I chose only keynote talks and talks that were 30 to 45 minutes long. I didn’t include any tutorials or lightning talks. I also tried to select videos that would stand the test of time, meaning the topics they cover will hopefully be useful for a long time for both beginners and advanced developers.
Without further ado, here’s my list of the top 10 must-watch PyCon talks.
#10: Refactoring Python: Why and How to Restructure Your Code
Brett Slatkin, PyCon 2016
Brett Slatkin is a Google engineer and the author of Effective Python. He has given many talks related to Python at both PyCon US and PyCon Montreal. In this talk, Brett takes a quick, but deep, dive into what re-factoring your code means and involves.
He also explains why refactoring your code is so important that you should spend as much—or even more—time refactoring it than actually developing it. The concepts explored in his talk are great for not only Python developers but for all software engineers.
You can find the slides to his talk here.
#9: Solve Your Problems With Sloppy Python
Larry Hastings, PyCon 2018
Larry Hastings is one of Python’s core developers and has been involved in its development since almost the beginning. He has given quite a few talks on Python at various venues, but this is the one that stands out.
In this talk, he explores when it’s okay to break “Pythonic” convention to quickly solve the problem at hand. I love this talk because it has got some great tips on how and when to break conventions as well as some other Python tricks. It’s a fun talk that is also informative.
#8: Awesome Command Line Tools
Amjith Pamaujam, PyCon 2017
Amjith Ramanujam is a Traffic Engineer at Netflix and creator of PGCLI and MYCLI, amazing interactive command line tools for Postgres and MySQL. Python developers often find themselves creating scripts or programs that require running from the command line. Amjith does a great job of exploring what makes a great command line tool by going over the design decisions made while developing these tools.
#7: Discovering Python
David Beazley, PyCon 2014
David Beazley is another Python core developer with multiple books and talks for learning about Python. I own his Python Cookbook and highly recommend it.
This talk is a little different from the others in that it doesn’t include any Python code. It’s a memoir on how he used Python to solve what would’ve been an impossible task. This talk really showcases the power of Python, a language that is easy to use and can be used to solve real-world problems.
#6: Big-O: How Code Slows as Data Grows
Ned Batchelder, PyCon 2018
Ned Batchelder is the leader of the Python Boston group and has spoken at almost every PyCon since 2009! He’s a great speaker, and I highly recommend going to any of his talks if you get the chance.
I’ve had multiple people attempt to explain what Big-O notation was and why it was important. It wasn’t until I saw Ned’s talk that I began to really grasp it. Ned does a great job of explaining it with simple examples of what Big-O means and why we, as Python developers, need to understand it.
#5: Hidden Treasures in the Standard Library
Doug Hellman, PyCon 2011
Doug Hellman is the author of the blog Python Module of the Week, which is dedicated to explaining in detail some of Python’s built-in modules. It’s a great resource, so I highly recommend that you check it out and subscribe to the feed.
This talk is the oldest in this list and is therefore a little dated in that he still uses Python 2 for the examples. However, he sheds some light on libraries that are hidden treasures and shows unique ways to use them.
You can view this talk over at PyVideo.
#4: Memory Management in Python: The Basics
Nina Zakharenko, PyCon 2016
Nina Zakharenko works for Microsoft as a Python Cloud Developer Advocate, which sounds awesome! In this PyCon 2016 talk, she explores the details of memory management within Python.
It’s common for newer Python developers to not think or care about memory management since it is handled somewhat “automagically.” But it can actually be crucial to know the basics of what is happening behind the scenes so you can learn how to write more efficient code. Nina provides us with a great start to learning these concepts.
#3: All Your Ducks in a Row: Data Structures in the Standard Library and Beyond
Brandon Rhodes, PyCon 2014
Brandon Rhodes is a Python developer at Dropbox and was the chair at PyCon 2016–2017. Whenever you want to know how data structures work, or what they do efficiently, this is the talk to view. I have it bookmarked to refer to whenever I wonder which one I should use.
#2: Beyond PEP 8: Best Practices for Beautiful Intelligible Code
Raymond Hettinger, PyCon 2015
I really could change this to “Raymond Hettinger — Any of his talks” as Raymond has a vast repertoire of great talks. But this one about going beyond PEP 8 is probably the one that is most famous and referenced most often.
Often, as Pythonistas, we get caught up in the strict rules of PEP 8 and deem anything that deviates from it to be “un-Pythonic.” Raymond instead delves into the spirit of PEP 8 and explores when it’s good to be strict about it and when it’s not.
#1: PyCon 2016 Keynote
K. Lars Lohn, PyCon 2016
A hippie biker plays the oboe and teaches life lessons using computer algorithms.
In case that hasn’t catch your attention, he also received a standing ovation at the end of his talk, which I haven’t seen happen since. I had the pleasure of personally attending this talk, which is the epitome of what the Python community is all about: unity, inclusion, and the love of solving complex problems. When I first started putting together this list, this talk immediately came to mind as the one that should be #1.
There it is, my curated list of the must-watch PyCon videos. Comment below with your favorite talks from PyCon US or other PyCons from around the world. Happy Pythoning!