Learn Python with Talk Python's 270 hours of courses

AMA (Ask Me Anything) with Michael

Episode #310, published Fri, Apr 2, 2021, recorded Wed, Mar 31, 2021

The tables have turned and this time I'm the guest and you all are the hosts. I get a ton of questions over email and twitter asking me about my thoughts on various trends, tools, and behind the scenes questions around Talk Python. So I've enlisted two listeners who are up for hosting a conversation and taking questions from you all.

Thank you to Patrik Hlobil and Kim van Wyk who guest host this episode where I answer a bunch of audience questions in this ask my anything.

Watch this episode on YouTube
Play on YouTube
Watch the live stream version

Episode Deep Dive

Guests Introduction and Background

Michael Kennedy: Founder and host of Talk Python To Me, as well as an experienced Python developer, trainer, and entrepreneur. For this special AMA, the tables are turned and Michael answers questions from the audience about Python, his show, tools, and behind-the-scenes stories.

Patrick (Germany): A data engineer who began his coding journey during his physics studies and later moved into data analysis and data engineering with Python. He shares insights on big data, PySpark, and automating workflows with Python.

Kim (South Africa): An electronic engineer by training, turned full-time Python developer focusing on DevOps, process automation, and infrastructure as code. Kim has worked with embedded programming (C, low-level), and now lives in the Pythonic world for day-to-day software development.


What to Know If You're New to Python

This AMA offers a wide range of Python topics, from quick scripts to full-blown web frameworks. If you’re relatively new to Python, here are a few things to keep in mind:

  • Python has great tools for both beginners (simple syntax, powerful standard library) and experienced developers (async features, type hints).
  • f-strings (f"{variable=}") make string formatting more readable and are often cited as a reason to upgrade from Python 2 or older versions of Python 3.
  • Virtual environments (built-in venv or other tools) are essential for isolating and managing project dependencies.
  • Async and advanced features (like pattern matching coming in Python 3.10+) aren’t mandatory but open up exciting avenues for more advanced projects.

Key Points and Takeaways

  1. In-Depth Q&A on Python Tools and Tech The episode features a wide-ranging Ask-Me-Anything session covering topics like packaging, testing, deployment, and frameworks. Michael explains the motivation behind many of Python's features and why there's often more than one way to accomplish a task.
  2. Modern Web Frameworks (Flask, FastAPI, Django, Pyramid) Michael and the guest hosts highlight the strengths of popular Python web frameworks. FastAPI’s async capabilities and type hints are a major draw for new projects, while Flask remains a lighter solution backed by an enormous ecosystem of extensions. Django and Pyramid each have loyal communities and specific advantages in established setups.
  3. Finding the Right Database (SQLite, MongoDB, Postgres, etc.) Choosing the right database depends on your app’s scale and needs. SQLite offers simplicity, minimal setup, and often suffices for small to medium internal apps. MongoDB can handle large volumes of data in a schemaless format, but relational databases like Postgres remain powerful and flexible for many projects.
  4. Packaging and Environments (Pip, Conda, Poetry, PEX) Python packaging can seem fragmented, but each solution suits different needs. Michael notes that venv plus pip often works well for web apps where you need immediate updates, while tools like Conda excel for data science on Windows or specialized environments. Poetry and PEX also solve packaging and deployment in unique ways.
  5. Small Scripts, Big Impact The conversation emphasizes how writing quick, one-off Python scripts can automate repetitive tasks like file renaming, data extraction, or structured reporting. Over time, these mini-projects help new developers pick up key Python libraries and workflows by solving real-world problems.
  6. Embracing Advanced Python Features (F-Strings, Walrus Operator, Pattern Matching) Topics like the walrus operator (:=) and the upcoming structural pattern matching (Python 3.10+) show how Python continues to evolve. F-strings remain a major highlight for readability and performance, often cited as a “killer feature” encouraging users to upgrade to newer versions.
  7. Remote Work & Global Collaboration Michael and the co-hosts discuss how remote work has become more accepted—especially since many core Python tools (like Git, GitHub, shared CI/CD pipelines) lend themselves to distributed teams. Companies that once hesitated are now actively hiring remote talent from around the globe.
  8. Testing Strategies and Trade-Offs They discuss test-driven development (TDD) versus pragmatic testing. Some prefer writing thorough tests first, while others create partial coverage to ensure reliability but not slow down rapid prototyping. The conversation highlights balancing good test coverage with the realities of deadlines and team resources.
  9. Data Science vs. Data Engineering Patrick shares how data engineering and data science go hand in hand. Data cleaning is often 90% of the job—“it’s not the grunt work, it’s the work.” Tools like PySpark, Hadoop, or Dask can make large-scale processing more manageable, especially on distributed systems.
  10. Editor Choices: VS Code, PyCharm, Emacs Choice of editor often comes down to muscle memory and specialized features. PyCharm offers robust IntelliSense for Python, while VS Code is incredibly extensible, especially with plugins like PyLance. Emacs users admit it’s “old-school,” but it excels for those deeply rooted in that ecosystem.

Interesting Quotes and Stories

Michael on Evolving from C: “I did a bunch of C programming at the beginning... I’m also really glad I don’t have to continue having that experience.”

Patrick on Data Cleaning: “It’s not the grunt work; it is the work. That’s the foundation for any meaningful machine learning.”

Kim on Remote Work: “We’re already using version control and everything’s in the cloud. Location doesn’t matter as much as it used to.”


Key Definitions and Terms

  • F-Strings: A concise string formatting syntax in Python 3.6+ that offers both readability and performance by placing variables directly in curly braces prefixed by an f.
  • Walrus Operator (:=): An operator introduced in Python 3.8 that assigns and returns a value in the same expression, helpful for cleaner loops and comprehensions.
  • Conda: An environment and package manager often used by data scientists for its ability to handle native library dependencies, particularly on Windows.
  • Flask vs. FastAPI: Flask is a minimal web framework with a massive plugin ecosystem. FastAPI leverages modern Python features (like async/await and type hints) for rapid, scalable API development.

Learning Resources

Here are a few recommended resources from Talk Python Training to help you take your next steps:


Overall Takeaway

This AMA emphasizes Python’s remarkable flexibility for projects both small and large. Whether you’re writing quick scripts to automate mundane tasks, building high-traffic APIs, or diving into big data and data science, Python’s ecosystem has matured to meet those needs. From talk of remote work to packaging and editor preferences, the conversation underscores how Python continues to expand, adapt, and welcome newcomers. If you’re looking to deepen your Python journey, the tools and communities mentioned here provide an excellent next step.

Links from the show

Patrik on Twitter: @hlobilpatrik
pandas-bokeh (Patrik's project): github.com

Kim on Twitter: @kim_vanwyk
Kim's website: kimvanwyk.co.za

YouTube Live Stream Recording: youtube.com
Future Talk Python Live Streams: talkpython.fm/stream/live

Highlighted packages
Click: palletsprojects.com
PyVISA: github.com
pySerial: github.com
Episode transcripts: talkpython.fm

--- Stay in touch with us ---
Subscribe to Talk Python on YouTube: youtube.com
Talk Python on Bluesky: @talkpython.fm at bsky.app
Talk Python on Mastodon: talkpython
Michael on Bluesky: @mkennedy.codes at bsky.app
Michael on Mastodon: mkennedy

Talk Python's Mastodon Michael Kennedy's Mastodon