August 27, 2026
An artifact for remembering my first PyCon experience!

When I started working at Microsoft last year, my two most fluent programming languages were Java and TypeScript. I only dabbled in Python for the few AI/ML courses I took in college, and I did not discover a natural aptitude for any of those subjects. But come August, I was placed in the Azure Python SDK team.
I had very little prior exposure to the platform and language side of computer science. In college, 'programming languages' was one of the few CS courses I didn't take, though I had tried my best to cram in as many as possible. My previous internships spanned topics of observability, UI/UX, manufacturing, healthcare; nothing in my past required me to deep dive a single language.
In my first months of work, I was thrown into the weeds of virtual environment and dependency weirdness, wrangling uv, sphinx, pylint, mypy, Conda, abstract syntax trees.
In May, I had the opportunity to attend PyCon 2026 to volunteer at the Microsoft/GitHub booth, since I was on a Python-specific team. This was my first tech conference experience: I arrived in Long Beach, California, and spent three days attending talks about anything from the complexities of type-checking, to distributing agents through the browser using Pyodide.



I had fun learning the different ways Python is used across the industry, and what the future direction of the language itself is. I also spent a day at the booth demoing GitHub Copilot in VSCode. I showed a Copilot-generated Wordle clone, how I leveraged agent skills and reusable prompts to create it, and how to use the PlayWright MCP to let Copilot test the webpage.
I didn't think there was much I could teach to the average attendee given I'd only worked full-time for a few months, but I had some good conversations with people who still hadn't had much exposure to coding agents at all. It was one of those, oh I actually know things, moments.


I enjoy meeting new people, and I got to do a lot of that. I met:

On day 1, I tried to visit as many company booths as possible and learn about what they were here for! I asked two questions:
This led to a lot of fun conversations. Unfortunately as I am writing this months after the fact and my notes are sparser than I hoped, I don't remember all the details. But here are some scraps:
Meta is working on open source projects like Lifeguard (identifies incompatibilities for using lazy imports, introduced by PEP 810) and Pyrefly (a fast type checker and language server for Python). They have their own fork of Python that they've been maintaining for years.
Codspeed - a testing platform for measuring and optimizing code speed and resource usage during development.
Temporal - durable execution platform simplifying developing distributed applications. The person I talked to said for the past two months he had just been working on a hardware badge for their company's conference! You could play games on it like flappy bird. Very cool.
Vercel - they demoed their agent SDK. Someone said Python is difficult to work with because it's an interpreted and dynamic language - "you never know what you're looking at."
Zyte - one API for web scraping. This is challenging because websites are constantly changing.
On day 2, I actually had the chance to attend some panels. Here are more scraps of notes I jotted down:
Static typechecking: there is a gap when older code can't be easily typed, e.g. heterogeneous collections (multiple types in the same collection) - misinterpreting the API can cause strange downstream errors. Code working with data frames is mostly untyped. Dynamic logic is difficult to type check - can sometimes use narrowing (static type checker infers a more specific type within a code block based on runtime conditional checks). I learned what 'duck typing' is - "if it walks like a duck and it sounds like a duck, it's probably a duck." (lol. Developers are funny. Reminds me - PyO3, a Rust library which allows you to write and compile Rust functions and import them into Python, used 'O3' because Rust is a language named after corroded oxides)
Asyncio: talked about how people 'reach for DSLs too early' when they can just use Asyncio in the stdlib.
Free threaded Python: talked about efforts to remove the GIL (global interpreter lock) and the challenges. The GIL limits thread usefulness. Without it, multi-thread solutions offer higher throughput, lower memory use, and lower latency. Removing it is hard because in Python, everything is a shared mutable object (reference counting makes everything mutable data). The C API relied on the GIL. Dicts and lists are everywhere, and any change to the performance of those has massive impact. Long term goal is to make free threading the only option in Python.
Hardware talk: NumPy contains pure C functions, and is faster because there's no translation overhead. In CPU, work is done implicitly. In GPU, you explicitly specify when data should be moved. GPUs optimize for high throughput, while CPUs minimize latency. GPUs have significantly more threads. Parallel algorithms reveal the limits of floating point (can't expect equivalence). There is only determinism within a single run.
"4 <insert ways company wronged me>. 3 <insert things I did for this company>. 2. 2 weeks notice." 💀

