AMA (Ask Me Anything) with Michael
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.
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
- 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.
- Links and Tools:
- Python.org – Official Python website
- Virtualenv & venv – Built-in environment management
- Links and Tools:
- 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.
- Links and Tools:
- 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.
- Links and Tools:
- Packaging and Environments (Pip, Conda, Poetry, PEX)
Python packaging can seem fragmented, but each solution suits different needs. Michael notes that
venv
pluspip
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.- Links and Tools:
- 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.
- Links and Tools:
- 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.- Links and Tools:
- 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.
- Links and Tools:
- 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.
- Links and Tools:
- 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.
- Links and Tools:
- 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.
- Links and Tools:
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:
- Python for Absolute Beginners: A complete primer for those starting their Python journey.
- Getting started with pytest: Dive deeper into testing frameworks and best practices.
- Modern APIs with FastAPI and Python: Explore async programming and type hints for building lightning-fast APIs.
- Data Science Jumpstart with 10 Projects: If data processing and analysis interests you, this course provides a strong foundation.
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
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